From owner-freebsd-fs@FreeBSD.ORG Sun Feb 18 22:42:07 2007 Return-Path: X-Original-To: fs@freebsd.org Delivered-To: freebsd-fs@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 964D216A400; Sun, 18 Feb 2007 22:42:07 +0000 (UTC) (envelope-from joe@tao.org.uk) Received: from mailhost.tao.org.uk (transwarp.tao.org.uk [87.74.4.34]) by mx1.freebsd.org (Postfix) with ESMTP id 4349C13C46B; Sun, 18 Feb 2007 22:42:07 +0000 (UTC) (envelope-from joe@tao.org.uk) Received: from genius.tao.org.uk (wireless58.dhcp.tao.org.uk [87.74.4.58]) by mailhost.tao.org.uk (Postfix) with ESMTP id B732C5FF4; Sun, 18 Feb 2007 22:42:05 +0000 (GMT) Received: by genius.tao.org.uk (Postfix, from userid 1000) id 88FE240D4; Sun, 18 Feb 2007 22:41:58 +0000 (GMT) Date: Sun, 18 Feb 2007 22:41:58 +0000 From: Josef Karthauser To: Kostik Belousov Message-ID: <20070218224158.GA1297@genius.tao.org.uk> References: <20070204023711.GA3393@genius.tao.org.uk> <20070215135750.GR64768@obiwan.tataz.chchile.org> <20070215152259.GA2950@genius.tao.org.uk> <20070215153135.GI39168@deviant.kiev.zoral.com.ua> <20070216125007.D38234@fledge.watson.org> <20070216143656.GM39168@deviant.kiev.zoral.com.ua> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="rwEMma7ioTxnRzrJ" Content-Disposition: inline In-Reply-To: <20070216143656.GM39168@deviant.kiev.zoral.com.ua> User-Agent: Mutt/1.5.11 Cc: Jeremie Le Hen , hackers@freebsd.org, Robert Watson , fs@freebsd.org Subject: Re: nullfs and named pipes. X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 18 Feb 2007 22:42:07 -0000 --rwEMma7ioTxnRzrJ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Feb 16, 2007 at 04:36:56PM +0200, Kostik Belousov wrote: > > >> cvs diff: Diffing . > > >> Index: null_subr.c > > >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > >> RCS file: /home/ncvs/src/sys/fs/nullfs/null_subr.c,v > > >> retrieving revision 1.48.2.1 > > >> diff -u -r1.48.2.1 null_subr.c > > >> --- null_subr.c 13 Mar 2006 03:05:17 -0000 1.48.2.1 > > >> +++ null_subr.c 14 Feb 2007 00:02:28 -0000 > > >> @@ -235,6 +235,8 @@ > > >> xp->null_vnode =3D vp; > > >> xp->null_lowervp =3D lowervp; > > >> vp->v_type =3D lowervp->v_type; > > >> + if (vp->v_type =3D=3D VSOCK || vp->v_type =3D=3D VFIFO) > > >> + vp->v_un =3D lowervp->v_un; > > > > > >I'm wondering is some reference counting needed there ? > >=20 > > Yes, I find this a bit worrying also, but I don't know enough about how= =20 > > nullfs works to reason about it. What happens when a vnode in the bott= om=20 > > layer has its on-disk reference count drop to zero -- is the vnode in t= he=20 > > top layer invalidated somehow? >=20 > Vnode reclamation from lower layer cannot do anithing for corresponding n= ullfs > vnode, but that vnode has reference from nullfs vnode. > On the other hand, can forced unmount proceed for lower layer ? Does know of any reason why I can't commit this as it is, at least for now. It doesn't appear that it would break anything that works currently, and in its current form it at least fixes named pipe functionality for the kinds of cases that people would want to use it. Joe --rwEMma7ioTxnRzrJ Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.4 (FreeBSD) iEYEARECAAYFAkXY1jUACgkQXVIcjOaxUBZ65gCfbG6iHjnQ+UfbJ2y5ElcWtoUY IRsAnRsXqalOHF9kOhR/IjOtwcgudwzB =xWNT -----END PGP SIGNATURE----- --rwEMma7ioTxnRzrJ--