mod_dav_fs: Retrieve minimal system information about directory

entries when walking a DAV fs, resolving a performance degradation on
Windows.

PR: 45464


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@683626 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Jeff Trawick
2008-08-07 15:12:00 +00:00
parent fef506ed1a
commit 484b633aad
2 changed files with 5 additions and 3 deletions

View File

@ -2,6 +2,10 @@
Changes with Apache 2.3.0
[ When backported to 2.2.x, remove entry from this file ]
*) mod_dav_fs: Retrieve minimal system information about directory
entries when walking a DAV fs, resolving a performance degradation on
Windows. PR 45464. [Jeff Trawick]
*) mod_cgid: Pass along empty command line arguments from an ISINDEX
query that has consecutive '+' characters in the QUERY_STRING,
matching the behavior of mod_cgi.

View File

@ -1475,10 +1475,8 @@ static dav_error * dav_fs_walker(dav_fs_walker_context *fsctx, int depth)
/* append this file onto the path buffer (copy null term) */
dav_buffer_place_mem(pool, &fsctx->path1, dirent.name, len + 1, 0);
/* ### Optimize me, dirent can give us what we need! */
status = apr_stat(&fsctx->info1.finfo, fsctx->path1.buf,
APR_FINFO_NORM | APR_FINFO_LINK, pool);
APR_FINFO_TYPE | APR_FINFO_LINK, pool);
if (status != APR_SUCCESS && status != APR_INCOMPLETE) {
/* woah! where'd it go? */
/* ### should have a better error here */