From owner-cvs-sys Mon Jun 8 21:49:32 1998 Return-Path: Received: (from daemon@localhost) by hub.freebsd.org (8.8.8/8.8.8) id VAA29130 for cvs-sys-outgoing; Mon, 8 Jun 1998 21:49:32 -0700 (PDT) (envelope-from owner-cvs-sys) Received: from parkplace.cet.co.jp (parkplace.cet.co.jp [202.32.64.1]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id VAA29103; Mon, 8 Jun 1998 21:49:02 -0700 (PDT) (envelope-from michaelh@cet.co.jp) Received: from localhost (michaelh@localhost) by parkplace.cet.co.jp (8.8.8/CET-v2.2) with SMTP id EAA16277; Tue, 9 Jun 1998 04:47:51 GMT Date: Tue, 9 Jun 1998 13:47:51 +0900 (JST) From: Michael Hancock To: Bruce Evans cc: cvs-sys@FreeBSD.ORG, julian@FreeBSD.ORG Subject: Re: cvs commit: src/sys/ufs/ufs ufs_vnops.c In-Reply-To: <199806090041.KAA11579@godzilla.zeta.org.au> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-cvs-sys@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk On Tue, 9 Jun 1998, Bruce Evans wrote: > It actually broke the (doingdirectory && newparent) case, as > shown in the example. D2's link count became -1 (if Y was the > only subdirectory in it to begin with), so it could not be > removed and it took an fsck to fix the error. That was a tough one, good job! While we're looking at rename, I should note my comment ... /* XXX - Temporarily preserve previous rele behavior */ is wrong. The code does belong there and ... /* Cleanup after VREF and relookup */ would probably be more appropriate. rename was a little hard to follow because the auto vp variables are reused and can possibly refer to entirely different things and it was expecially difficult to track exactly who was getting rele'd on all the exits. I'll fix this when I get my head above water and can start working on this again.