]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Windows: revise NTSTATUS response for ALLBUSY, ALLOFFLINE, and ALLDOWN
authorJeffrey Altman <jaltman@your-file-system.com>
Fri, 3 Sep 2010 04:02:17 +0000 (00:02 -0400)
committerJeffrey Altman <jaltman@openafs.org>
Wed, 8 Sep 2010 03:48:08 +0000 (20:48 -0700)
Replace STATUS_IO_TIMEOUT with RPC_NT_SERVER_TOO_BUSY for CM_ERROR_ALLBUSY.

Replace STATUS_PATH_NOT_FOUND with RPC_NT_SERVER_UNAVAILABLE for
CM_ERROR_ALLOFFLINE and CM_ERROR_ALLBUSY.

These errors provide a more meaningful message to end users when
a failure occurs.

LICENSE MIT

Change-Id: I34483f8f696285477fa0f8a8dac3b0ff33dee6b4
Reviewed-on: http://gerrit.openafs.org/2663
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
(cherry picked from commit de441ba420b8fc38ce1b36bee06097f21cc6514b)
Reviewed-on: http://gerrit.openafs.org/2714

src/WINNT/afsd/smb.c

index 693e74239113599cb26da97b4e31967b5dcbced1..79b78857f7fe287e623dbd0ec04d6f1dbad0a093 100644 (file)
@@ -3239,12 +3239,16 @@ void smb_MapNTError(long code, unsigned long *NTStatusp)
 #ifdef COMMENT
         NTStatus = 0xC000022DL; /* Retry */
 #else
-        NTStatus = 0xC00000B5L; /* I/O Timeout */
+        NTStatus = 0xC0020018L; /* RPC_NT_SERVER_TOO_BUSY */
 #endif
-    } 
+    }
     else if (code == CM_ERROR_ALLOFFLINE || code == CM_ERROR_ALLDOWN) {
+#ifdef COMMENT
         NTStatus = 0xC000003AL; /* Path not found */
-    } 
+#else
+        NTStatus = 0xC0020017L; /* RPC_NT_SERVER_UNAVAILABLE */
+#endif
+    }
     else if (code >= ERROR_TABLE_BASE_RXK && code < ERROR_TABLE_BASE_RXK + 256) {
        NTStatus = 0xC0000322L; /* No Kerberos key */
     }