From 418a4987775280adef4e6ac4e474937ea89f0f5c Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Tue, 26 Sep 2023 15:59:23 +0200 Subject: [PATCH] journal: Stop trying to open runtime journal once flushed Once we've flushed the runtime journal to /var, stop trying to open it since that will just fail with ENOENT all the time. --- src/journal/journald-server.c | 39 +++++++++++++++++------------------ 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c index 897e2abd3a2..b6f494b4ce3 100644 --- a/src/journal/journald-server.c +++ b/src/journal/journald-server.c @@ -384,8 +384,26 @@ static int server_system_journal_open( fn = strjoina(s->runtime_storage.path, "/system.journal"); - if (s->system_journal && !relinquish_requested) { + if (!s->system_journal || relinquish_requested) { + /* OK, we really need the runtime journal, so create it if necessary. */ + + (void) mkdir_parents(s->runtime_storage.path, 0755); + (void) mkdir(s->runtime_storage.path, 0750); + + r = server_open_journal( + s, + /* reliably= */ true, + fn, + O_RDWR|O_CREAT, + /* seal= */ false, + &s->runtime_storage.metrics, + &s->runtime_journal); + if (r < 0) + return log_ratelimit_warning_errno(r, JOURNAL_LOG_RATELIMIT, + "Failed to open runtime journal: %m"); + + } else if (!server_flushed_flag_is_set(s)) { /* Try to open the runtime journal, but only if it already exists, so that we can * flush it into the system journal */ @@ -404,25 +422,6 @@ static int server_system_journal_open( r = 0; } - - } else { - - /* OK, we really need the runtime journal, so create it if necessary. */ - - (void) mkdir_parents(s->runtime_storage.path, 0755); - (void) mkdir(s->runtime_storage.path, 0750); - - r = server_open_journal( - s, - /* reliably= */ true, - fn, - O_RDWR|O_CREAT, - /* seal= */ false, - &s->runtime_storage.metrics, - &s->runtime_journal); - if (r < 0) - return log_ratelimit_warning_errno(r, JOURNAL_LOG_RATELIMIT, - "Failed to open runtime journal: %m"); } if (s->runtime_journal) { -- 2.47.3