From 2a3673230ed7781445c6eb9a1a86c93857e94d80 Mon Sep 17 00:00:00 2001 From: Chas Williams Date: Thu, 18 Aug 2005 05:12:59 +0000 Subject: [PATCH] STABLE14-linux-inactive-in-place-of-remunlink-20050818 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 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c index 6f2166001..fc5e8fa3b 100644 --- a/src/afs/LINUX/osi_vnodeops.c +++ b/src/afs/LINUX/osi_vnodeops.c @@ -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; -- 2.39.5