X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=debug.h;h=ba62214683769b32a6ab31ac0f543628ce658269;hb=b86770c69424d82449ce7e61a4e1b04ba1295f83;hp=6dd2ad86b87d60f9a27228f4b18f40f9b6754009;hpb=985ee30c1c9b61c834b38e2fbd13d0a19797602e;p=fio.git diff --git a/debug.h b/debug.h index 6dd2ad86..ba622146 100644 --- a/debug.h +++ b/debug.h @@ -2,6 +2,7 @@ #define FIO_DEBUG_H #include +#include "lib/types.h" #include "log.h" enum { @@ -19,14 +20,35 @@ enum { FD_PROFILE, FD_TIME, FD_NET, + FD_RATE, + FD_COMPRESS, + FD_STEADYSTATE, + FD_HELPERTHREAD, FD_DEBUG_MAX, }; -extern unsigned int fio_debug_jobno, *fio_debug_jobp; +extern unsigned int fio_debug_jobno, *fio_debug_jobp, *fio_warned; + +static inline bool fio_did_warn(unsigned int mask) +{ + if (*fio_warned & mask) + return true; + + *fio_warned |= mask; + return false; +} + +enum { + FIO_WARN_ROOT_FLUSH = 1, + FIO_WARN_VERIFY_BUF = 2, + FIO_WARN_ZONED_BUG = 4, + FIO_WARN_IOLOG_DROP = 8, +}; #ifdef FIO_INC_DEBUG struct debug_level { const char *name; + const char *help; unsigned long shift; unsigned int jobno; };