journal: in persistent mode create /var/log/journal, with all parents.

systemd-journald races with systemd-tmpfiles-setup, and hence both are
started at about the same time. On a bare-bones system (e.g. with
empty /var, or even non-existent /var), systemd-tmpfiles will create
/var/log. But it can happen too late, that is systemd-journald already
attempted to mkdir /var/log/journal, ignoring the error. Thus failing
to create /var/log/journal. One option, without modifiying the
dependency graph is to create /var/log/journal directory with parents,
when persistent storage has been requested.
This commit is contained in:
Dimitri John Ledkov
2015-07-03 17:16:09 +01:00
parent ed3fd04931
commit ac892057c2
+1 -1
View File
@@ -943,7 +943,7 @@ static int system_journal_open(Server *s, bool flush_requested) {
* the machine path */
if (s->storage == STORAGE_PERSISTENT)
(void) mkdir("/var/log/journal/", 0755);
(void) mkdir_p("/var/log/journal/", 0755);
fn = strjoina("/var/log/journal/", ids);
(void) mkdir(fn, 0755);