OpenAFS Master Repository branch, openafs-devel-1_7_x, updated. openafs-devel-1_7_21-111-g1a48b81

Gerrit Code Review gerrit@openafs.org
Sat, 23 Feb 2013 19:08:39 -0800 (PST)


The following commit has been merged in the openafs-devel-1_7_x branch:
commit 1a48b81dbf6aa91e51034f0a3ef536f2a2478966
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Fri Feb 15 08:44:06 2013 -0500

    Windows: Permit direct to service non-wildcard lookups
    
    The AFS redirector has required that directories be fully enumerated
    when the directory object is opened.  This is a very expensive
    operation involving large numbers of file server RPC round trips for
    directories with tens of thousands of objects and those containing
    symlinks.
    
    This patchset delays directory enumeration for the last component
    in a path until such time as dirctory data is requested by the
    application.  If the request is for a non-wildcard pattern, the
    service will be asked to provide the details for just the one required
    object.
    
    Delaying the directory enumeration improves performance for
    GetFileAttributes[Ex], GetDiskFreeSpace[Ex], GetVolumeInformation,
    and GetNamedSecurityInfo Win32 API calls.   In those cases it is
    no longer necessary to enumerate the target directory at all.
    
    Reviewed-on: http://gerrit.openafs.org/9118
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    (cherry picked from commit b7ba97ad537bd0e9a241f052ddd1c3a50c74745b)
    
    Change-Id: Id84fdd33a675b27b11ba8479a8449fe412af3076
    Reviewed-on: http://gerrit.openafs.org/9222
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

 src/WINNT/afsrdr/kernel/lib/AFSDirControl.cpp    |  618 +++++++++++++++++-----
 src/WINNT/afsrdr/kernel/lib/AFSNameSupport.cpp   |    3 +-
 src/WINNT/afsrdr/kernel/lib/Include/AFSCommon.h  |    5 +
 src/WINNT/afsrdr/kernel/lib/Include/AFSDefines.h |    1 +
 4 files changed, 490 insertions(+), 137 deletions(-)

-- 
OpenAFS Master Repository