OpenAFS Master Repository branch, master, updated. BP--openafs-stable-1_6_x-821-gdec0ba1

Gerrit Code Review gerrit@openafs.org
Fri, 4 Mar 2011 11:55:08 -0800 (PST)


The following commit has been merged in the master branch:
commit dec0ba1cfaf7dd6a4ed23a2f656bd6272600d51c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Mar 2 14:06:48 2011 -0500

    Windows: avoid use of cm_buf for MPs and Symlinks
    
    In the Windows cache manager, the symlink and mount point
    target strings are stored in the cm_scache_t mountPointString
    and are not accessed out of the cm_buf_t for offset zero
    except when populating the mountPointString.  As a result,
    every mountpoint and symlink object that is read into the cache
    wastes a cm_buf_t which could otherwise be used to store
    additional file or directory data.
    
    Add cm_GetData() function which is similar to cm_GetBuffer()
    except that it reads data from the file server into an arbitray
    memory location instead of a cm_buf_t object.  Use cm_GetData()
    to read directly into the cm_scache_t object.
    
    In addition, further optimize the communication with the
    file server by using cm_GetData() to perform a RXAFS_FetchData
    RPC to obtain both the target string and the status information
    instead of RXAFS_FetchStatus which only returns the status
    information in cases where there are no outstanding callback
    registrations on the object.  RXAFS_FetchStatus is still used
    when a callback is active in order to obtain access permissions
    for new users.
    
    Change-Id: I4d797479624f2e29121b16d3aa381296a57aeaa6
    Reviewed-on: http://gerrit.openafs.org/4111
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

 src/WINNT/afsd/cm_dcache.c   |  351 +++++++++++++++++++++++++++++++++++++++++-
 src/WINNT/afsd/cm_dcache.h   |    3 +
 src/WINNT/afsd/cm_scache.c   |    2 +-
 src/WINNT/afsd/cm_scache.h   |    1 +
 src/WINNT/afsd/cm_vnodeops.c |  154 +++++++------------
 5 files changed, 411 insertions(+), 100 deletions(-)

-- 
OpenAFS Master Repository