From owner-freebsd-fs Wed Sep 11 17:47:27 1996 Return-Path: owner-fs Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id RAA18143 for fs-outgoing; Wed, 11 Sep 1996 17:47:27 -0700 (PDT) Received: from parkplace.cet.co.jp (parkplace.cet.co.jp [202.32.64.1]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id RAA18138 for ; Wed, 11 Sep 1996 17:47:24 -0700 (PDT) Received: from localhost (michaelh@localhost) by parkplace.cet.co.jp (8.7.5/CET-v2.1) with SMTP id AAA18937; Thu, 12 Sep 1996 00:46:10 GMT Date: Thu, 12 Sep 1996 09:46:10 +0900 (JST) From: Michael Hancock To: Terry Lambert cc: freebsd-fs@freebsd.org Subject: Re: vclean (was The VIVA file system) In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-fs@freebsd.org X-Loop: FreeBSD.org Precedence: bulk > > > Yikes! I took a look below, but I didn't expect to see vgone() calls in > > > ufs_inactive(). > > > > > > if (vp->v_usecount == 0 && ip->i_mode == 0) > > > vgone(vp); > > > > > > I need to figure out what ip->i_mode == 0 means. > > > > The file type is a non-zero value in the high bits of the mode word; > > it means that the inode does not refer to real data any more. I misunderstood this for some reason. ip->ipmode is ip-i_din.di_mode so it means the file was removed. I was being stupid and thought it had to do with the state of the in-core inode. It's correct to have vgone() here to preserve the Unix unlink semantics. Regards, Mike Hancock