timeout-logic-20040605
authorJeffrey Altman <jaltman@mit.edu>
Sat, 5 Jun 2004 19:57:58 +0000 (19:57 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Sat, 5 Jun 2004 19:57:58 +0000 (19:57 +0000)
commitd58233a52f3d705b039d690c4cc0befd1ac54408
treeca915d9940e032bcea43ac88a8f79f8c67d0275f
parent304fbc25279cef35724f042e0a6bf5a43a51e7a0
timeout-logic-20040605

   * 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"
src/WINNT/afsd/afsd_init.c
src/WINNT/afsd/cm_conn.c
src/WINNT/afsd/cm_conn.h
src/WINNT/afsd/cm_server.c