You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by jo...@apache.org on 2020/09/15 09:14:39 UTC

svn commit: r1881736 - in /httpd/httpd/trunk: changes-entries/pr64413.txt modules/dav/fs/repos.c

Author: jorton
Date: Tue Sep 15 09:14:39 2020
New Revision: 1881736

URL: http://svn.apache.org/viewvc?rev=1881736&view=rev
Log:
* modules/dav/fs/repos.c (dav_fs_open_stream): Add specific logs for
different modes in dav_fs_open_stream(), indicate failure because of
different file open modes. Also add the filepath in the log messages.

Github: closes #138
PR: 64413
Submitted by: Bingyu Shen <ahshenbingyu gmail.com>

Added:
    httpd/httpd/trunk/changes-entries/pr64413.txt
Modified:
    httpd/httpd/trunk/modules/dav/fs/repos.c

Added: httpd/httpd/trunk/changes-entries/pr64413.txt
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/changes-entries/pr64413.txt?rev=1881736&view=auto
==============================================================================
--- httpd/httpd/trunk/changes-entries/pr64413.txt (added)
+++ httpd/httpd/trunk/changes-entries/pr64413.txt Tue Sep 15 09:14:39 2020
@@ -0,0 +1,3 @@
+  *) mod_dav_fs: Improve logging output when failing to open files for
+     writing.  PR 64413.  [Bingyu Shen <ahshenbingyu gmail.com>]
+

Modified: httpd/httpd/trunk/modules/dav/fs/repos.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/dav/fs/repos.c?rev=1881736&r1=1881735&r2=1881736&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/dav/fs/repos.c (original)
+++ httpd/httpd/trunk/modules/dav/fs/repos.c Tue Sep 15 09:14:39 2020
@@ -948,15 +948,29 @@ static dav_error * dav_fs_open_stream(co
         else if (APR_STATUS_IS_EEXIST(rv)) {
             rv = apr_file_open(&ds->f, ds->pathname, flags, APR_OS_DEFAULT,
                                ds->p);
+            if (rv != APR_SUCCESS) {
+                return dav_new_error(p, MAP_IO2HTTP(rv), 0, rv,
+                                    apr_psprintf(p, "Could not open an existing "
+                                                 "resource for writing: %s.",
+                                                 ds->pathname));
+            }
         }
     }
     else {
         rv = apr_file_open(&ds->f, ds->pathname, flags, APR_OS_DEFAULT, ds->p);
+        if (rv != APR_SUCCESS) {
+            return dav_new_error(p, MAP_IO2HTTP(rv), 0, rv,
+                                 apr_psprintf(p, "Could not open an existing "
+                                              "resource for reading: %s.",
+                                              ds->pathname));
+        }
     }
 
     if (rv != APR_SUCCESS) {
         return dav_new_error(p, MAP_IO2HTTP(rv), 0, rv,
-                             "An error occurred while opening a resource.");
+                             apr_psprintf(p, "An error occurred while opening "
+                                          "a resource for writing: %s.",
+                                          ds->pathname));
     }
 
     /* (APR registers cleanups for the fd with the pool) */