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

From: Jens Axboe
Date: Thu Aug 05 2010 - 05:02:57 EST


On 2010-08-04 17:59, Tejun Heo wrote:
> 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@xxxxxxxxxx>
> Reported-by: Markus Trippelsdorf <markus@xxxxxxxxxxxxxxx>
> Cc: stable@xxxxxxxxxx

Thanks Tejun, applied.

--
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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/