Date: Thu, 23 Jun 2005 16:21:17 +0200 From: Jeremie Le Hen <jeremie@le-hen.org> To: freebsd-current@freebsd.org Subject: Re: Unable to umount union-parts after umounting unionfs Message-ID: <20050623142117.GE738@obiwan.tataz.chchile.org> In-Reply-To: <20050623104843.GA698@loge.nixsys.be> References: <20050622065357.GA694@loge.nixsys.be> <20050623083804.GV738@obiwan.tataz.chchile.org> <20050623104843.GA698@loge.nixsys.be>
next in thread | previous in thread | raw e-mail | index | archive | help
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 >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050623142117.GE738>