From 0677b3c4aa7c73b654a964857c77bd4a1150a893 Mon Sep 17 00:00:00 2001 From: Derrick Brashear Date: Thu, 28 Jul 2005 22:11:19 +0000 Subject: [PATCH] STABLE14-vnrehash-avoid-cachecheck-change-20050618 unlocking and locking lets us race and makes cacheCheck potentially go bad --- src/vol/vnode.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/vol/vnode.c b/src/vol/vnode.c index 7f4876bbc..3e4b45df4 100644 --- a/src/vol/vnode.c +++ b/src/vol/vnode.c @@ -350,8 +350,10 @@ VAllocVnode_r(Error * ec, Volume * vp, VnodeType type) VOL_UNLOCK; ObtainWriteLock(&vnp->lock); VOL_LOCK; - if (vnp->volumePtr->cacheCheck != vnp->cacheCheck) + if (vnp->volumePtr->cacheCheck != vnp->cacheCheck) { + ReleaseWriteLock(&vnp->lock); goto vnrehash; + } } #ifdef AFS_PTHREAD_ENV vnp->writer = pthread_self(); -- 2.39.5