X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=fio.h;h=6dbc4cd59c31a4cdf8c54e4e9c7d9110deaf32a5;hb=01f06b63ba67d3bc7fa11766d9f13d229c4cec5c;hp=09bf6a203c7c4b72450d60c27b34e93d174fbac6;hpb=e28218f3017e5eb156d3a4a6e7b33651dc022cea;p=fio.git diff --git a/fio.h b/fio.h index 09bf6a20..6dbc4cd5 100644 --- a/fio.h +++ b/fio.h @@ -667,6 +667,7 @@ extern unsigned long long mlock_size; extern unsigned long page_mask, page_size; extern int read_only; extern int eta_print; +extern char *job_section; extern struct thread_data *threads; @@ -972,4 +973,50 @@ static inline void clear_error(struct thread_data *td) td->verror[0] = '\0'; } +enum { + 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 { \ + 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) +{ + 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 (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