lkml.org 
[lkml]   [2009]   [Mar]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 2/2] loop : Don't hold the lo_ctl_mutex while fput in loop_clr_fd
On 28.4.2008 04:33, Dave Young wrote:
> On Mon, Apr 28, 2008 at 10:15 AM, Al Viro<viro@zeniv.linux.org.uk> wrote:
>> On Mon, Apr 28, 2008 at 03:13:09AM +0100, Al Viro wrote:
>> > On Mon, Apr 28, 2008 at 10:10:22AM +0800, Dave Young wrote:
>> > > [Fixing bug 10504]
>> > >
>> > > If the bakingfile is a block device file, losetuo -d will trigger lockdep
>> > > warning of "circular locking dependency".
>> > >
>> > > open/release lock order : bdev->bd_mutex ---> lo->lo_ctl_mutex
>> > > loop_clr_fd lock order : lo->lo_ctl_mutex ---> bdev->bd_mutex (fput)
>> > >
>> > > Don't hold the lo_ctl_mutex while fput in loop_clr_fd to fix it. It's safe
>> > > because all loop device state will be consistent here.
>> >
>> > Explain.
>
> Hi, Maybe I have some mis-understood, thanks for pointing out in advance.
>
> IMO the lo_ctl_mutex is for the lo->* state locking, they are all set
> to proper values before fput(filp), so I think it's safe to do that.
>
>> BTW, explain also why open() at that spot will not do interesting things
>> wrt BLKRRPART done a bit below, please.
>>
>
> open with a loop device unbound? Sorry, I don't understand. Could you
> explain a bit? Thanks

Any ideas here? Al? The bug survived almost a year...



\
 
 \ /
  Last update: 2009-03-01 10:49    [W:0.231 / U:0.336 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site