[PATCH RESEND block#for-2.6.36] block_dev: always serialize exclusive open attempts
Markus Trippelsdorf
markus at trippelsdorf.de
Thu Aug 5 02:17:04 PDT 2010
On Thu, Aug 05, 2010 at 11:02:43AM +0200, Jens Axboe wrote:
> 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 at kernel.org>
> > Reported-by: Markus Trippelsdorf <markus at trippelsdorf.de>
> > Cc: stable at kernel.org
>
> Thanks Tejun, applied.
It's already in mainline:
e75aa85892b2ee78c79edac720868cbef16e62eb
--
»A man who doesn't know he is in prison can never escape.«
William S. Burroughs
More information about the dri-devel
mailing list