From owner-freebsd-current@FreeBSD.ORG Thu Jun 23 14:21:07 2005 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3C4F716A41C for ; Thu, 23 Jun 2005 14:21:07 +0000 (GMT) (envelope-from tataz@tataz.chchile.org) Received: from postfix3-2.free.fr (postfix3-2.free.fr [213.228.0.169]) by mx1.FreeBSD.org (Postfix) with ESMTP id 01A4443D48 for ; Thu, 23 Jun 2005 14:21:04 +0000 (GMT) (envelope-from tataz@tataz.chchile.org) Received: from tatooine.tataz.chchile.org (vol75-8-82-233-239-98.fbx.proxad.net [82.233.239.98]) by postfix3-2.free.fr (Postfix) with ESMTP id ECADDC0D4 for ; Thu, 23 Jun 2005 16:21:03 +0200 (CEST) Received: by tatooine.tataz.chchile.org (Postfix, from userid 1000) id 1C83E405B; Thu, 23 Jun 2005 16:21:17 +0200 (CEST) Date: Thu, 23 Jun 2005 16:21:17 +0200 From: Jeremie Le Hen To: freebsd-current@freebsd.org Message-ID: <20050623142117.GE738@obiwan.tataz.chchile.org> References: <20050622065357.GA694@loge.nixsys.be> <20050623083804.GV738@obiwan.tataz.chchile.org> <20050623104843.GA698@loge.nixsys.be> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20050623104843.GA698@loge.nixsys.be> User-Agent: Mutt/1.5.9i Subject: Re: Unable to umount union-parts after umounting unionfs X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Jun 2005 14:21:07 -0000 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 >