public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Vasily Averin <vvs@sw.ru>
To: Andrew Morton <akpm@osdl.org>, Matthew Wilcox <willy@debian.org>
Cc: Andy Whitcroft <apw@shadowen.org>,
	reiserfs-dev@namesys.com, linux-kernel@vger.kernel.org,
	reiserfs-list@namesys.com
Subject: Re: 2.6.19-rc4-mm2 -- reiserfs umount panic
Date: Mon, 06 Nov 2006 14:05:17 +0300	[thread overview]
Message-ID: <454F16ED.7060204@sw.ru> (raw)
In-Reply-To: <20061103110210.08169843.akpm@osdl.org>

Matthew,
4 years ago you have patched the Locking document and changed the BKL rule for
remount_fs()

# ChangeSet
#   2003/08/21 00:28:27-07:00 akpm@osdl.org
#   [PATCH] update Documentation/filesystems/Locking
#   From: Matthew Wilcox <willy@debian.org>

locking rules:
 	All may block.
-		BKL	s_lock	mount_sem
-remount_fs:	yes	yes	maybe		(see below)
+			BKL	s_lock	s_umount
+remount_fs:		no	yes	maybe		(see below)

As far as I understand it was a misprint, de-facto BKL is required at least for
reiserfs, where is a long-lived check. Also I've found that currently
remount_fs() is called only from do_remount_sb(), which is called with taken BKL
in all cases:
- do_umount() and do_emergency_remount() acquires BKL directly;
- do_remount() which called from do_mount() with taken BKL;
- get_sb_single() which called from .get_sb() and should have BKL too

If you have not any objections I would like to fix this issue by the patch from
the following letter.

thank you,
	Vasily Averin

Andrew Morton wrote:
> On Fri, 03 Nov 2006 15:08:06 +0000
> Andy Whitcroft <apw@shadowen.org> wrote:
> 
>> Just happened to be watching a console of a test box when it was
>> performing a post job reboot and caught the following panic.  This
>> specific machine is a ppc64.  Sadly these are not part of the job.
>>
>> /me considers how we could fix that.  Perhaps we could just shove a
>> plain reboot at the end of one of the jobs ... hmmm.
>>
>> -apw
>>
>> REISERFS: panic (device sda3): journal_begin called without kernel lock held
>> kernel BUG in reiserfs_panic at fs/reiserfs/prints.c:361!
>> Oops: Exception in kernel mode, sig: 5 [#1]
>> SMP NR_CPUS=32 NUMA
>> Modules linked in:
>> NIP: C000000000125A60 LR: C000000000125A5C CTR: 00000000000D0274
>> REGS: c00000076e693640 TRAP: 0700   Not tainted  (2.6.19-rc4-mm2-autokern1)
>> MSR: 8000000000029032 <EE,ME,IR,DR>  CR: 22008424  XER: 00000000
>> TASK = c00000003fb68250[16416] 'umount' THREAD: c00000076e690000 CPU: 2
>> GPR00: C000000000125A5C C00000076E6938C0 C0000000006662E8 0000000000000050
>> GPR04: 0000000000000000 FFFFFFFFFFFFFFFF 656C206C6F636B20 68656C640D0A726E
>> GPR08: 0000000000000000 C00000000054EAB8 C00000000068F810 C00000000068F808
>> GPR12: 00000000000D0274 C000000000545500 0000000000000000 0000000000000000
>> GPR16: 00000000100A7D10 00000000100A94E0 0000000010070000 0000000000000000
>> GPR20: 0000000010010000 00000000FFFFFFFF 0000000010019218 0000000000000000
>> GPR24: 0000000000000000 000000000000000A C00000076E693BC0 000000000000000A
>> GPR28: C000000000518800 C00000076E693BC0 C000000000579080 C000000000518800
>> NIP [C000000000125A60] .reiserfs_panic+0x6c/0x90
>> LR [C000000000125A5C] .reiserfs_panic+0x68/0x90
>> Call Trace:
>> [C00000076E6938C0] [C000000000125A5C] .reiserfs_panic+0x68/0x90 (unreliable)
>> [C00000076E693940] [C000000000134A38] .reiserfs_check_lock_depth+0x30/0x48
>> [C00000076E6939C0] [C00000000013A654] .do_journal_begin_r+0x58/0x434
>> [C00000076E693AB0] [C00000000013AC54] .journal_begin+0x108/0x170
>> [C00000076E693B50] [C000000000123130] .reiserfs_remount+0x194/0x460
>> [C00000076E693C50] [C0000000000B47D0] .do_remount_sb+0x1a8/0x224
>> [C00000076E693CF0] [C0000000000D0E98] .sys_umount+0x19c/0x2a0
>> [C00000076E693E30] [C00000000000872C] syscall_exit+0x0/0x40
> 
> That thump you heard was the sound of
> vfs-bkl-is-not-required-for-remount_fs.patch getting dropped.  Thanks.


  reply	other threads:[~2006-11-06 11:07 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-11-02  7:54 2.6.19-rc4-mm2 Andrew Morton
2006-11-02  9:05 ` [patch -mm] s390: pagefault_disable/enable build fix Heiko Carstens
2006-11-02  9:11   ` Peter Zijlstra
2006-11-02 23:27 ` 2.6.19-rc4-mm2 [PATCH] acpi unsused variable cleanup Mariusz Kozlowski
2006-11-03 15:08 ` 2.6.19-rc4-mm2 -- reiserfs umount panic Andy Whitcroft
2006-11-03 19:02   ` Andrew Morton
2006-11-06 11:05     ` Vasily Averin [this message]
2006-11-06 11:08       ` [PATCH 2.6.19-rc4] Documentation: remount_fs() needs lock_kernel Vasily Averin
2006-11-03 21:42 ` 2.6.19-rc4-mm2 Andrew James Wade
2006-11-03 21:51   ` 2.6.19-rc4-mm2 Andrew Morton
2006-11-04 20:20 ` 2.6.19-rc4-mm2 Mariusz Kozlowski
2006-11-06 18:35 ` [PATCH] s390 need definitions for pagefault_disable and pagefault_enable Andy Whitcroft
2006-11-07  8:13   ` Heiko Carstens
2006-11-07 10:09     ` Andy Whitcroft
2006-11-07 10:13       ` Heiko Carstens
2006-11-07 10:36         ` Andy Whitcroft

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=454F16ED.7060204@sw.ru \
    --to=vvs@sw.ru \
    --cc=akpm@osdl.org \
    --cc=apw@shadowen.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=reiserfs-dev@namesys.com \
    --cc=reiserfs-list@namesys.com \
    --cc=willy@debian.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox