X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=ioengine.h;h=eb6655d165cad381e747a332cfee5b93736e7fd8;hp=18496c3afc860aab452d9a1ce4dcba8344fd7b94;hb=f166280e4cb2b3939a66359117798e46caf49591;hpb=c592b9fe12d4739d99d5bece517e304804876df6 diff --git a/ioengine.h b/ioengine.h index 18496c3a..eb6655d1 100644 --- a/ioengine.h +++ b/ioengine.h @@ -4,8 +4,10 @@ #define FIO_IOOPS_VERSION 10 enum { - IO_U_F_FREE = 1 << 0, - IO_U_F_FLIGHT = 1 << 1, + IO_U_F_FREE = 1 << 0, + IO_U_F_FLIGHT = 1 << 1, + IO_U_F_FREE_DEF = 1 << 2, + IO_U_F_IN_CUR_DEPTH = 1 << 3, }; /* @@ -112,6 +114,7 @@ enum fio_ioengine_flags { FIO_UNIDIR = 1 << 5, /* engine is uni-directional */ FIO_NOIO = 1 << 6, /* thread does only pseudo IO */ FIO_SIGQUIT = 1 << 7, /* needs SIGQUIT to exit */ + FIO_PIPEIO = 1 << 8, /* input/output no seekable */ }; /* @@ -139,9 +142,10 @@ extern void close_ioengine(struct thread_data *); 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 clear_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);