Add a macro to enable to print a warning only once. This is beneficial for cases where a warning could be helpful for debugging, but still log pollution is preferred not to happen. Reviewed-by: Alexandru Elisei <alexandru.elisei@xxxxxxx> Signed-off-by: Martin Radev <martin.b.radev@xxxxxxxxx> --- include/kvm/util.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/include/kvm/util.h b/include/kvm/util.h index d76568a..b494548 100644 --- a/include/kvm/util.h +++ b/include/kvm/util.h @@ -82,6 +82,16 @@ do { \ __ret_warn_on; \ }) +#define WARN_ONCE(condition, format, args...) ({ \ + static int __warned; \ + int __ret_warn_on = !!(condition); \ + if (!__warned && __ret_warn_on) { \ + __warned = 1; \ + pr_warning(format, args); \ + } \ + __ret_warn_on; \ +}) + #define MSECS_TO_USECS(s) ((s) * 1000) /* Millisecond sleep */ -- 2.25.1