chiark / gitweb /
journalctl: always show monotonic timestamp even if it's from an old boot
authorLennart Poettering <lennart@poettering.net>
Wed, 11 Jan 2012 02:02:10 +0000 (03:02 +0100)
committerLennart Poettering <lennart@poettering.net>
Wed, 11 Jan 2012 02:02:10 +0000 (03:02 +0100)
src/logs-show.c

index 8a35caf23a42b183e210495105f22ed326634d40..cb18da2aa5ae21ee61cf29cb491fa928706e7c31 100644 (file)
@@ -152,22 +152,27 @@ static int output_short(sd_journal *j, unsigned line, bool show_all, bool monoto
 
         if (monotonic_mode) {
                 uint64_t t;
+                sd_id128_t boot_id;
+
                 r = -ENOENT;
 
                 if (monotonic)
                         r = safe_atou64(monotonic, &t);
 
                 if (r < 0)
-                        r = sd_journal_get_monotonic_usec(j, &t, NULL);
-
-                if (r >= 0) {
-                        printf("[%5llu.%06llu]",
-                               (unsigned long long) (t / USEC_PER_SEC),
-                               (unsigned long long) (t % USEC_PER_SEC));
+                        r = sd_journal_get_monotonic_usec(j, &t, &boot_id);
 
-                        n += 1 + 5 + 1 + 6 + 1;
+                if (r < 0) {
+                        log_error("Failed to get monotonic: %s", strerror(-r));
+                        goto finish;
                 }
 
+                printf("[%5llu.%06llu]",
+                       (unsigned long long) (t / USEC_PER_SEC),
+                       (unsigned long long) (t % USEC_PER_SEC));
+
+                n += 1 + 5 + 1 + 6 + 1;
+
         } else {
                 char buf[64];
                 uint64_t x;