From 7cc0f65d63b201cc6cab71dbb1c6fcb7ce98bbbe Mon Sep 17 00:00:00 2001 From: Luca Boccassi Date: Wed, 10 Jun 2026 18:56:38 +0100 Subject: [PATCH] analyze: fix SoftRebootsCount property signature The SoftRebootsCount entry in the boot-times map declared signature "t" but the manager exports it as "u". The mismatch was harmless while the declared signature was never checked, but becomes a dropped property once it is enforced. Declare "u". Follow-up for 259046cfe8de29c44070b596fe9e0471e931cbc4 --- src/analyze/analyze-time-data.c | 4 ++-- src/analyze/analyze-time-data.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/analyze/analyze-time-data.c b/src/analyze/analyze-time-data.c index 70332b0f691..54f9acbbff9 100644 --- a/src/analyze/analyze-time-data.c +++ b/src/analyze/analyze-time-data.c @@ -56,7 +56,7 @@ int acquire_boot_times(sd_bus *bus, bool require_finished, BootTimes **ret) { { "InitRDGeneratorsFinishTimestampMonotonic", "t", NULL, offsetof(BootTimes, initrd_generators_finish_time) }, { "InitRDUnitsLoadStartTimestampMonotonic", "t", NULL, offsetof(BootTimes, initrd_unitsload_start_time) }, { "InitRDUnitsLoadFinishTimestampMonotonic", "t", NULL, offsetof(BootTimes, initrd_unitsload_finish_time) }, - { "SoftRebootsCount", "t", NULL, offsetof(BootTimes, soft_reboots_count) }, + { "SoftRebootsCount", "u", NULL, offsetof(BootTimes, soft_reboots_count) }, {}, }; _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL; @@ -212,7 +212,7 @@ int pretty_boot_time(sd_bus *bus, char **ret) { return log_oom(); if (timestamp_is_set(t->initrd_time) && !strextend(&text, FORMAT_TIMESPAN(t->userspace_time - t->initrd_time, USEC_PER_MSEC), " (initrd) + ")) return log_oom(); - if (t->soft_reboots_count > 0 && strextendf(&text, "%s (soft reboot #%" PRIu64 ") + ", FORMAT_TIMESPAN(t->userspace_time, USEC_PER_MSEC), t->soft_reboots_count) < 0) + if (t->soft_reboots_count > 0 && strextendf(&text, "%s (soft reboot #%" PRIu32 ") + ", FORMAT_TIMESPAN(t->userspace_time, USEC_PER_MSEC), t->soft_reboots_count) < 0) return log_oom(); if (!strextend(&text, FORMAT_TIMESPAN(t->finish_time - t->userspace_time, USEC_PER_MSEC), " (userspace) ")) diff --git a/src/analyze/analyze-time-data.h b/src/analyze/analyze-time-data.h index b9dcc46d6c3..19244095569 100644 --- a/src/analyze/analyze-time-data.h +++ b/src/analyze/analyze-time-data.h @@ -26,7 +26,7 @@ typedef struct BootTimes { usec_t initrd_unitsload_start_time; usec_t initrd_unitsload_finish_time; /* Not strictly a timestamp, but we are going to show it next to the other timestamps */ - uint64_t soft_reboots_count; + uint32_t soft_reboots_count; /* * If we're analyzing the user instance, all timestamps will be offset by its own start-up timestamp,