From 6d0b97c7ac89219c0b708d1afbd4d7b8c8ec717d Mon Sep 17 00:00:00 2001 From: Derrick Brashear Date: Wed, 4 Aug 2010 09:02:54 -0400 Subject: [PATCH] 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 Tested-by: Derrick Brashear --- src/afs/afs_disconnected.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/afs/afs_disconnected.c b/src/afs/afs_disconnected.c index 46a665c9d1..ff5e978aa9 100644 --- a/src/afs/afs_disconnected.c +++ b/src/afs/afs_disconnected.c @@ -1312,13 +1312,11 @@ afs_DisconDiscardAllShadows(int squash, afs_ucred_t *acred) ReleaseWriteLock(&afs_disconDirtyLock); ObtainWriteLock(&tvc->lock, 706); - afs_DeleteShadowDir(tvc); - tvc->f.shadow.vnode = 0; - tvc->f.shadow.unique = 0; - if (squash) afs_ResetVCache(tvc, acred); + afs_DeleteShadowDir(tvc); + ReleaseWriteLock(&tvc->lock); ObtainWriteLock(&afs_disconDirtyLock, 709); } /* while (tvc) */