From owner-cvs-sys Fri Jun 2 04:01:18 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id EAA21215 for cvs-sys-outgoing; Fri, 2 Jun 1995 04:01:18 -0700 Received: (from davidg@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id EAA21203 ; Fri, 2 Jun 1995 04:01:09 -0700 Date: Fri, 2 Jun 1995 04:01:09 -0700 From: David Greenman Message-Id: <199506021101.EAA21203@freefall.cdrom.com> To: CVS-commiters, cvs-sys Subject: cvs commit: src/sys/msdosfs msdosfs_vnops.c Sender: cvs-sys-owner@freebsd.org Precedence: bulk davidg 95/06/02 04:01:09 Modified: sys/msdosfs msdosfs_vnops.c Log: Don't trash the denode cache entry for the source when renaming a directory in the newparent case. For directories, the pseudo-inode number (de_dirclust, de_diroffset) is canonicalized to be (first cluster in directory, 0), so it doesn't change when directories are renamed. This was only partly handled by not doing anything for directories in reinsert(). It is hard to demonstrate bad effects of this bug. You can see an unnecessary cache miss by tracing msdosfs_hashget(). The cache entry is usually left on the wrong hash chain so it is very unlikely to match anything, and bogus cache entries go away in msdosfs_reclaim(). Submitted by: Bruce Evans