Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 26 Oct 1998 19:24:37 +0000 (GMT)
From:      Terry Lambert <tlambert@primenet.com>
To:        art@stacken.kth.se (Artur Grabowski)
Cc:        lha@s3.kth.se, freebsd-fs@FreeBSD.ORG, freebsd-bugs@FreeBSD.ORG, kom-arla@stacken.kth.se
Subject:   Re: deadfs in FreeBSD 3.0/current ?
Message-ID:  <199810261924.MAA15542@usr04.primenet.com>
In-Reply-To: <lubn26k66ev.fsf@pizza.stacken.kth.se> from "Artur Grabowski" at Oct 25, 98 03:51:52 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> > 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.
> 
> As a horrible workaround in OpenBSD I noted that LK_DRAIN is set in the
> VOP_LOCK call in vclean. (The code is not checked in, our tree is locked).
> And when the LK_DRAIN is set I don't do the chkvnlock().

Oh, look.  People have started trying to do real work in the VFS code,
and the first thing that rears its ugly head is a stacking layer
issue that I identified about three years ago.

As a workaround for the brain-damage in this area, look at the handling
of vnodes of type VT_TFS, since TFS handles it's own vnode pool by
severability rather than by correction of the interface bogosity.


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.

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?199810261924.MAA15542>