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

Mon, 02 Oct 2006 23:23:22 EDT

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

Modified Files:
      Tag: openafs-devel-1_5_x
	cm_access.c cm_buf.c cm_buf.h cm_callback.c cm_daemon.c 
	cm_daemon.h cm_dcache.c cm_dcache.h cm_ioctl.c cm_scache.c 
	cm_scache.h cm_vnodeops.c rawops.c smb.c smb.h smb3.c 
Log Message:
DELTA DEVEL15-windows-multi-fix-20061002

Fix the following problems:

it is possible for a file to be created, buffers to become dirty from
writes, the file to be deleted, the stat cache entry to be reused, and
the dirty buffers to remain dirty until the end of time.

stat cache entry starvation can occur because of large numbers of dirty
buffers which take too long to be written to the file server.  The
thread that writes dirty buffers in background writes/checks a small
number of buffers, SQRT(buf-count), and then sleeps for 5 seconds.
Writing all of the dirty buffers via this algorithm produces untimely

threads can end up waiting for a callback on the same stat cache entry
even though there are no threads actually attempting to perform the


Fix prototypes

Optimize cm_GetNewSCache to reuse scache entries for deleted files
and entries not in the hashtable before allocating a new one.  This
keeps the entries in the hashtable to a minimum and thereby improving
performance for all other operations which must lookup a scache entry
by FID.

Add support for Sequential and Random Access flags

--- DELTA config for openafs-devel-1_5_x follows ---
DEVEL15-windows-multi-fix-20061002 openafs/src/WINNT/afsd/cm_access.c
DEVEL15-windows-multi-fix-20061002 openafs/src/WINNT/afsd/cm_buf.c
DEVEL15-windows-multi-fix-20061002 openafs/src/WINNT/afsd/cm_buf.h
DEVEL15-windows-multi-fix-20061002 openafs/src/WINNT/afsd/cm_callback.c
DEVEL15-windows-multi-fix-20061002 openafs/src/WINNT/afsd/cm_daemon.c
DEVEL15-windows-multi-fix-20061002 openafs/src/WINNT/afsd/cm_daemon.h 1.4
DEVEL15-windows-multi-fix-20061002 openafs/src/WINNT/afsd/cm_dcache.c
DEVEL15-windows-multi-fix-20061002 openafs/src/WINNT/afsd/cm_dcache.h 1.4
DEVEL15-windows-multi-fix-20061002 openafs/src/WINNT/afsd/cm_ioctl.c
DEVEL15-windows-multi-fix-20061002 openafs/src/WINNT/afsd/cm_scache.c
DEVEL15-windows-multi-fix-20061002 openafs/src/WINNT/afsd/cm_scache.h
DEVEL15-windows-multi-fix-20061002 openafs/src/WINNT/afsd/cm_vnodeops.c
DEVEL15-windows-multi-fix-20061002 openafs/src/WINNT/afsd/rawops.c 1.2
DEVEL15-windows-multi-fix-20061002 openafs/src/WINNT/afsd/smb.c
DEVEL15-windows-multi-fix-20061002 openafs/src/WINNT/afsd/smb.h
DEVEL15-windows-multi-fix-20061002 openafs/src/WINNT/afsd/smb3.c