From: Chas Williams Date: Tue, 10 Oct 2006 22:59:10 +0000 (+0000) Subject: linux-dont-lock-around-inactivevcache-20061010 X-Git-Tag: BP-openafs-windows-kdfs-ifs~994 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=ac52e2f3c0bec9298d020de963036409165f380e;p=packages%2Fo%2Fopenafs.git linux-dont-lock-around-inactivevcache-20061010 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(). --- diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c index 41b8f14f8..2f8b77676 100644 --- a/src/afs/LINUX/osi_vnodeops.c +++ b/src/afs/LINUX/osi_vnodeops.c @@ -839,9 +839,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);