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

cvs@GRAND.CENTRAL.ORG cvs@GRAND.CENTRAL.ORG
Wed, 19 Nov 2008 19:07:27 EST


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

Modified Files:
      Tag: openafs-windows-kdfs-ifs-branch
	afsd_service.c cm.h cm_btree.c cm_buf.c cm_buf.h cm_callback.c 
	cm_config.h cm_conn.c cm_conn.h cm_daemon.h cm_dcache.c 
	cm_dir.c cm_ioctl.c cm_scache.c cm_scache.h cm_vnodeops.c 
	cm_volstat.c cm_volstat.h cm_volume.c cm_volume.h rawops.c 
	smb.c smb3.c 
Log Message:
DELTA KDFS-windows-afsrdr-service-20081119
AUTHOR jaltman@secure-endpoints.com
LICENSE MIT

implement two phase shutdown for the file system

conditionalize all file system operations with RDR_Initialized

avoid unnecessary thrashing of the Btree construction if the dir lookup
operation began with an older version of the directory.

add buf_rdrReleaseExtentsLock to prevent multiple simultaneous
attempts to request extents from the file system.

add buf_FindAll() and buf_FindAllLocked() to permit buffers to be
searched for on the all buffer list

add cm_req_t objects to buf_Getxxxx() functions to permit file system
operations to be non-blocking.  If a buffer cannot be obtained return
CM_ERROR_WOULDBLOCK when CM_REQ_NORETRY is also specified.

Wherever a buffer cannot be touched because it is dirty, it also cannot
be touched when the file system owns it.

Add buffer ref counting for the file system ownership

Add cm_req_t to cm_MergeStatus() to permit file system specific 
processing.  Do not send a data invalidation if the cause of the 
invalidation was a file system request.

Raise the default number of daemons to 8

Raise the max number of daemons to 64

Add a 5 second sleep after a VBUSY prior to calling cm_FindVolumeByID
to regenerate the service list.  This is to avoid problems caused by
volumes being moved on buggy servers that take the volume offline 
during the operation instead of holding the client in an idle data
sequence.

Add cm_REQ_SOURCE_REDIR

Handle error responses when attempting to invalidate objects held
by the file system.  

Do not implicitly release extents if the associated operation fails.

Deliver volume status messages in a thread independent of the 
operation that resulted in the volume state change being detected.
This is to avoid deadlocks where the file system holds a lock,
calls the service and the volume state change processing requires
the lock that was already being held.  (this implementation needs
to be revisited.)





--- DELTA config for openafs-windows-kdfs-ifs-branch follows ---
KDFS-windows-afsrdr-service-20081119 openafs/src/WINNT/afsd/afsd_service.c 1.76.2.12 1.76.2.13
KDFS-windows-afsrdr-service-20081119 openafs/src/WINNT/afsd/cm.h 1.31.2.6 1.31.2.7
KDFS-windows-afsrdr-service-20081119 openafs/src/WINNT/afsd/cm_btree.c 1.13.2.8 1.13.2.9
KDFS-windows-afsrdr-service-20081119 openafs/src/WINNT/afsd/cm_buf.c 1.68.2.13 1.68.2.14
KDFS-windows-afsrdr-service-20081119 openafs/src/WINNT/afsd/cm_buf.h 1.26.2.6 1.26.2.7
KDFS-windows-afsrdr-service-20081119 openafs/src/WINNT/afsd/cm_callback.c 1.82.2.12 1.82.2.13
KDFS-windows-afsrdr-service-20081119 openafs/src/WINNT/afsd/cm_config.h 1.16.2.2 1.16.2.3
KDFS-windows-afsrdr-service-20081119 openafs/src/WINNT/afsd/cm_conn.c 1.89.2.16 1.89.2.17
KDFS-windows-afsrdr-service-20081119 openafs/src/WINNT/afsd/cm_conn.h 1.23.2.7 1.23.2.8
KDFS-windows-afsrdr-service-20081119 openafs/src/WINNT/afsd/cm_daemon.h 1.7 1.7.2.1
KDFS-windows-afsrdr-service-20081119 openafs/src/WINNT/afsd/cm_dcache.c 1.61.2.3 1.61.2.4
KDFS-windows-afsrdr-service-20081119 openafs/src/WINNT/afsd/cm_dir.c 1.19.2.5 1.19.2.6
KDFS-windows-afsrdr-service-20081119 openafs/src/WINNT/afsd/cm_ioctl.c 1.113.2.26 1.113.2.27
KDFS-windows-afsrdr-service-20081119 openafs/src/WINNT/afsd/cm_scache.c 1.105.2.22 1.105.2.23
KDFS-windows-afsrdr-service-20081119 openafs/src/WINNT/afsd/cm_scache.h 1.46.2.6 1.46.2.7
KDFS-windows-afsrdr-service-20081119 openafs/src/WINNT/afsd/cm_vnodeops.c 1.141.2.23 1.141.2.24
KDFS-windows-afsrdr-service-20081119 openafs/src/WINNT/afsd/cm_volstat.c 1.5.2.2 1.5.2.3
KDFS-windows-afsrdr-service-20081119 openafs/src/WINNT/afsd/cm_volstat.h 1.5.2.1 1.5.2.2
KDFS-windows-afsrdr-service-20081119 openafs/src/WINNT/afsd/cm_volume.c 1.50.2.21 1.50.2.22
KDFS-windows-afsrdr-service-20081119 openafs/src/WINNT/afsd/cm_volume.h 1.16.2.6 1.16.2.7
KDFS-windows-afsrdr-service-20081119 openafs/src/WINNT/afsd/rawops.c 1.8.2.3 1.8.2.4
KDFS-windows-afsrdr-service-20081119 openafs/src/WINNT/afsd/smb.c 1.191.2.34 1.191.2.35
KDFS-windows-afsrdr-service-20081119 openafs/src/WINNT/afsd/smb3.c 1.154.2.22 1.154.2.23