Re: bd_mount_mutex -> bd_mount_sem (was Re: xfs_file_ioctl /xfs_freeze: BUG: warning at kernel/mutex-debug.c:80/debug_mutex_unlock())

From: Andrew Morton
Date: Mon Jan 08 2007 - 22:53:54 EST


On Mon, 08 Jan 2007 21:38:05 -0600
Eric Sandeen <sandeen@xxxxxxxxxxx> wrote:

> Andrew Morton wrote:
> > On Mon, 08 Jan 2007 21:12:40 -0600
> > Eric Sandeen <sandeen@xxxxxxxxxxx> wrote:
> >
> >> Andrew Morton wrote:
> >>> On Tue, 9 Jan 2007 10:47:28 +1100
> >>> David Chinner <dgc@xxxxxxx> wrote:
> >>>
> >>>> On Mon, Jan 08, 2007 at 10:40:54AM -0600, Eric Sandeen wrote:
> >>>>> Sami Farin wrote:
> >>>>>> On Mon, Jan 08, 2007 at 08:37:34 +1100, David Chinner wrote:
> >>>>>> ...
> >>>>>>>> fstab was there just fine after -u.
> >>>>>>> Oh, that still hasn't been fixed?
> >>>>>> Looked like it =)
> >>>>> Hm, it was proposed upstream a while ago:
> >>>>>
> >>>>> http://lkml.org/lkml/2006/9/27/137
> >>>>>
> >>>>> I guess it got lost?
> >>>> Seems like it. Andrew, did this ever get queued for merge?
> >>> Seems not. I think people were hoping that various nasties in there
> >>> would go away. We return to userspace with a kernel lock held??
> >> Is a semaphore any worse than the current mutex in this respect? At
> >> least unlocking from another thread doesn't violate semaphore rules. :)
> >
> > I assume that if we weren't returning to userspace with a lock held, this
> > mutex problem would simply go away.
> >
>
> Well nobody's asserting that the filesystem must always be locked &
> unlocked by the same thread, are they? That'd be a strange rule to
> enforce upon the userspace doing the filesystem management wouldn't it?
> Or am I thinking about this wrong...

I don't even know what code we're talking about here...

I'm under the impression that XFS will return to userspace with a
filesystem lock held, under the expectation (ie: requirement) that
userspace will later come in and release that lock.

If that's not true, then what _is_ happening in there?

If that _is_ true then, well, that sucks a bit.
-
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/