Windows: cm_BufWrite() must wait in cm_SyncOp()
authorJeffrey Altman <jaltman@your-file-system.com>
Sat, 24 Dec 2011 08:11:04 +0000 (03:11 -0500)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Sun, 25 Dec 2011 05:46:28 +0000 (21:46 -0800)
Now that it is permissible for more than one store data operation
to construct BIOD lists in parallel, cm_BufWrite() must be willing
to wait in cm_SyncOp().  Otherwise, the daemon threads will spin.

Change-Id: I77ee2005025de9255b4c9cdb8bed8efc44b9518a
Reviewed-on: http://gerrit.openafs.org/6423
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_dcache.c

index 36e55bd..3292ffd 100644 (file)
@@ -1097,8 +1097,7 @@ long cm_SetupStoreBIOD(cm_scache_t *scp, osi_hyper_t *inOffsetp, long inSize,
 
     flags = CM_SCACHESYNC_GETSTATUS
         | CM_SCACHESYNC_STOREDATA
-        | CM_SCACHESYNC_BUFLOCKED
-        | CM_SCACHESYNC_NOWAIT;
+        | CM_SCACHESYNC_BUFLOCKED;
 
     /* start by looking backwards until scanStart */
     /* hyper version of cm_data.buf_blockSize */