From: Chas Williams Date: Thu, 26 Jan 2006 18:55:18 +0000 (+0000) Subject: linux-vcache-extra-ref-unneeded-20060126 X-Git-Tag: openafs-devel-1_5_0~64 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=78835720e0eac5897568f0ce32cd0ec20dc4c569;p=packages%2Fo%2Fopenafs.git linux-vcache-extra-ref-unneeded-20060126 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. --- diff --git a/src/afs/afs_vcache.c b/src/afs/afs_vcache.c index e67dfe7e7..137c6bf5d 100644 --- a/src/afs/afs_vcache.c +++ b/src/afs/afs_vcache.c @@ -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