Commit 2b65a95e authored by Jeff Trawick's avatar Jeff Trawick
Browse files

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
parent 3abd45a6
Loading
Loading
Loading
Loading
+4 −0
Changes for CHANGES: 4 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -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.
+1 −3
Changes for modules/dav/fs/repos.c: 1 added line, 3 removed lines.
Original line number Diff line number Diff line
@@ -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 */