From 88ee6a9e4b69787cce52a2cdcdb187aedced7197 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Tue, 11 Oct 2022 13:26:41 +0200 Subject: [PATCH] logs-show: Always retrieve the boot ID from the entry If _SOURCE_MONOTONIC_TIMESTAMP was set in the entry, we wouldn't query the boot ID, leading to every kernel entry in the export mode to have BOOT_ID=000000000000000. Let's fix this by always querying the boot ID. --- src/shared/logs-show.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c index 0ebc66597d0..046ba4ba246 100644 --- a/src/shared/logs-show.c +++ b/src/shared/logs-show.c @@ -1289,8 +1289,10 @@ static int get_dual_timestamp(sd_journal *j, dual_timestamp *ret_ts, sd_id128_t if (monotonic) r = safe_atou64(monotonic, &ret_ts->monotonic); - if (!monotonic || r < 0 || !VALID_MONOTONIC(ret_ts->monotonic)) - r = sd_journal_get_monotonic_usec(j, &ret_ts->monotonic, ret_boot_id); + r = sd_journal_get_monotonic_usec( + j, + !monotonic || r < 0 || !VALID_MONOTONIC(ret_ts->monotonic) ? &ret_ts->monotonic : NULL, + ret_boot_id); if (r < 0) ret_ts->monotonic = USEC_INFINITY;