From 6d4bdfc2f78605b4339523577d7726101eb38b42 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Sat, 5 Jun 2004 19:59:41 +0000 Subject: [PATCH 1/1] winnotes-20040605 Document changes up to this date since 1.3.64 and new registry values --- doc/txt/winnotes/afs-changes-since-1.2.txt | 99 ++++++++++++++++++++++++++++++ doc/txt/winnotes/registry.txt | 24 ++++++++ 2 files changed, 123 insertions(+) diff --git a/doc/txt/winnotes/afs-changes-since-1.2.txt b/doc/txt/winnotes/afs-changes-since-1.2.txt index 15b71c5..af90a13 100644 --- a/doc/txt/winnotes/afs-changes-since-1.2.txt +++ b/doc/txt/winnotes/afs-changes-since-1.2.txt @@ -1,3 +1,102 @@ +Since 1.3.64: + * 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" + + * Fix "fs mkmount" command to work with UNC paths and when + started from non-AFS drives + + * Add support for arbitrary UNC paths to the pioctl() support. + This enables the fs commands as well as the AFS Shell Extension + to work correctly when UNC paths are being used. + + * Fix afscreds.exe (by updating afskfw.lib) to search for cells via + DNS if the cell configuration cannot be determined via CellServDB + + * Add debug info to test whether CM_BUF_WAITING or CM_SCACHE_WAITING + are ever set more than once at a time + + * Fix the management of lists of cm_cell_t structures when using + DNS to lookup cell information. The previous code would fail to + reuse the same cellID for a cell if DNS was used more than once + for a given cell name. When the ttl expired, a single cm_cell_t + could be inserted into the cm_allCellsp list more than once + producing a loop. In addition, the vlServerp list belonging to + the cell was not freed resulting in improper refCounting of the + servers. + + * Add DNS support to cm_IoctlNewCell() which previous only examined + the CellServDB file + + * Add cm_FreeServer() function and call it from cm_FreeServerList() + to properly garbage collect cm_server_t objects + + * Add numVCs variable to smb.c to track the number of smb_vc_t + objects created and use it to initialize the vcID field which + previously was set to 0 in all objects resulting in FindByID + collisions. + + * Fixed DNS lookups to work consistently throughout the OpenAFS + product instead of just from within the afsd_service.exe + + * Added a runtime check to ensure that AFS Client Service SMB + Server is accepting connections before attempting to mount + global drives. + + * Read IP addresses for volume servers out of the CellServDB + file if gethostbyname() on the hostname fails. + + * Fix getcellconfig() to populate both the Hostnames as well + as IP addresses when loading cell data via DNS + + * Increase the Connection Dead Time to 50 from 20 seconds + Increase the Hard Dead Time to 120 from 40 seconds + (matches the Unix values) + + * Fixed an assertion validating the number of allocated NCBs + + * Fixed the build environment to consistently build for + Windows 2000 and above. (APPVER = 5.0) + + * Fixed rx_debug to properly validate the receipt in incoming + data with select() and recvfrom(). Do not copy data out of + the socket buffer unless success is indicated. + Since 1.3.63: * afsd_service.exe will now display a message box to the desktop when it terminates due to an IP Address Change. diff --git a/doc/txt/winnotes/registry.txt b/doc/txt/winnotes/registry.txt index 1e71ae9..2e24343 100644 --- a/doc/txt/winnotes/registry.txt +++ b/doc/txt/winnotes/registry.txt @@ -240,6 +240,30 @@ Variable: rx_mtu In order to enable OpenAFS to operate across the Cisco IPSec VPN client, this value must be set to 1264 or smaller. +Value : ConnDeadTimeout +Type : DWORD +Default : 60 (seconds) +Variable: ConnDeadtimeout + + The Connection Dead Time is enforced to be at a minimum 15 seconds + longer than the minimum SMB timeout as specified by + + HKLM\SYSTEM\CurrentControlSet\Services\lanmanworkstation\parameters + SessTimeout + + If the minimum SMB timeout is not specified the value is 45 seconds. + See http://support.microsoft.com:80/support/kb/articles/Q102/0/67.asp + + +Value : HardDeadTimeout +Type : DWORD +Default : 120 (seconds) +Variable: HardDeadtimeout + + The Hard Dead Time is enforced to be at least double the ConnDeadTimeout. + The provides an opportunity for at least one retry. + + Value : AllSubmount Type : DWORD {0, 1} Default : 1 -- 1.9.4