Windows: Do not prime the service directory cache
authorJeffrey Altman <jaltman@your-file-system.com>
Wed, 4 Jan 2012 04:36:50 +0000 (23:36 -0500)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Wed, 11 Jan 2012 03:50:29 +0000 (19:50 -0800)
Performing a directory enumeration is an expensive operation
that we should be attempting to avoid.   The current directory
enumeration and evaluate target requests will use inline bulk
status RPCs to the file server which obtain status for 49 items
at a time from a single directory.

Change-Id: I78e08680fec9715c3c446d0c4c5226cd79db80bd
Reviewed-on: http://gerrit.openafs.org/6502
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

src/WINNT/afsrdr/kernel/lib/AFSDirControl.cpp

index 5e4157a..b62a0bd 100644 (file)
@@ -223,26 +223,6 @@ AFSQueryDirectory( IN PIRP Irp)
                             TRUE);
 
             bReleaseFcb = TRUE;
-
-            //
-            // Tell the service to prime the cache of the directory content
-            //
-
-            ntStatus = AFSEnumerateDirectoryNoResponse( &pCcb->AuthGroup,
-                                                        &pFcb->ObjectInformation->FileId);
-
-            if( !NT_SUCCESS( ntStatus))
-            {
-
-                AFSDbgLogMsg( AFS_SUBSYSTEM_FILE_PROCESSING,
-                              AFS_TRACE_LEVEL_ERROR,
-                              "AFSQueryDirectory Enumerate directory failure for parent %wZ Mask %wZ Status %08lX\n",
-                              &pCcb->DirectoryCB->NameInformation.FileName,
-                              &pCcb->MaskName,
-                              ntStatus);
-
-                try_return( ntStatus);
-            }
         }
         else
         {