X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=debug.h;h=7e8c22406450df9a8a905aba5ddbcc8c652e99ca;hp=b55a1e4dc7d76d3c17e660288441ffb255960942;hb=5bdc45228a8cc99bb0f88565ddc12c6fdf7a9cdc;hpb=7956f141c058cdd95f14491ee646b7f7951ab2ab diff --git a/debug.h b/debug.h index b55a1e4d..7e8c2240 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,10 +20,28 @@ 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)) { + *fio_warned |= mask; + return true; + } + + return false; +} + +enum { + FIO_WARN_ROOT_FLUSH = 1, +}; #ifdef FIO_INC_DEBUG struct debug_level { @@ -35,7 +54,7 @@ extern struct debug_level debug_levels[]; extern unsigned long fio_debug; -void __dprint(int type, const char *str, ...); +void __dprint(int type, const char *str, ...) __attribute__((format (printf, 2, 3))); #define dprint(type, str, args...) \ do { \