mirror of
https://github.com/Dasharo/systemd.git
synced 2026-03-06 15:02:31 -08:00
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.
This commit is contained in:
committed by
Luca Boccassi
parent
90461ef56f
commit
418a498777
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user