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