+static inline void clear_error(struct thread_data *td)
+{
+ td->error = 0;
+ td->verror[0] = '\0';
+}
+
+enum {
+ FD_PROCESS = 1 << 0,
+ FD_FILE = 1 << 1,
+ FD_IO = 1 << 2,
+ FD_MEM = 1 << 3,
+};
+
+extern unsigned long fio_debug;
+#define dprint(type, str, args...) \
+ do { \
+ if (((type) & fio_debug) == 0) \
+ break; \
+ log_info(str, ##args); \
+ } while (0)
+
+static inline void dprint_io_u(struct io_u *io_u, const char *p)
+{
+ struct fio_file *f = io_u->file;
+
+ 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");
+}
+