#define FIO_DEBUG_H
#include <assert.h>
+#include "lib/types.h"
#include "log.h"
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;
+}
#ifdef FIO_INC_DEBUG
struct debug_level {
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 { \