From: Derrick Brashear Date: Thu, 10 Jun 2010 18:47:24 +0000 (-0400) Subject: unix cm activate mtu pings X-Git-Tag: openafs-devel-1_5_75~133 X-Git-Url: https://git.openafs.org/?p=openafs.git;a=commitdiff_plain;h=d26f5e158cffa313d0f504e7ba3afc1743b5d1ef unix cm activate mtu pings set an error code so idle dead time is enforced on sending. needed in order that MTU pings be activated. Change-Id: I8cf1ca81e6519b440fc679e85f327f338400c29a Reviewed-on: http://gerrit.openafs.org/2116 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear --- diff --git a/src/afs/afs_analyze.c b/src/afs/afs_analyze.c index 5c63702..dd3dd08 100644 --- a/src/afs/afs_analyze.c +++ b/src/afs/afs_analyze.c @@ -414,7 +414,10 @@ afs_Analyze(register struct afs_conn *aconn, afs_int32 acode, } } /* if (hm_retry_int ... */ else { - areq->networkError = 1; + if (acode == RX_MSGSIZE) + shouldRetry = 1; + else + areq->networkError = 1; } } return shouldRetry; @@ -456,6 +459,10 @@ afs_Analyze(register struct afs_conn *aconn, afs_int32 acode, acode = 455; #endif /* AFS_64BIT_CLIENT */ if ((acode < 0) && (acode != VRESTARTING)) { + if (acode == RX_MSGSIZE) { + shouldRetry = 1; + goto out; + } if (acode == RX_CALL_TIMEOUT) { serversleft = afs_BlackListOnce(areq, afid, tsp); if (afid) diff --git a/src/afs/afs_conn.c b/src/afs/afs_conn.c index 0af0417..4788d09 100644 --- a/src/afs/afs_conn.c +++ b/src/afs/afs_conn.c @@ -293,7 +293,10 @@ afs_ConnBySA(struct srvAddr *sap, unsigned short aport, afs_int32 acell, if (service == 52) { rx_SetConnHardDeadTime(tc->id, afs_rx_harddead); } + /* set to a RX_CALL_TIMEOUT error to allow MTU retry to trigger */ + rx_SetServerConnIdleDeadErr(tc->id, RX_CALL_DEAD); rx_SetConnIdleDeadTime(tc->id, afs_rx_idledead); + rx_SetMsgsizeRetryErr(tc->id, RX_MSGSIZE); /* * Only do this for the base connection, not per-user.