OpenAFS CVS Commit: openafs/src/WINNT/afsd by jaltman

cvs@GRAND.CENTRAL.ORG cvs@GRAND.CENTRAL.ORG
Sat, 05 Jun 2004 14:57:59 EDT


Update of /cvs/openafs/src/WINNT/afsd
In directory GRAND.CENTRAL.ORG:/home/jaltman/openafs/cvs-tree/src/WINNT/afsd

Modified Files:
	afsd_init.c cm_conn.c cm_conn.h cm_server.c 
Log Message:
DELTA timeout-logic-20040605
AUTHOR jaltman@mit.edu

   * The timeout logic in the AFS Client Service has been wrong
     for sometime.  It is based on two different assumptions.
     First, the SMB client timeout is a fix value as was the case
     with OS/2 Lan Manager.  This assumption is incorrect.  The
     SMB timeout in Windows is a dynamic value computed based upon
     a fixed minimum timeout to which is added time based upon the
     size of the request and the performance characteristics of
     the connection.  Second, it is the responsibility of the 
     SMB Server to enforce the timeout requirements of the client.
     This is untrue.  The SMB Server cannot be expected to know
     the requirements of the client.  More importantly, if the 
     SMB server uses the SMB client timeout as a value to restrict
     its behavior as an RX client, the performance characteristics
     of the local SMB session would be used to prematurely terminate
     WAN connections with significantly different performance 
     characteristics.

     The timeout logic has therefore been modified in the following
     manner:
      . the Lan Manager Workstation (SMB) Session Timeout is used only
        as a basis for configuring the Connection Dead Timeout 
        and Hard Dead Timeout values.  The Connection Dead Timeout
        must be at least 15 seconds longer than the SMB Timeout
        and the Hard Dead Timeout must be at least double the 
        Connection Dead Timeout.
      . New registry entries have been added to allow the Connection
        Dead Timeout and Hard Dead Timeout values independent of the
        Lan Manager Workstation Session Timeout
      . The test to enforce the SMB Client Timeout has been removed.
        
     One of the side-effects of removing the enforcement of the SMB 
     Client Timeout is that regardless of whether or not the SMB client
     is available to receive the response (and how would the SMB server
     know) the RX protocol response can be used to update the AFS 
     Client Service state for ready access by future SMB client 
     requests.

     This should be the end of the "Server paused or restarting messages"
   



--- DELTA config follows ---
timeout-logic-20040605 openafs/src/WINNT/afsd/afsd_init.c 1.28 1.29
timeout-logic-20040605 openafs/src/WINNT/afsd/cm_conn.c 1.15 1.16
timeout-logic-20040605 openafs/src/WINNT/afsd/cm_conn.h 1.5 1.6
timeout-logic-20040605 openafs/src/WINNT/afsd/cm_server.c 1.7 1.8