From: Joe Orton Date: Tue, 15 Sep 2020 09:14:39 +0000 (+0000) Subject: * modules/dav/fs/repos.c (dav_fs_open_stream): Add specific logs for X-Git-Tag: 2.5.0-alpha2-ci-test-only~1203 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=250bd58c5d2f5dcb8da2993987694e357f787b14;p=thirdparty%2Fapache%2Fhttpd.git * 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 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1881736 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/changes-entries/pr64413.txt b/changes-entries/pr64413.txt new file mode 100644 index 00000000000..a11d75bd860 --- /dev/null +++ b/changes-entries/pr64413.txt @@ -0,0 +1,3 @@ + *) mod_dav_fs: Improve logging output when failing to open files for + writing. PR 64413. [Bingyu Shen ] + diff --git a/modules/dav/fs/repos.c b/modules/dav/fs/repos.c index 8dfa28a34ff..1f7379a4d35 100644 --- a/modules/dav/fs/repos.c +++ b/modules/dav/fs/repos.c @@ -948,15 +948,29 @@ static dav_error * dav_fs_open_stream(const dav_resource *resource, 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) */