Date: Sun, 25 Oct 1998 20:49:38 +0900 (JST) From: Michael Hancock <michaelh@cet.co.jp> To: Love <lha@e.kth.se> Cc: freebsd-fs@FreeBSD.ORG, freebsd-bugs@FreeBSD.ORG, kom-arla@stacken.kth.se Subject: Re: deadfs in FreeBSD 3.0/current ? Message-ID: <Pine.BSF.3.95LJ1.1b3.981025202548.1224A-100000@sv01.cet.co.jp> In-Reply-To: <am67d87vg7.fsf@zinfandel.e.kth.se>
next in thread | previous in thread | raw e-mail | index | archive | help
On 25 Oct 1998, Love wrote: > > > kern/vfs_subr.c:vclean() does a vp->v_flag |= VXLOCK; and after that > > > "calls" VOP_LOCK(). > > > > > > Now when the filesystem is deadfs (we use it in arla[1]), the call > > > ends up in miscfs/deadfs/dead_vnops.c:dead_lock() that calls > > > chkvnlock(). Now chkvnlock() sleeps when VXLOCK is set. > > > > > > Who will wake us up ? > > > > The wakeup at the bottom of vclean()? That code also clears VXLOCK. > > But that is done *after* the tsleep, and therefor that code will *never* be > reached. Kind of hard to wake yourself up. It will hang in > miscfs/deadfs/dead_vnops.c(1.24):240 forever. Umm... Why are you using deadfs in arla? I think you're breaking an invariant if vclean is trying to clean out something that's already dead. Kinda like a double free. Regards, Mike To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.95LJ1.1b3.981025202548.1224A-100000>