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

cvs@GRAND.CENTRAL.ORG cvs@GRAND.CENTRAL.ORG
Sat, 28 Feb 2009 10:40:56 EST


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

Modified Files:
	cm_btree.c cm_btree.h 
Log Message:
DELTA windows-afsd-btree-20090228
AUTHOR jaltman@secure-endpoints.com
LICENSE MIT

Change how BPlusDir enumerations behave with regards to bulk stat 
operations.  If the number of entries in the enumeration is larger
than the number of cm_scache objects, then using the previous model
of cm_BPlusDirEnumBulkStat being called for the entire enumeration
list results in the early objects being recycled and the status 
info discarded before the caller of cm_BPlusDirNextEnumEntry()
receives the name.

The revised model triggers bulk stat operations from within 
NextEnumEntry() as objects requiring status fetching are about
to be returned to the caller.  This reduces the thrashing of the
stat cache.  

We should consider adding a flag field to cm_BPlusDirEnumerate()
or cm_BPlusDirNextEnumEntry() to permit enumeration without 
status fetching.



--- DELTA config follows ---
windows-afsd-btree-20090228 openafs/src/WINNT/afsd/cm_btree.c 1.24 1.25
windows-afsd-btree-20090228 openafs/src/WINNT/afsd/cm_btree.h 1.10 1.11