Thread (10 messages) 10 messages, 7 authors, 2010-08-05

Re: [PATCH RESEND block#for-2.6.36] block_dev: always serialize exclusive open attempts

From: Jens Axboe <hidden>
Date: 2010-08-05 09:21:05
Also in: dri-devel, linux-acpi, linux-scsi, lkml, netdev

On 2010-08-05 11:17, Markus Trippelsdorf wrote:
On Thu, Aug 05, 2010 at 11:02:43AM +0200, Jens Axboe wrote:
quoted
On 2010-08-04 17:59, Tejun Heo wrote:
quoted
bd_prepare_to_claim() incorrectly allowed multiple attempts for
exclusive open to progress in parallel if the attempting holders are
identical.  This triggered BUG_ON() as reported in the following bug.

  https://bugzilla.kernel.org/show_bug.cgi?id=16393

__bd_abort_claiming() is used to finish claiming blocks and doesn't
work if multiple openers are inside a claiming block.  Allowing
multiple parallel open attempts to continue doesn't gain anything as
those are serialized down in the call chain anyway.  Fix it by always
allowing only single open attempt in a claiming block.

This problem can easily be reproduced by adding a delay after
bd_prepare_to_claim() and attempting to mount two partitions of a
disk.

stable: only applicable to v2.6.35

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Markus Trippelsdorf <redacted>
Cc: stable@kernel.org
Thanks Tejun, applied.
It's already in mainline:
e75aa85892b2ee78c79edac720868cbef16e62eb
Irk, had not noticed yet, my for-2.6.36 branch isn't fully merged
up yet. Thanks for the heads-up.

-- 
Jens Axboe


Confidentiality Notice: This e-mail message, its contents and any attachments to it are confidential to the intended recipient, and may contain information that is privileged and/or exempt from disclosure under applicable law. If you are not the intended recipient, please immediately notify the sender and destroy the original e-mail message and any attachments (and any copies that may have been made) from your system or otherwise. Any unauthorized use, copying, disclosure or distribution of this information is strictly prohibited.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help