From: Lennart Poettering Date: Wed, 1 Feb 2023 11:23:54 +0000 (+0100) Subject: journal-file: allow opening journal files for write when machine ID is not initialized X-Git-Tag: v254-rc1~1218^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=07f1c7aa9db7a98e0ba1eb1b0d42f171925fc5eb;p=thirdparty%2Fsystemd.git journal-file: allow opening journal files for write when machine ID is not initialized We allow reading them, and we allow creating them, but we so far did not allow opening existing ones for write – if the machine ID is not initialized. Let's fix that. (This is just to fix an asymmetry. I have no immediate use for this. But test code should in theory be able to use this, if it runs in an incompletely initialized environment.) --- diff --git a/src/libsystemd/sd-journal/journal-file.c b/src/libsystemd/sd-journal/journal-file.c index 3e721ef937d..05c66815ae1 100644 --- a/src/libsystemd/sd-journal/journal-file.c +++ b/src/libsystemd/sd-journal/journal-file.c @@ -511,8 +511,12 @@ static int journal_file_verify_header(JournalFile *f) { int r; r = sd_id128_get_machine(&machine_id); - if (r < 0) - return r; + if (r < 0) { + if (!ERRNO_IS_MACHINE_ID_UNSET(r)) /* handle graceful if machine ID is not initialized yet */ + return r; + + machine_id = SD_ID128_NULL; + } if (!sd_id128_equal(machine_id, f->header->machine_id)) return log_debug_errno(SYNTHETIC_ERRNO(EHOSTDOWN),