diff options
author | Lennart Poettering <lennart@poettering.net> | 2023-02-01 12:23:54 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2023-02-21 10:47:53 +0100 |
commit | 07f1c7aa9db7a98e0ba1eb1b0d42f171925fc5eb (patch) | |
tree | 8dba0128a122a47534a905fc6a1004463ebc6ab6 /src | |
parent | 51ab0afed48dc55a211fbb610e188221446eb61f (diff) | |
download | systemd-07f1c7aa9db7a98e0ba1eb1b0d42f171925fc5eb.tar.gz |
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.)
Diffstat (limited to 'src')
-rw-r--r-- | src/libsystemd/sd-journal/journal-file.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/libsystemd/sd-journal/journal-file.c b/src/libsystemd/sd-journal/journal-file.c index 3e721ef937..05c66815ae 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), |