OpenAFS CVS Commit: openafs/src/WINNT/afsd by jaltman
cvs@GRAND.CENTRAL.ORG
cvs@GRAND.CENTRAL.ORG
Sun, 10 Oct 2004 19:50:37 EDT
Update of /cvs/openafs/src/WINNT/afsd
In directory GRAND.CENTRAL.ORG:/home/jaltman/openafs/cvs-1-3/src/WINNT/afsd
Modified Files:
afsd_init.c cm_buf.c cm_callback.c cm_conn.c cm_dcache.c
cm_ioctl.c cm_ioctl.h cm_server.c cm_vnodeops.c cm_vnodeops.h
fs.c
Log Message:
DELTA windows-combined-20041010
AUTHOR jaltman@mit.edu
* fix the Windows cache manager to prevent it from replacing the
rx_connection object associated with the cm_conn_t object on each
and every operation if "fs crypt" was set. This explains the
dramatic performance difference when crypt is used vs clear.
The problem: 'cryptall', a boolean flag indicating whether or not
"fs crypt" is set, was being compared to the rx_connection
cryptlevel which is either rxkad_clear:0 or rxkad_crypt:2.
1 != 2 and therefore the rx_connection was always destroyed
and replaced on each and every operation.
Lock the cm_conn_t object around every call to RXAFS_xxxx functions.
It is not safe for the cm_conn_t object to not be locked because
rx_DestroyConnection might be called from another thread if:
- the user's tokens have changed or expired
- the crypt mode has changed
* Modify cm_Lookup to evaluate a list of possible values for @sys
instead of just a single entry. Re-write cm_ExpandSysname and
add cm_LookupInternal.
* Reformat affected files
* Add cache file name to cache creation errors
--- DELTA config follows ---
windows-combined-20041010 openafs/src/WINNT/afsd/afsd_init.c 1.43 1.44
windows-combined-20041010 openafs/src/WINNT/afsd/cm_buf.c 1.14 1.15
windows-combined-20041010 openafs/src/WINNT/afsd/cm_callback.c 1.23 1.24
windows-combined-20041010 openafs/src/WINNT/afsd/cm_conn.c 1.26 1.27
windows-combined-20041010 openafs/src/WINNT/afsd/cm_dcache.c 1.12 1.13
windows-combined-20041010 openafs/src/WINNT/afsd/cm_ioctl.c 1.35 1.36
windows-combined-20041010 openafs/src/WINNT/afsd/cm_ioctl.h 1.8 1.9
windows-combined-20041010 openafs/src/WINNT/afsd/cm_server.c 1.15 1.16
windows-combined-20041010 openafs/src/WINNT/afsd/cm_vnodeops.c 1.21 1.22
windows-combined-20041010 openafs/src/WINNT/afsd/cm_vnodeops.h 1.7 1.8
windows-combined-20041010 openafs/src/WINNT/afsd/fs.c 1.18 1.19