#ifndef FIO_DEBUG_H
#define FIO_DEBUG_H
-#include <assert.h>
#include "lib/types.h"
-#include "log.h"
enum {
FD_PROCESS = 0,
FD_COMPRESS,
FD_STEADYSTATE,
FD_HELPERTHREAD,
+ FD_ZBD,
FD_DEBUG_MAX,
};
static inline bool fio_did_warn(unsigned int mask)
{
- if (!(*fio_warned & mask)) {
- *fio_warned |= 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,
+ FIO_WARN_FADVISE = 16,
+ FIO_WARN_BTRACE_ZERO = 32,
+};
+
#ifdef FIO_INC_DEBUG
struct debug_level {
const char *name;
unsigned long shift;
unsigned int jobno;
};
-extern struct debug_level debug_levels[];
+extern const struct debug_level debug_levels[];
extern unsigned long fio_debug;
#define dprint(type, str, args...) \
do { \
- if ((((1 << type)) & fio_debug) == 0) \
+ if (((1 << type) & fio_debug) == 0) \
break; \
__dprint((type), (str), ##args); \
} while (0) \