reorder vcache references in discondiscardallshadows

reset the vcache before we (nominally, it's still under a lock)
discard it. remove superfluous shadow clearing.

Caught by Simon Wilkinson

Change-Id: I55b91fa4f2f92a8b6fd1f8117c2448f7a7d1d98a
Reviewed-on: http://gerrit.openafs.org/2512
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
This commit is contained in:
Derrick Brashear 2010-08-04 09:02:54 -04:00
parent 85e29294ee
commit 6d0b97c7ac

View File

@ -1312,13 +1312,11 @@ afs_DisconDiscardAllShadows(int squash, afs_ucred_t *acred)
ReleaseWriteLock(&afs_disconDirtyLock); ReleaseWriteLock(&afs_disconDirtyLock);
ObtainWriteLock(&tvc->lock, 706); ObtainWriteLock(&tvc->lock, 706);
afs_DeleteShadowDir(tvc);
tvc->f.shadow.vnode = 0;
tvc->f.shadow.unique = 0;
if (squash) if (squash)
afs_ResetVCache(tvc, acred); afs_ResetVCache(tvc, acred);
afs_DeleteShadowDir(tvc);
ReleaseWriteLock(&tvc->lock); ReleaseWriteLock(&tvc->lock);
ObtainWriteLock(&afs_disconDirtyLock, 709); ObtainWriteLock(&afs_disconDirtyLock, 709);
} /* while (tvc) */ } /* while (tvc) */