[systemd-commits] src/journal
Zbigniew JÄdrzejewski-Szmek
zbyszek at kemper.freedesktop.org
Sat Oct 25 21:35:44 PDT 2014
src/journal/journald-server.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
New commits:
commit caa2f4c0c9613b2e02aafa308c8fb092576014a9
Author: Zbigniew JÄdrzejewski-Szmek <zbyszek at in.waw.pl>
Date: Sun Oct 26 00:14:30 2014 -0400
journald: fix flushing
Commit 74055aa762 'journalctl: add new --flush command and make use of
it in systemd-journal-flush.service' broke flushing because journald
checks for the /run/systemd/journal/flushed file before opening the
permanent journal. When the creation of this file was postponed,
flushing stoppage ensued.
diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c
index b49359e..12735c4 100644
--- a/src/journal/journald-server.c
+++ b/src/journal/journald-server.c
@@ -919,7 +919,7 @@ finish:
}
-static int system_journal_open(Server *s) {
+static int system_journal_open(Server *s, bool flush_requested) {
int r;
char *fn;
sd_id128_t machine;
@@ -935,7 +935,8 @@ static int system_journal_open(Server *s) {
if (!s->system_journal &&
(s->storage == STORAGE_PERSISTENT || s->storage == STORAGE_AUTO) &&
- access("/run/systemd/journal/flushed", F_OK) >= 0) {
+ (flush_requested
+ || access("/run/systemd/journal/flushed", F_OK) >= 0)) {
/* If in auto mode: first try to create the machine
* path, but not the prefix.
@@ -1029,7 +1030,7 @@ int server_flush_to_var(Server *s) {
if (!s->runtime_journal)
return 0;
- system_journal_open(s);
+ system_journal_open(s, true);
if (!s->system_journal)
return 0;
@@ -1586,7 +1587,7 @@ int server_init(Server *s) {
server_cache_boot_id(s);
server_cache_machine_id(s);
- r = system_journal_open(s);
+ r = system_journal_open(s, false);
if (r < 0)
return r;
More information about the systemd-commits
mailing list