debug: fix inverted logic in fio_did_warn()
[fio.git] / debug.h
diff --git a/debug.h b/debug.h
index 923fa39958037c3d0aa549e9a6def4b3a9c09756..ba62214683769b32a6ab31ac0f543628ce658269 100644 (file)
--- a/debug.h
+++ b/debug.h
@@ -2,6 +2,7 @@
 #define FIO_DEBUG_H
 
 #include <assert.h>
 #define FIO_DEBUG_H
 
 #include <assert.h>
+#include "lib/types.h"
 #include "log.h"
 
 enum {
 #include "log.h"
 
 enum {
@@ -21,10 +22,28 @@ enum {
        FD_NET,
        FD_RATE,
        FD_COMPRESS,
        FD_NET,
        FD_RATE,
        FD_COMPRESS,
+       FD_STEADYSTATE,
+       FD_HELPERTHREAD,
        FD_DEBUG_MAX,
 };
 
        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 {
 
 #ifdef FIO_INC_DEBUG
 struct debug_level {