]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
linux-vcache-extra-ref-unneeded-20060126
authorChas Williams <chas@cmf.nrl.navy.mil>
Thu, 26 Jan 2006 18:55:18 +0000 (18:55 +0000)
committerDerrick Brashear <shadow@dementia.org>
Thu, 26 Jan 2006 18:55:18 +0000 (18:55 +0000)
FIXES 25829

the dynamic/system inode version of the linux client already keeps an
extra reference when the inode is on the vcache list. the inode/vnode
should not go away while we are trying to flush the dcache children.

src/afs/afs_vcache.c

index e67dfe7e735a6ec3bd5e393d2b5b7ed4264000ea..137c6bf5d24fce4ba1af8cfc79c18b54ad2cdfa6 100644 (file)
@@ -679,7 +679,6 @@ afs_NewVCache(struct VenusFid *afid, struct server *serverp)
            if (tvc != afs_globalVp && VREFCOUNT(tvc) > 1 && tvc->opens == 0) {
                 struct dentry *dentry;
                 struct list_head *cur, *head;
-                AFS_FAST_HOLD(tvc);
                 AFS_GUNLOCK();
 #if defined(AFS_LINUX24_ENV)
                 spin_lock(&dcache_lock);
@@ -715,7 +714,6 @@ restart:
 #endif
            inuse:
                AFS_GLOCK();
-               AFS_FAST_RELE(tvc);
            }
 #endif