]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
DEVEL15-linux-dont-lock-around-inactivevcache-20061010
authorChas Williams <chas@cmf.nrl.navy.mil>
Tue, 10 Oct 2006 23:02:42 +0000 (23:02 +0000)
committerDerrick Brashear <shadow@dementia.org>
Tue, 10 Oct 2006 23:02:42 +0000 (23:02 +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 efccc2962b121083a7a4440ee108970683cfbf9d..3e0331df1192b55d1a01eccbd2a7cb6d92bd3e9c 100644 (file)
@@ -837,9 +837,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);