extern unsigned long page_mask, page_size;
extern int read_only;
extern int eta_print;
+extern char *job_section;
extern struct thread_data *threads;
}
enum {
- FD_PROCESS = 1 << 0,
- FD_FILE = 1 << 1,
- FD_IO = 1 << 2,
- FD_MEM = 1 << 3,
+ FD_PROCESS = 0,
+ FD_FILE,
+ FD_IO,
+ FD_MEM,
+ FD_BLKTRACE,
+ FD_VERIFY,
+ FD_DEBUG_MAX,
};
+#ifdef FIO_INC_DEBUG
+struct debug_level {
+ const char *name;
+ unsigned long shift;
+};
+extern struct debug_level debug_levels[];
+
extern unsigned long fio_debug;
-#define dprint(type, str, args...) \
- do { \
- if (((type) & fio_debug) == 0) \
- break; \
- log_info(str, ##args); \
+
+#define dprint(type, str, args...) \
+ do { \
+ assert(type < FD_DEBUG_MAX); \
+ if ((((1 << type)) & fio_debug) == 0) \
+ break; \
+ log_info("%-8s ", debug_levels[(type)].name); \
+ log_info(str, ##args); \
} while (0)
static inline void dprint_io_u(struct io_u *io_u, const char *p)
dprint(FD_IO, "%s: io_u %p: off=%llu/len=%lu/ddir=%d", p, io_u,
io_u->offset, io_u->buflen, io_u->ddir);
- if (f)
- dprint(FD_IO, "/%s", f->file_name);
- dprint(FD_IO, "\n");
+ if (fio_debug & (1 << FD_IO)) {
+ if (f)
+ log_info("/%s", f->file_name);
+
+ log_info("\n");
+ }
}
+#else
+#define dprint(type, str, args...)
+#define dprint_io_u(io_u, p)
+#endif
#endif