From 3fe07e952515448fb04fd421376ca965947196ce Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Thu, 20 Apr 2023 10:43:21 +0200 Subject: [PATCH] log: Log when kmsg is being ratelimited Let's avoid confusing developers and users when log messages suddenly stop getting logged to kmsg because of ratelimiting by logging an additional message if we start ratelimiting log messages to kmsg. --- src/basic/log.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/basic/log.c b/src/basic/log.c index d0fef3554f..4cd2d5a4ab 100644 --- a/src/basic/log.c +++ b/src/basic/log.c @@ -553,8 +553,12 @@ static int write_to_kmsg( if (kmsg_fd < 0) return 0; - if (ratelimit_kmsg && !ratelimit_below(&ratelimit)) - return 0; + if (ratelimit_kmsg && !ratelimit_below(&ratelimit)) { + if (ratelimit_num_dropped(&ratelimit) > 1) + return 0; + + buffer = "Too many messages being logged to kmsg, ignoring"; + } xsprintf(header_priority, "<%i>", level); xsprintf(header_pid, "["PID_FMT"]: ", getpid_cached()); -- 2.25.1