Re: Unable to umount union-parts after umounting unionfs

From: Jeremie Le Hen <jeremie_at_le-hen.org>
Date: Thu, 23 Jun 2005 16:21:17 +0200
Philip,

> > Could you show us the locked vnodes for these two cases please ?
> 
> Unfortunately, 'blank' in both cases.  But that might be because I never get
> to the debugger 'while' it's unmounting, but always when it has tried and not
> succeeded.  (I have WITNESS in my kernel, if that matters?).
> 
> Is there any way I can either try to unmount the filesystem manually from the
> debugger or make the unmounting code more chatting about what it's waiting
> for?
> 
> I've had a look through the unionfs and unmount code but filesystems look like
> a maze of twisty passages in four dimensions without a map or compass nearby.

I don't think that having a snapshot of locked vnode when union_unmount()
is called would inform us further.  However, I you want to try, you just
have to drop to DDB, set a breakpoint on union_unmount()
(typing "break union_unmount") and then try the unmount (you can delete
the breakpoint by simply using "delete union_unmount").

One thing you can do is compiling your kernel with DIAGNOSTIC enabled
and set the sysctl debug.busyprt to 1.  This will print informations on
each busy vnode when you will be trying to unmount the filesystem :
%%%
    vflush: busy vnode
    0xc2a68990: tag ufs, type VDIR
        usecount 2, writecount 0, refcount 3 mountedhere 0
        flags (VV_ROOT)
     VI_LOCKed    
            ino 2, on dev md0
%%%

-- 
Jeremie Le Hen
< jeremie at le-hen dot org >< ttz at chchile dot org >
Received on Thu Jun 23 2005 - 12:21:07 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:37 UTC