afs_InactiveVCache(struct vcache *avc, struct AFS_UCRED *acred)
{
AFS_STATCNT(afs_inactive);
- ObtainWriteLock(&avc->lock, 50);
if (avc->states & CDirty) {
/* we can't keep trying to push back dirty data forever. Give up. */
afs_InvalidateAllSegments(avc); /* turns off dirty bit */
if (avc->states & CUnlinked) {
if (CheckLock(&afs_xvcache) || CheckLock(&afs_xdcache)) {
avc->states |= CUnlinkedDel;
- goto unlock;
+ return;
}
- ReleaseWriteLock(&avc->lock);
afs_remunlink(avc, 1); /* ignore any return code */
}
- return;
- unlock:
- ReleaseWriteLock(&avc->lock);
- return;
}
#endif