OpenAFS CVS Commit: openafs/src/WINNT/afsd by jaltman
Sun, 04 Jan 2004 05:39:03 EST
Update of /cvs/openafs/src/WINNT/afsd
In directory GRAND.CENTRAL.ORG:/home/jaltman/openafs/cvs-tree/src/WINNT/afsd
cm_buf.c cm_conn.c cm_volume.c smb.c
* cm_conn.c: assume that if all of the servers for a cell are DOWN
that there is NOSUCHVOLUME. We can't return TIMEDOUT because
this assumes there is a server which is up and the windows shell
will in turn continue to try to reach it for several minutes on
each refresh. Of course, each refresh occurs more frequently
than the timeouts.
We can't return ALLOFFLINE because that in turn results in
an attempt to cm_ForceUpdateVolume() will a NULL (cm_fid_t *).
That in turn causes a null reference and a crash.
* cm_volume.c: place a check in cm_ForceUpdateVolume() to return
without performing its job if there is no (cm_fid_t *) value.
Unfortunately, this in a ALLOFFLINE situation places the
service into an infinite loop.
Question: why is cm_ForceUpdateVolume() ever being called with
a NULL parameter for the (cm_fid_t *)?
* cm_smb.c: change the NTStatus for CM_ERROR_NOIPC to Remote
Resources instead of Access Denied.
* cm_buf.c: add a debugging statement
--- DELTA config follows ---
avoid-long-windows-shell-timeouts-20040105 openafs/src/WINNT/afsd/cm_buf.c 1.8 1.9
avoid-long-windows-shell-timeouts-20040105 openafs/src/WINNT/afsd/cm_conn.c 1.10 1.11
avoid-long-windows-shell-timeouts-20040105 openafs/src/WINNT/afsd/cm_volume.c 1.3 1.4
avoid-long-windows-shell-timeouts-20040105 openafs/src/WINNT/afsd/smb.c 1.18 1.19