]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Windows: Make idle dead timeout very long
authorJeffrey Altman <jaltman@your-file-system.com>
Wed, 28 Dec 2011 22:08:23 +0000 (17:08 -0500)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Sat, 31 Dec 2011 21:17:07 +0000 (13:17 -0800)
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 <buildbot@rampaginggeek.com>
Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
src/WINNT/afsd/cm_conn.c
src/WINNT/afsd/cm_conn.h

index e9c0f0f2b6f7be509204e4412b41128ae33dbb72..c5a10b0d19fd2a95d4b1fc6bdc3a3ee1c3172c0a 100644 (file)
@@ -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);
 
     /*
index a1ddb1af8d4e60d7e78abf66f8a81e53a1183f0d..d40a8e8d918305a88153cf1f6046aa175dfb2fe5 100644 (file)
@@ -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;