]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
journal: set flushed flag even if we fail to open runtime journals
authorYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 5 Aug 2024 05:18:21 +0000 (14:18 +0900)
committerLuca Boccassi <luca.boccassi@gmail.com>
Mon, 5 Aug 2024 09:27:20 +0000 (11:27 +0200)
As at this stage, a persistent journal file has been already opened, and
saved seqnum has been reset, and any later journal entries will be stored
to the file. Hence we should not open the runtime journal file by
server_system_journal_open() again.

src/journal/journald-server.c

index 57db61469117b4c92ed171a514805cf591171b6f..09b80881b3330f342b08a2b158c565feca0441b4 100644 (file)
@@ -1347,9 +1347,10 @@ int server_flush_to_var(Server *s, bool require_flag_file) {
         start = now(CLOCK_MONOTONIC);
 
         r = sd_journal_open(&j, SD_JOURNAL_RUNTIME_ONLY | SD_JOURNAL_ASSUME_IMMUTABLE);
-        if (r < 0)
-                return log_ratelimit_error_errno(r, JOURNAL_LOG_RATELIMIT,
-                                                 "Failed to read runtime journal: %m");
+        if (r < 0) {
+                log_ratelimit_error_errno(r, JOURNAL_LOG_RATELIMIT, "Failed to read runtime journal: %m");
+                goto finish;
+        }
 
         sd_journal_set_data_threshold(j, 0);