X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=ioengine.h;h=9c0ed9a954077980aebf30d1e0bd954d9bf2324c;hp=2caece72c644e4e4f144715f586e73bcb6b5ffac;hb=2cc529306ff529100449f9002978b271facb8380;hpb=2b4f4abec640f36ccdff39de00e74b2234e27116 diff --git a/ioengine.h b/ioengine.h index 2caece72..9c0ed9a9 100644 --- a/ioengine.h +++ b/ioengine.h @@ -140,8 +140,8 @@ extern struct io_u *__get_io_u(struct thread_data *); extern struct io_u *get_io_u(struct thread_data *); extern void put_io_u(struct thread_data *, struct io_u *); extern void requeue_io_u(struct thread_data *, struct io_u **); -extern long __must_check io_u_sync_complete(struct thread_data *, struct io_u *); -extern long __must_check io_u_queued_complete(struct thread_data *, int); +extern int __must_check io_u_sync_complete(struct thread_data *, struct io_u *, unsigned long *); +extern int __must_check io_u_queued_complete(struct thread_data *, int, unsigned long *); extern void io_u_queued(struct thread_data *, struct io_u *); extern void io_u_log_error(struct thread_data *, struct io_u *); extern void io_u_mark_depth(struct thread_data *, unsigned int); @@ -149,4 +149,23 @@ extern void io_u_fill_buffer(struct thread_data *td, struct io_u *, unsigned int void io_u_mark_complete(struct thread_data *, unsigned int); void io_u_mark_submit(struct thread_data *, unsigned int); +#ifdef FIO_INC_DEBUG +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, + (unsigned long long) 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_io_u(io_u, p) +#endif + #endif