From bf687348e0269deb0d76475ba9b7219a6e1b40e8 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Mon, 18 Aug 2014 15:28:14 -0400 Subject: [PATCH] Windows: set hard dead timeout not conn timeout for probes For the Rx connections used for probing VL and FILE servers set a hard dead timeout and not a connection timeout. A connection timeout will not terminate the call as long as the lastReceiveTime continues to be updated by ping packets. The hard dead timeout will cause the connection to fail when the 10 second limit expires. Change-Id: I371dcd95fc0ff822a205cf903fa6218e80a2b042 Reviewed-on: http://gerrit.openafs.org/11401 Tested-by: BuildBot Reviewed-by: Jeffrey Altman --- src/WINNT/afsd/cm_server.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/WINNT/afsd/cm_server.c b/src/WINNT/afsd/cm_server.c index 52e1672f1..cf0bba898 100644 --- a/src/WINNT/afsd/cm_server.c +++ b/src/WINNT/afsd/cm_server.c @@ -250,7 +250,7 @@ cm_PingServer(cm_server_t *tsp) rxconnp = cm_GetRxConn(connp); if (wasDown) - rx_SetConnDeadTime(rxconnp, 10); + rx_SetConnHardDeadTime(rxconnp, 10); if (tsp->type == CM_SERVER_VLDB) { code = VL_ProbeServer(rxconnp); } @@ -259,7 +259,7 @@ cm_PingServer(cm_server_t *tsp) code = RXAFS_GetCapabilities(rxconnp, &caps); } if (wasDown) - rx_SetConnDeadTime(rxconnp, ConnDeadtimeout); + rx_SetConnHardDeadTime(rxconnp, HardDeadtimeout); rx_PutConnection(rxconnp); cm_PutConn(connp); } /* got an unauthenticated connection to this server */ @@ -527,7 +527,7 @@ static void cm_CheckServersMulti(afs_uint32 flags, cm_cell_t *cellp) lock_ObtainRead(&cm_serverLock); rxconns[nconns] = cm_GetRxConn(conns[nconns]); if (conntimer[nconns] = (isDown ? 1 : 0)) - rx_SetConnDeadTime(rxconns[nconns], 10); + rx_SetConnHardDeadTime(rxconns[nconns], 10); nconns++; } @@ -546,7 +546,7 @@ static void cm_CheckServersMulti(afs_uint32 flags, cm_cell_t *cellp) /* Process results of servers that support RXAFS_GetCapabilities */ for (i=0; i