From: Jeffrey Altman Date: Wed, 28 Dec 2011 22:08:23 +0000 (-0500) Subject: Windows: Make idle dead timeout very long X-Git-Tag: upstream/1.8.0_pre1^2~2887 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=07655bc23e2ab7b5d0c808d79b3c7838a01eacfa;p=packages%2Fo%2Fopenafs.git Windows: Make idle dead timeout very long The idle dead timeout processing must eventually be removed from Rx for initiators. In the meantime, make the timeout period ten times longer than the hard dead timeout. This permits eventual failure when the server doesn't respond in ten minutes but avoids more transient issues. Change-Id: Ia673666dd55b33c4375ee8fdcbb89c82e8b01185 Reviewed-on: http://gerrit.openafs.org/6440 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman --- diff --git a/src/WINNT/afsd/cm_conn.c b/src/WINNT/afsd/cm_conn.c index e9c0f0f2b..c5a10b0d1 100644 --- a/src/WINNT/afsd/cm_conn.c +++ b/src/WINNT/afsd/cm_conn.c @@ -158,7 +158,7 @@ void cm_InitConn(void) afsi_log("HardDeadTimeout is %d", HardDeadtimeout); } if (IdleDeadtimeout == 0) { - IdleDeadtimeout = (unsigned short) ConnDeadtimeout; + IdleDeadtimeout = 10 * (unsigned short) HardDeadtimeout; afsi_log("IdleDeadTimeout is %d", IdleDeadtimeout); } } else { @@ -1238,6 +1238,8 @@ static void cm_NewRXConnection(cm_conn_t *tcp, cm_ucell_t *ucellp, secIndex); rx_SetConnDeadTime(tcp->rxconnp, ConnDeadtimeout); rx_SetConnHardDeadTime(tcp->rxconnp, HardDeadtimeout); + + /* Disable Idle Dead Timeout processing as it can lead to data corruption. */ rx_SetConnIdleDeadTime(tcp->rxconnp, IdleDeadtimeout); /* diff --git a/src/WINNT/afsd/cm_conn.h b/src/WINNT/afsd/cm_conn.h index a1ddb1af8..d40a8e8d9 100644 --- a/src/WINNT/afsd/cm_conn.h +++ b/src/WINNT/afsd/cm_conn.h @@ -25,8 +25,8 @@ #endif #define CM_CONN_IFS_HARDDEADTIME 120 -#define CM_CONN_IFS_CONNDEADTIME 50 -#define CM_CONN_IFS_IDLEDEADTIME 50 +#define CM_CONN_IFS_CONNDEADTIME 60 +#define CM_CONN_IFS_IDLEDEADTIME 1200 extern unsigned short ConnDeadtimeout; extern unsigned short HardDeadtimeout;