From: Eelco Dolstra Date: Wed, 6 Aug 2014 11:14:51 +0000 (+0200) Subject: journald: Fix off-by-one error in "Missed X kernel messages" warning X-Git-Tag: v216~146 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=b9c488f60050248b35640f28e4d00958702ba1c3;hp=48776bdacd17e1c2f73238ff8bb6b327760b526d;ds=inline journald: Fix off-by-one error in "Missed X kernel messages" warning On receiving a message, "kernel_seqnum" is set to "serial + 1". So subtracting 1 will cause messages like "Missed 0 kernel messages", which should be "Missed 1 kernel messages". --- diff --git a/src/journal/journald-kmsg.c b/src/journal/journald-kmsg.c index 9935986c1..fb8ea08e3 100644 --- a/src/journal/journald-kmsg.c +++ b/src/journal/journald-kmsg.c @@ -152,7 +152,7 @@ static void dev_kmsg_record(Server *s, char *p, size_t l) { /* Did we lose any? */ if (serial > *s->kernel_seqnum) server_driver_message(s, SD_MESSAGE_JOURNAL_MISSED, "Missed %"PRIu64" kernel messages", - serial - *s->kernel_seqnum - 1); + serial - *s->kernel_seqnum); /* Make sure we never read this one again. Note that * we always store the next message serial we expect