OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_76-3445-gb7ba97a
Gerrit Code Review
gerrit@openafs.org
Sat, 23 Feb 2013 00:21:29 -0800 (PST)
The following commit has been merged in the master branch:
commit b7ba97ad537bd0e9a241f052ddd1c3a50c74745b
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.
Change-Id: I7ef2fbafff925697d8b40e56837ef53bfcc78542
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>
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