STABLE14-remove-vnop-lock-order-20060110

FIXES 25118

finegrained dcache lock order not obeyed


(cherry picked from commit 39b23a0dc16f2e26abf3b7df53bfadb98377748d)
This commit is contained in:
Derrick Brashear 2006-01-10 15:04:40 +00:00
parent 29a68de93b
commit 43de10c9cb

View File

@ -356,7 +356,13 @@ afs_remove(OSI_VC_ARG(adp), aname, acred)
FetchWholeEnchilada(tvc, &treq);
#endif
ReleaseWriteLock(&tvc->lock);
if (tdc)
ReleaseSharedLock(&tdc->lock);
ObtainWriteLock(&adp->lock, 144);
/* Technically I don't think we need this back, but let's hold it
anyway; The "got" reference should actually be sufficient. */
if (tdc)
ObtainSharedLock(&tdc->lock, 640);
}
osi_dnlc_remove(adp, aname, tvc);