From: Jeffrey Altman Date: Sun, 22 Aug 2010 14:05:59 +0000 (-0400) Subject: Windows: Handle RX_RESTARTING consistently for all RPCs X-Git-Tag: openafs-devel-1_5_77~12 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=f024479e88ada8d924c0f8ebb29afa94b0c64b49;p=packages%2Fo%2Fopenafs.git Windows: Handle RX_RESTARTING consistently for all RPCs Translate RX_RESTARTING to the same cache manager error code for all RPC classes. LICENSE MIT Change-Id: I4540e9886d1de68d9b3f8a2e72508f876225ff4a Reviewed-on: http://gerrit.openafs.org/2654 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 87c9e7e6e4f8be4778d183940f349557193146c7) Reviewed-on: http://gerrit.openafs.org/2701 --- diff --git a/src/WINNT/afsd/cm_utils.c b/src/WINNT/afsd/cm_utils.c index aea0655d2..58a94cbee 100644 --- a/src/WINNT/afsd/cm_utils.c +++ b/src/WINNT/afsd/cm_utils.c @@ -270,9 +270,14 @@ long cm_MapRPCErrorRmdir(long error, cm_req_t *reqp) error = et_to_sys_error(error); if (error == RX_CALL_DEAD || - error == RX_CALL_TIMEOUT || - error == RX_RESTARTING) + error == RX_CALL_TIMEOUT) error = CM_ERROR_RETRY; + else if (error == VNOVNODE) + error = CM_ERROR_BADFD; + else if (error == VNOSERVICE || error == VSALVAGE || error == VOFFLINE) + error = CM_ERROR_ALLOFFLINE; + else if (error == VBUSY || error == VRESTARTING) + error = CM_ERROR_ALLBUSY; else if (error < 0) error = CM_ERROR_UNKNOWN; else if (error == EROFS) @@ -310,9 +315,10 @@ long cm_MapVLRPCError(long error, cm_req_t *reqp) error = et_to_sys_error(error); if (error == RX_CALL_DEAD || - error == RX_CALL_TIMEOUT || - error == RX_RESTARTING) + error == RX_CALL_TIMEOUT) error = CM_ERROR_RETRY; + else if (error == RX_RESTARTING) + error = CM_ERROR_ALLBUSY; else if (error < 0) error = CM_ERROR_UNKNOWN; else if (error == VL_NOENT || error == VL_BADNAME)