]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
sd-journal: properly collect errors from readdir()
authorLennart Poettering <lennart@poettering.net>
Sun, 24 Apr 2016 22:23:45 +0000 (00:23 +0200)
committerLennart Poettering <lennart@poettering.net>
Mon, 25 Apr 2016 10:00:03 +0000 (12:00 +0200)
Let's also collect errors returned by readdir() into our set of errors, like we
do this for all other errors from journal files.

src/journal/sd-journal.c

index 7ae8941a5e7b95a456a63684656a2df0426bd158..44bf8ab511d13bf26d894b289e959cd6ef7665af 100644 (file)
@@ -1429,7 +1429,7 @@ static int add_directory(sd_journal *j, const char *prefix, const char *dirname)
                         inotify_rm_watch(j->inotify_fd, m->wd);
         }
 
-        FOREACH_DIRENT_ALL(de, d, return log_debug_errno(errno, "Failed to read directory %s: %m", m->path)) {
+        FOREACH_DIRENT_ALL(de, d, r = log_debug_errno(errno, "Failed to read directory %s: %m", m->path); goto fail) {
 
                 if (dirent_is_file_with_suffix(de, ".journal") ||
                     dirent_is_file_with_suffix(de, ".journal~"))
@@ -1516,7 +1516,7 @@ static int add_root_directory(sd_journal *j, const char *p, bool missing_ok) {
         if (j->no_new_files)
                 return 0;
 
-        FOREACH_DIRENT_ALL(de, d, return log_debug_errno(errno, "Failed to read directory %s: %m", m->path)) {
+        FOREACH_DIRENT_ALL(de, d, r = log_debug_errno(errno, "Failed to read directory %s: %m", m->path); goto fail) {
                 sd_id128_t id;
 
                 if (dirent_is_file_with_suffix(de, ".journal") ||