dryang / rpms / systemd

Forked from rpms/systemd a year ago
Clone
923a60
From c9c9111ad96ab8827a8866f80adbacf4f58e055e Mon Sep 17 00:00:00 2001
923a60
From: Dimitri John Ledkov <dimitri.j.ledkov@intel.com>
923a60
Date: Fri, 3 Jul 2015 11:34:12 +0100
923a60
Subject: [PATCH] journal: in persistent mode create /var/log/journal, with all
923a60
 parents.
923a60
923a60
systemd-journald races with systemd-tmpfiles-setup, and hence both are
923a60
started at about the same time. On a bare-bones system (e.g. with
923a60
empty /var, or even non-existent /var), systemd-tmpfiles will create
923a60
/var/log. But it can happen too late, that is systemd-journald already
923a60
attempted to mkdir /var/log/journal, ignoring the error. Thus failing
923a60
to create /var/log/journal. One option, without modifiying the
923a60
dependency graph is to create /var/log/journal directory with parents,
923a60
when persistent storage has been requested.
923a60
923a60
(cherry picked from commit ac892057c2ddd8f06323c73ebd80423cc3ec7190)
923a60
923a60
Cherry-picked from: ac89205
923a60
Resolves: #1222517
923a60
---
923a60
 src/journal/journald-server.c | 2 +-
923a60
 1 file changed, 1 insertion(+), 1 deletion(-)
923a60
923a60
diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c
923a60
index 04839c950c..d692c06ef7 100644
923a60
--- a/src/journal/journald-server.c
923a60
+++ b/src/journal/journald-server.c
923a60
@@ -942,7 +942,7 @@ static int system_journal_open(Server *s, bool flush_requested) {
923a60
                  * the machine path */
923a60
 
923a60
                 if (s->storage == STORAGE_PERSISTENT)
923a60
-                        (void) mkdir("/var/log/journal/", 0755);
923a60
+                        (void) mkdir_p("/var/log/journal/", 0755);
923a60
 
923a60
                 fn = strjoina("/var/log/journal/", ids);
923a60
                 (void) mkdir(fn, 0755);