From: Derrick Brashear Date: Fri, 3 Sep 2010 12:18:41 +0000 (-0400) Subject: rx msgsize retry logic change X-Git-Tag: openafs-devel-1_5_77~15 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=3edc17fd817359969ec1327115db10f0d4aa1066;p=packages%2Fo%2Fopenafs.git rx msgsize retry logic change only rewrite to RX_MSGSIZE if the MTU changed. otherwise, leave well enough alone Change-Id: If7311c623c61064c52b42fbb131aa8ff007c3741 Reviewed-on: http://gerrit.openafs.org/2664 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit b91e7e86b429b6182d8ee23c471bef4f48af560f) Reviewed-on: http://gerrit.openafs.org/2698 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear --- diff --git a/src/rx/rx.c b/src/rx/rx.c index 8f47522e2..344d4c69c 100644 --- a/src/rx/rx.c +++ b/src/rx/rx.c @@ -5976,9 +5976,7 @@ rxi_CheckCall(struct rx_call *call) return 0; mtuout: if (conn->msgsizeRetryErr && cerror != RX_CALL_TIMEOUT) { - /* if we never succeeded, let the error pass out as-is */ - if (conn->peer->maxPacketSize) - cerror = conn->msgsizeRetryErr; + int oldMTU = conn->peer->ifMTU; /* if we thought we could send more, perhaps things got worse */ if (call->conn->peer->maxPacketSize > conn->lastPacketSize) @@ -5996,6 +5994,11 @@ mtuout: /* needed so ResetCall doesn't clobber us. */ call->MTU = conn->peer->ifMTU; + + /* if we never succeeded, let the error pass out as-is */ + if (conn->peer->maxPacketSize && oldMTU != conn->peer->ifMTU) + cerror = conn->msgsizeRetryErr; + } rxi_CallError(call, cerror); return -1;