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

Thu, 23 Aug 2007 23:21:49 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
	NTMakefile afsd.h afsd_init.c afsd_service.c cm.h cm_btree.c 
	cm_btree.h cm_dir.c cm_dir.h cm_scache.c cm_scache.h 
	cm_utils.c cm_vnodeops.c lock.txt 
Log Message:
DELTA DEVEL15-windows-bplus-tree-20070823

Windows uses case-insensitive file name pattern matching
but AFS is a case sensitive file system.  The AFS3 directory
format is block based, uses network byte order and
includes a hash table for fast case sensitive lookups.
This causes several problems for the Windows AFS client.
(1) Traversing the directory blocks is cpu expensive
(2) A hash table miss does not indicate that the desired
    entry does not exist.
(3) Determining whether a non-ambiguous inexact match or
    the entry does not exist requires a linear traversal
    of the entire directory.
These issues often result in 100% CPU utilization.

These issues are addressed by building a modified B+ tree for
each directory and then using the B+ tree for searches.

Further improvements can be made by using the B+ tree leaf
nodes for directory enumeration.

--- DELTA config for openafs-devel-1_5_x follows ---
DEVEL15-windows-bplus-tree-20070823 openafs/src/WINNT/afsd/NTMakefile
DEVEL15-windows-bplus-tree-20070823 openafs/src/WINNT/afsd/afsd.h
DEVEL15-windows-bplus-tree-20070823 openafs/src/WINNT/afsd/afsd_init.c
DEVEL15-windows-bplus-tree-20070823 openafs/src/WINNT/afsd/afsd_service.c
DEVEL15-windows-bplus-tree-20070823 openafs/src/WINNT/afsd/cm.h
DEVEL15-windows-bplus-tree-20070823 openafs/src/WINNT/afsd/cm_btree.c
DEVEL15-windows-bplus-tree-20070823 openafs/src/WINNT/afsd/cm_btree.h
DEVEL15-windows-bplus-tree-20070823 openafs/src/WINNT/afsd/cm_dir.c
DEVEL15-windows-bplus-tree-20070823 openafs/src/WINNT/afsd/cm_dir.h
DEVEL15-windows-bplus-tree-20070823 openafs/src/WINNT/afsd/cm_scache.c
DEVEL15-windows-bplus-tree-20070823 openafs/src/WINNT/afsd/cm_scache.h
DEVEL15-windows-bplus-tree-20070823 openafs/src/WINNT/afsd/cm_utils.c
DEVEL15-windows-bplus-tree-20070823 openafs/src/WINNT/afsd/cm_vnodeops.c
DEVEL15-windows-bplus-tree-20070823 openafs/src/WINNT/afsd/lock.txt 1.2