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

Sun, 05 Jun 2005 02:44:33 EDT

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

Modified Files:
	cm_buf.c cm_buf.h cm_callback.c cm_conn.c cm_conn.h 
	cm_dcache.c cm_scache.c cm_scache.h cm_vnodeops.c smb.c 
Log Message:
DELTA windows-buf-waiting-20050605

The function cm_SyncOp() can cause threads to wait either because there
is a state conflict on the current use of the cm_scache_t object or 
a state conflict on the cm_buf_t object.  Waiting is always performed
on the cm_scache_t object.  However, if the conflict was with the cm_buf_t
object there was no method for waking up the thread when the conflict is
cleared.  Now all of the cm_buf_t waiting functions also take a cm_scache_t
and waiting threads are woken if necessary.

cm_scache_t and cm_buf_t objects now have waitCount and waitRequest fields.
The WAITING flag is now cleared by the waking thread who sets waitCount to

Many improvements to trace logging for these issues.

--- DELTA config follows ---
windows-buf-waiting-20050605 openafs/src/WINNT/afsd/cm_buf.c 1.22 1.23
windows-buf-waiting-20050605 openafs/src/WINNT/afsd/cm_buf.h 1.9 1.10
windows-buf-waiting-20050605 openafs/src/WINNT/afsd/cm_callback.c 1.31 1.32
windows-buf-waiting-20050605 openafs/src/WINNT/afsd/cm_conn.c 1.34 1.35
windows-buf-waiting-20050605 openafs/src/WINNT/afsd/cm_conn.h 1.10 1.11
windows-buf-waiting-20050605 openafs/src/WINNT/afsd/cm_dcache.c 1.22 1.23
windows-buf-waiting-20050605 openafs/src/WINNT/afsd/cm_scache.c 1.24 1.25
windows-buf-waiting-20050605 openafs/src/WINNT/afsd/cm_scache.h 1.10 1.11
windows-buf-waiting-20050605 openafs/src/WINNT/afsd/cm_vnodeops.c 1.38 1.39
windows-buf-waiting-20050605 openafs/src/WINNT/afsd/smb.c 1.80 1.81