]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
STABLE14-linux-inactive-in-place-of-remunlink-20050818
authorChas Williams <chas@cmf.nrl.navy.mil>
Thu, 18 Aug 2005 05:12:59 +0000 (05:12 +0000)
committerDerrick Brashear <shadow@dementia.org>
Thu, 18 Aug 2005 05:12:59 +0000 (05:12 +0000)
FIXES 20912

call afs_InactiveVCache() instead of afs_remunlink()
for unlink, the "inactive" refcount is 1 now instead of 0.

(cherry picked from commit caa4c12b719763c6b35080a6e5f0beaf0d53c406)

src/afs/LINUX/osi_vnodeops.c

index 6f21660010d15cf40532a634aeb6f394109a09e5..fc5e8fa3bd0ed26c7aaad2f613a01352182d868c 100644 (file)
@@ -792,7 +792,7 @@ afs_dentry_iput(struct dentry *dp, struct inode *ip)
 
     AFS_GLOCK();
     if (vcp->states & CUnlinked)
-       (void) afs_remunlink(vcp, 1);           /* perhaps afs_InactiveVCache() instead */
+       (void) afs_InactiveVCache(vcp, NULL);
     AFS_GUNLOCK();
 
     iput(ip);
@@ -974,7 +974,7 @@ afs_linux_unlink(struct inode *dip, struct dentry *dp)
 #if defined(AFS_LINUX26_ENV)
     lock_kernel();
 #endif
-    if (((VREFCOUNT(tvc) > 0) && tvc->opens > 0)
+    if (VREFCOUNT(tvc) > 1 && tvc->opens > 0
                                && !(tvc->states & CUnlinked)) {
        struct dentry *__dp;
        char *__name;