X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fshared%2Flogs-show.c;h=697b5cf4b734c58e848114e0b2ca45beec2670e5;hb=ac7019f33f1618f5b69ed44a8623e2596f1e3856;hp=4c59ca34cd55d8b132682b52ba8fe9024e130007;hpb=7ea07dcddafe573c699fc48171b57b912897e7e2;p=elogind.git diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c index 4c59ca34c..697b5cf4b 100644 --- a/src/shared/logs-show.c +++ b/src/shared/logs-show.c @@ -551,7 +551,8 @@ int show_journal_by_unit( usec_t not_before, unsigned how_many, bool show_all, - bool follow) { + bool follow, + bool warn_cutoff) { char *m = NULL; sd_journal *j = NULL; @@ -639,6 +640,26 @@ int show_journal_by_unit( goto finish; } + if (warn_cutoff && line < how_many && not_before > 0) { + sd_id128_t boot_id; + usec_t cutoff; + + /* Check whether the cutoff line is too early */ + + r = sd_id128_get_boot(&boot_id); + if (r < 0) + goto finish; + + r = sd_journal_get_cutoff_monotonic_usec(j, boot_id, &cutoff, NULL); + if (r < 0) + goto finish; + + if (not_before < cutoff) + printf("Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.\n"); + + warn_cutoff = false; + } + if (!follow) break;