Windows: cm_CheckNTDelete missing SyncDone call
authorJeffrey Altman <jaltman@your-file-system.com>
Sun, 28 Jun 2015 17:59:28 +0000 (13:59 -0400)
committerJeffrey Altman <jaltman@your-file-system.com>
Thu, 24 Sep 2015 04:20:16 +0000 (00:20 -0400)
cm_CheckNTDelete() forgot to call cm_SyncDone() in one of the error
paths.  Fixup the call pattern and do not forget to call cm_SyncDone().

Change-Id: I9274b65c5a5f22ca71e0b10f860d57d7e567a56c
Reviewed-on: http://gerrit.openafs.org/11917
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

src/WINNT/afsd/cm_vnodeops.c

index b73f90b..f1f691b 100644 (file)
@@ -375,8 +375,10 @@ long cm_CheckNTDelete(cm_scache_t *dscp, cm_scache_t *scp, cm_user_t *userp,
         if (code)
             goto done;
 
-        if (cm_HaveBuffer(scp, bufferp, 1))
+       if (cm_HaveBuffer(scp, bufferp, 1)) {
+           cm_SyncOpDone(scp, bufferp, CM_SCACHESYNC_NEEDCALLBACK | CM_SCACHESYNC_READ | CM_SCACHESYNC_BUFLOCKED);
             break;
+       }
 
         /* otherwise, load the buffer and try again */
         lock_ReleaseMutex(&bufferp->mx);