]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
journal: drop mapping from CLOCK_BOOTTIME -> CLOCK_MONOTONIC
authorYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 19 Jun 2024 15:07:36 +0000 (00:07 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 19 Jun 2024 15:10:12 +0000 (00:10 +0900)
This partially reverts commit a9357c2ce2d188b5b63592fd271f14d335867c23.

Some kmsg sent before sleep may be received by systemd-journald after
sleep. In that case, map_clock_usec() does not provide correct
timestamp.
So, we cannot provide reliable _SOURCE_MONOTONIC_TIMESTAMP.

src/journal/journald-kmsg.c

index 4123fda5f925422171c5ee620325256d7bec7128..95135decaa49766458293c2e98764b918ed00228 100644 (file)
@@ -258,11 +258,9 @@ void dev_kmsg_record(Server *s, char *p, size_t l) {
         iovec[n++] = IOVEC_MAKE_STRING(source_boot_time);
 
         /* Historically, we stored the timestamp 'usec' as _SOURCE_MONOTONIC_TIMESTAMP, so we cannot remove
-         * the field as it is already used in other projects. So, let's store the correct timestamp here by
-         * mapping the boottime to monotonic. Then, the existence of _SOURCE_BOOTTIME_TIMESTAMP indicates
-         * the reliability of _SOURCE_MONOTONIC_TIMESTAMP field. */
+         * the field as it is already used in other projects. This is for backward compatibility. */
         char source_monotonic_time[STRLEN("_SOURCE_MONOTONIC_TIMESTAMP=") + DECIMAL_STR_MAX(unsigned long long)];
-        xsprintf(source_monotonic_time, "_SOURCE_MONOTONIC_TIMESTAMP="USEC_FMT, map_clock_usec(usec, CLOCK_BOOTTIME, CLOCK_MONOTONIC));
+        xsprintf(source_monotonic_time, "_SOURCE_MONOTONIC_TIMESTAMP=%llu", usec);
         iovec[n++] = IOVEC_MAKE_STRING(source_monotonic_time);
 
         iovec[n++] = IOVEC_MAKE_STRING("_TRANSPORT=kernel");