]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
exempt instant timeouts from mtu discovery
authorDerrick Brashear <shadow@dementia.org>
Fri, 1 Oct 2010 03:57:11 +0000 (23:57 -0400)
committerDerrick Brashear <shadow@dementia.org>
Mon, 25 Oct 2010 18:03:22 +0000 (11:03 -0700)
if we set lastReceiveTime to 0 to hint that no net, honor that here as
"just time out"

Reviewed-on: http://gerrit.openafs.org/2875
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
(cherry picked from commit 0ecc90f3cd3f5a7c96b3689ab0c5f6a42edc3ed0)
Change-Id: Ic85f7ea234a50935c5fad9804d459b6198902e4c
Reviewed-on: http://gerrit.openafs.org/3038
Tested-by: Derrick Brashear <shadow@dementia.org>
src/rx/rx.c

index e3e50032abcebe308dcc4365295b72d7ece71843..68bbb284ba4a1386656fefbb5dd5f54041d9e577 100644 (file)
@@ -5975,11 +5975,12 @@ rxi_CheckCall(struct rx_call *call)
     }
     return 0;
 mtuout:
-    if (conn->msgsizeRetryErr && cerror != RX_CALL_TIMEOUT) {
+    if (conn->msgsizeRetryErr && cerror != RX_CALL_TIMEOUT
+       && call->lastReceiveTime) {
        int oldMTU = conn->peer->ifMTU;
 
        /* if we thought we could send more, perhaps things got worse */
-       if (call->conn->peer->maxPacketSize > conn->lastPacketSize)
+       if (conn->peer->maxPacketSize > conn->lastPacketSize)
            /* maxpacketsize will be cleared in rxi_SetPeerMtu */
            newmtu = MAX(conn->peer->maxPacketSize-RX_IPUDP_SIZE,
                         conn->lastPacketSize-(128+RX_IPUDP_SIZE));