From: Jeffrey Altman Date: Thu, 25 Apr 2013 15:16:11 +0000 (-0400) Subject: Windows: Reset CM_VOLUMEFLAG_RO_SIZE_VALID flag X-Git-Tag: upstream/1.8.0_pre1^2~1208 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=e11da4c5869a0534b7767e2566d4743bc7e8189e;p=packages%2Fo%2Fopenafs.git Windows: Reset CM_VOLUMEFLAG_RO_SIZE_VALID flag The CM_VOLUMEFLAG_RO_SIZE_VALID flag was being reset using the wrong field which resulted in the flag never being cleared and the correct volume size not being reported. Change-Id: Ic6cefcefcd2c0ad20ad79a98cf0603f09efabcba Reviewed-on: http://gerrit.openafs.org/9805 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman --- diff --git a/src/WINNT/afsd/cm_callback.c b/src/WINNT/afsd/cm_callback.c index a9deefa0d..644f845c5 100644 --- a/src/WINNT/afsd/cm_callback.c +++ b/src/WINNT/afsd/cm_callback.c @@ -228,7 +228,7 @@ cm_callbackDiscardROVolumeByFID(cm_fid_t *fidp) volp->cbExpiresRO = 0; volp->cbIssuedRO = 0; volp->volumeSizeRO = 0; - _InterlockedAnd(&volp->volumeSizeRO, ~CM_VOLUMEFLAG_RO_SIZE_VALID); + _InterlockedAnd(&volp->flags, ~CM_VOLUMEFLAG_RO_SIZE_VALID); if (volp->cbServerpRO) { cm_PutServer(volp->cbServerpRO); volp->cbServerpRO = NULL; diff --git a/src/WINNT/afsd/cm_volume.c b/src/WINNT/afsd/cm_volume.c index 6337775f0..00e940783 100644 --- a/src/WINNT/afsd/cm_volume.c +++ b/src/WINNT/afsd/cm_volume.c @@ -79,7 +79,7 @@ cm_ShutdownVolume(void) volp->cbIssuedRO = 0; volp->cbServerpRO = NULL; volp->volumeSizeRO = 0; - _InterlockedAnd(&volp->volumeSizeRO, ~CM_VOLUMEFLAG_RO_SIZE_VALID); + _InterlockedAnd(&volp->flags, ~CM_VOLUMEFLAG_RO_SIZE_VALID); lock_FinalizeRWLock(&volp->rw); } @@ -123,7 +123,7 @@ void cm_InitVolume(int newFile, long maxVols) volp->cbIssuedRO = 0; volp->cbServerpRO = NULL; volp->volumeSizeRO = 0; - _InterlockedAnd(&volp->volumeSizeRO, ~CM_VOLUMEFLAG_RO_SIZE_VALID); + _InterlockedAnd(&volp->flags, ~CM_VOLUMEFLAG_RO_SIZE_VALID); } } osi_EndOnce(&once);