[systemd-commits] src/journal TODO

Lennart Poettering lennart at kemper.freedesktop.org
Fri Oct 26 05:57:02 PDT 2012


 TODO                        |    2 --
 src/journal/journald-kmsg.c |    7 +++----
 2 files changed, 3 insertions(+), 6 deletions(-)

New commits:
commit e9f600f2fb4b0df55c7a8fb4b4d09f9979997223
Author: Lennart Poettering <lennart at poettering.net>
Date:   Fri Oct 26 14:55:03 2012 +0200

    journal: fix parsing of monotonic kernel timestamps

diff --git a/TODO b/TODO
index 0faa58d..d82fca0 100644
--- a/TODO
+++ b/TODO
@@ -13,8 +13,6 @@ Bugfixes:
 
 * properly handle .mount unit state tracking when two mount points are stacked one on top of another on the exact same mount point.
 
-* _SOURCE_MONOTONIC_TIMESTAMP entries from the kernel seem to be off by 1000000
-
 F18:
 
 * Retest multi-seat
diff --git a/src/journal/journald-kmsg.c b/src/journal/journald-kmsg.c
index 548f653..86786ce 100644
--- a/src/journal/journald-kmsg.c
+++ b/src/journal/journald-kmsg.c
@@ -109,7 +109,7 @@ static void dev_kmsg_record(Server *s, char *p, size_t l) {
         char *message = NULL, *syslog_priority = NULL, *syslog_pid = NULL, *syslog_facility = NULL, *syslog_identifier = NULL, *source_time = NULL;
         int priority, r;
         unsigned n = 0, z = 0, j;
-        usec_t usec;
+        unsigned long long usec;
         char *identifier = NULL, *pid = NULL, *e, *f, *k;
         uint64_t serial;
         size_t pl;
@@ -171,7 +171,7 @@ static void dev_kmsg_record(Server *s, char *p, size_t l) {
                 e = f;
         *e = 0;
 
-        r = parse_usec(p, &usec);
+        r = safe_atollu(p, &usec);
         if (r < 0)
                 return;
 
@@ -263,8 +263,7 @@ static void dev_kmsg_record(Server *s, char *p, size_t l) {
                 }
         }
 
-        if (asprintf(&source_time, "_SOURCE_MONOTONIC_TIMESTAMP=%llu",
-                     (unsigned long long) usec) >= 0)
+        if (asprintf(&source_time, "_SOURCE_MONOTONIC_TIMESTAMP=%llu", usec) >= 0)
                 IOVEC_SET_STRING(iovec[n++], source_time);
 
         IOVEC_SET_STRING(iovec[n++], "_TRANSPORT=kernel");



More information about the systemd-commits mailing list