From owner-freebsd-current Tue Oct 21 12:45:28 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id MAA05528 for current-outgoing; Tue, 21 Oct 1997 12:45:28 -0700 (PDT) (envelope-from owner-freebsd-current) Received: from critter.freebsd.dk (critter.freebsd.dk [195.8.129.26]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id MAA05521 for ; Tue, 21 Oct 1997 12:45:14 -0700 (PDT) (envelope-from phk@critter.freebsd.dk) Received: from critter.freebsd.dk (localhost.cybercity.dk [127.0.0.1]) by critter.freebsd.dk (8.8.7/8.8.7) with ESMTP id VAA00696; Tue, 21 Oct 1997 21:44:11 +0200 (CEST) To: Ollivier Robert cc: current@FreeBSD.ORG Subject: Re: nullfs & current UPDATE! In-reply-to: Your message of "Tue, 21 Oct 1997 20:38:07 +0200." <19971021203807.51847@keltia.freenix.fr> Date: Tue, 21 Oct 1997 21:44:09 +0200 Message-ID: <694.877463049@critter.freebsd.dk> From: Poul-Henning Kamp Sender: owner-freebsd-current@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk By the powers vested in us, we hereby announce that as of this _____Tir 21 Okt 1997 21:35:09 CEST____ it has been satisfied to us that the attached email fully and entirely prove to us that the insight and persistence needed for successful VFS hacking is present in the necessary amount in _____Mr Ollivier Robert _____ and therefore let it be know that he from this day on in his good right to carry the title of _____ VFS hacker ____ with all the rights, duties, priviledges and ensignia that goes with this title. Poul-Henning Kamp PS: I trust that you commit the fix yourself ? PPS: Yes, umapfs probably also needs this. PPPS: would you mind looking at unionfs or lfs next ? please ? :-) >According to Poul-Henning Kamp: >> Whatever needs to be done should probably be done in null_inactive(), >> look at sys/ufs/ufs/ufs_inode.c:ufs_inactive(). > >By using the following patch, I've been able to create and delete hundreds >of files in a nullfs mounted directory. No vnode leak as far as I can see >from the sysctl debug.numvnodes. fsck reports no missing blocks. No panic, >just works. Now that seems too easy :-) > >I know there is a comment in null_inactive() about doing nothing in there >but it seemed logical to inform the lower layer... > >PS: a similar problem is in umapfs which is based on nullfs. > >Opinions about this ? > >Index: null_vnops.c >=================================================================== >RCS file: /spare/FreeBSD-current/src/sys/miscfs/nullfs/null_vnops.c,v >retrieving revision 1.24 >diff -u -2 -r1.24 null_vnops.c >--- null_vnops.c 1997/10/15 10:04:31 1.24 >+++ null_vnops.c 1997/10/21 18:31:52 >@@ -534,4 +534,7 @@ > } */ *ap; > { >+ struct vnode *vp = ap->a_vp; >+ struct null_node *xp = VTONULL(vp); >+ struct vnode *lowervp = xp->null_lowervp; > /* > * Do nothing (and _don't_ bypass). >@@ -546,4 +549,5 @@ > * That's too much work for now. > */ >+ VOP_INACTIVE(lowervp, ap->a_p); > VOP_UNLOCK(ap->a_vp, 0, ap->a_p); > return (0); > >-- >Ollivier ROBERT -=- FreeBSD: There are no limits -=- roberto@keltia.freenix.fr >FreeBSD keltia.freenix.fr 3.0-CURRENT #41: Sat Oct 18 18:47:01 CEST 1997 -- Poul-Henning Kamp FreeBSD coreteam member phk@FreeBSD.ORG "Real hackers run -current on their laptop."