Windows: cm_MergeStatus use new DV to purge buffers
authorJeffrey Altman <jaltman@your-file-system.com>
Fri, 2 Dec 2011 18:31:15 +0000 (13:31 -0500)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Fri, 2 Dec 2011 23:54:05 +0000 (15:54 -0800)
When deciding whether or not to purge buffers on a DV change
it is the new DV that matters not the old DV.  If the new DV
is 0, there should be no purging because there are no buffers
to purge.

Change-Id: Ie505348dbbf8173e477645e5022410ddd3028240
Reviewed-on: http://gerrit.openafs.org/6176
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

src/WINNT/afsd/cm_scache.c

index 0e9b273..1a8def9 100644 (file)
@@ -1710,7 +1710,7 @@ void cm_MergeStatus(cm_scache_t *dscp,
         cm_AddACLCache(scp, userp, statusp->CallerAccess);
     }
 
-    if (scp->dataVersion != 0 &&
+    if (dataVersion != 0 &&
         (!(flags & (CM_MERGEFLAG_DIROP|CM_MERGEFLAG_STOREDATA)) && dataVersion != scp->dataVersion ||
          (flags & (CM_MERGEFLAG_DIROP|CM_MERGEFLAG_STOREDATA)) && dataVersion - scp->dataVersion > activeRPCs)) {
         /*