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

cvs@GRAND.CENTRAL.ORG cvs@GRAND.CENTRAL.ORG
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
AUTHOR jaltman@secure-endpoints.com

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 1.46.2.5 1.46.2.6
DEVEL15-windows-bplus-tree-20070823 openafs/src/WINNT/afsd/afsd.h 1.18.2.3 1.18.2.4
DEVEL15-windows-bplus-tree-20070823 openafs/src/WINNT/afsd/afsd_init.c 1.79.2.15 1.79.2.16
DEVEL15-windows-bplus-tree-20070823 openafs/src/WINNT/afsd/afsd_service.c 1.52.4.15 1.52.4.16
DEVEL15-windows-bplus-tree-20070823 openafs/src/WINNT/afsd/cm.h 1.17.2.4 1.17.2.5
DEVEL15-windows-bplus-tree-20070823 openafs/src/WINNT/afsd/cm_btree.c 1.1.2.2 1.1.2.3
DEVEL15-windows-bplus-tree-20070823 openafs/src/WINNT/afsd/cm_btree.h 1.1.2.2 1.1.2.3
DEVEL15-windows-bplus-tree-20070823 openafs/src/WINNT/afsd/cm_dir.c 1.4.4.2 1.4.4.3
DEVEL15-windows-bplus-tree-20070823 openafs/src/WINNT/afsd/cm_dir.h 1.4.4.2 1.4.4.3
DEVEL15-windows-bplus-tree-20070823 openafs/src/WINNT/afsd/cm_scache.c 1.35.2.41 1.35.2.42
DEVEL15-windows-bplus-tree-20070823 openafs/src/WINNT/afsd/cm_scache.h 1.21.2.13 1.21.2.14
DEVEL15-windows-bplus-tree-20070823 openafs/src/WINNT/afsd/cm_utils.c 1.11.4.4 1.11.4.5
DEVEL15-windows-bplus-tree-20070823 openafs/src/WINNT/afsd/cm_vnodeops.c 1.69.2.38 1.69.2.39
DEVEL15-windows-bplus-tree-20070823 openafs/src/WINNT/afsd/lock.txt 1.2 1.2.32.1