s4-smb2: SMB2 uses NT_STATUS_CANCELLED for cancelled locks
authorAndrew Tridgell <tridge@samba.org>
Thu, 26 Nov 2009 06:38:50 +0000 (17:38 +1100)
committerAndrew Tridgell <tridge@samba.org>
Fri, 27 Nov 2009 05:05:06 +0000 (16:05 +1100)
source4/ntvfs/posix/pvfs_lock.c

index 711c924ae3fbf3289b196f7e5e8c931ccfa595d1..11757deea49d02c6c903a1f8bb89eb9cd97121c1 100644 (file)
@@ -116,7 +116,11 @@ static void pvfs_pending_lock_continue(void *private_data, enum pvfs_wait_notice
 
        /* we don't retry on a cancel */
        if (reason == PVFS_WAIT_CANCEL) {
-               status = NT_STATUS_FILE_LOCK_CONFLICT;
+               if (pvfs->ntvfs->ctx->protocol != PROTOCOL_SMB2) {
+                       status = NT_STATUS_FILE_LOCK_CONFLICT;
+               } else {
+                       status = NT_STATUS_CANCELLED;
+               }
        } else {
                /* 
                 * here it's important to pass the pending pointer