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

Sun, 10 Oct 2004 19:52:05 EDT

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

Modified Files:
      Tag: openafs-stable-1_4_x
	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 
Log Message:
DELTA windows-combined-20041010

  * 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 for openafs-stable-1_4_x follows ---
windows-combined-20041010 openafs/src/WINNT/afsd/afsd_init.c
windows-combined-20041010 openafs/src/WINNT/afsd/cm_buf.c
windows-combined-20041010 openafs/src/WINNT/afsd/cm_callback.c
windows-combined-20041010 openafs/src/WINNT/afsd/cm_conn.c
windows-combined-20041010 openafs/src/WINNT/afsd/cm_dcache.c
windows-combined-20041010 openafs/src/WINNT/afsd/cm_ioctl.c
windows-combined-20041010 openafs/src/WINNT/afsd/cm_ioctl.h 1.8
windows-combined-20041010 openafs/src/WINNT/afsd/cm_server.c
windows-combined-20041010 openafs/src/WINNT/afsd/cm_vnodeops.c
windows-combined-20041010 openafs/src/WINNT/afsd/cm_vnodeops.h
windows-combined-20041010 openafs/src/WINNT/afsd/fs.c