[Unionfs] unmounting order during shutdown [was: Re: unionfs
2.2.3 OOPS]
Dave Miller
justdave at mozilla.com
Wed Jan 30 00:17:37 EST 2008
Erez Zadok wrote on 1/29/08 11:32 PM:
> I was able to reproduce the bug in question: just umount -f an nfs partition
> or umount -l any partition that's used as a lower branch, then try to umount
> unionfs's mount; you get the exact oops above. Turns out that grabbing a
> vfsmount ref isn't enough: it prevents a casual umount on a lower branch
> from succeeding, returning an EBUSY. But we also needed to grab an s_active
> reference on all lower superblocks, to prevent a forced/detached unmount
> from destroying the lower super too early. With the patch below, the lower
> super will be detached from the namespace, but it won't be destroyed until
> unionfs is mounted: unionfs_put_super will decrement the (possibly last)
> reference on the lower super, which'd then be properly destroyed.
>
> Try this patch. I quickly tried it w/ branch management, umount -l, and my
> basic regression suite. It seems to work, but I'd like to hear from both of
> you first before considering this bug fixed.
Poking around at my logs, I see that the OOPS I've been getting under
heavy usage (that I've been meaning to send you all our config so you
could reproduce it) actually matches the one we get when trying to shut
down with the unionfs still mounted (which is the one you're trying to
fix here). If this patch fixes this particular OOPS this may well solve
our whole problem. I've got it compiling now, I'll throw the load test
script at it again and let you know. :)
--
Dave Miller http://www.justdave.net/
System Administrator, Mozilla Corporation http://www.mozilla.com/
Project Leader, Bugzilla Bug Tracking System http://www.bugzilla.org/
More information about the unionfs
mailing list