]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
STABLE14-linux-dont-lock-around-inactivevcache-20061010
authorChas Williams <chas@cmf.nrl.navy.mil>
Tue, 10 Oct 2006 23:01:04 +0000 (23:01 +0000)
committerDerrick Brashear <shadow@dementia.org>
Tue, 10 Oct 2006 23:01:04 +0000 (23:01 +0000)
FIXES 42312

iafs_InactiveVCache() calls afs_InvalidateAllSegments() which says
it should be called with the vnode locked. so the lock should
probably be moved to afs_InactiveVCache() so it can be droppped
before calling afs_remunlink().

(cherry picked from commit ac52e2f3c0bec9298d020de963036409165f380e)

src/afs/LINUX/osi_vnodeops.c

index 850543bced3a7d39f975be2c10d46e370a1486e9..37bb90f58ff0920c82f9cb8a8d12903d73e90dd4 100644 (file)
@@ -821,9 +821,7 @@ afs_dentry_iput(struct dentry *dp, struct inode *ip)
     struct vcache *vcp = VTOAFS(ip);
 
     AFS_GLOCK();
-    ObtainWriteLock(&vcp->lock, 537);
     (void) afs_InactiveVCache(vcp, NULL);
-    ReleaseWriteLock(&vcp->lock);
     AFS_GUNLOCK();
 
     iput(ip);