]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Windows: set hard dead timeout not conn timeout for probes
authorJeffrey Altman <jaltman@your-file-system.com>
Mon, 18 Aug 2014 19:28:14 +0000 (15:28 -0400)
committerJeffrey Altman <jaltman@your-file-system.com>
Wed, 20 Aug 2014 16:55:22 +0000 (12:55 -0400)
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 <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
src/WINNT/afsd/cm_server.c

index 52e1672f1ad9a24cda7c805a5a01bae6de20b688..cf0bba8983b20ab27834e1394806e96a5263230a 100644 (file)
@@ -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<nconns; i++) {
             if (conntimer[i])
-                rx_SetConnDeadTime(rxconns[i], ConnDeadtimeout);
+                rx_SetConnHardDeadTime(rxconns[i], HardDeadtimeout);
             rx_PutConnection(rxconns[i]);
             cm_PutConn(conns[i]);
 
@@ -698,7 +698,7 @@ static void cm_CheckServersMulti(afs_uint32 flags, cm_cell_t *cellp)
             rxconns[nconns] = cm_GetRxConn(conns[nconns]);
             conntimer[nconns] = (isDown ? 1 : 0);
             if (isDown)
-                rx_SetConnDeadTime(rxconns[nconns], 10);
+                rx_SetConnHardDeadTime(rxconns[nconns], 10);
 
             nconns++;
         }
@@ -717,7 +717,7 @@ static void cm_CheckServersMulti(afs_uint32 flags, cm_cell_t *cellp)
         /* Process results of servers that support VL_ProbeServer */
         for (i=0; i<nconns; i++) {
             if (conntimer[i])
-                rx_SetConnDeadTime(rxconns[i], ConnDeadtimeout);
+                rx_SetConnHardDeadTime(rxconns[i], HardDeadtimeout);
             rx_PutConnection(rxconns[i]);
             cm_PutConn(conns[i]);