From: Derrick Brashear Date: Wed, 4 Aug 2010 13:02:54 +0000 (-0400) Subject: reorder vcache references in discondiscardallshadows X-Git-Tag: openafs-devel-1_5_76~40 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=6d0b97c7ac89219c0b708d1afbd4d7b8c8ec717d;p=packages%2Fo%2Fopenafs.git 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 --- diff --git a/src/afs/afs_disconnected.c b/src/afs/afs_disconnected.c index 46a665c9d..ff5e978aa 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) */