X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=ioengine.h;h=6809501ffa795fa46e59419d91345bfc3904a0a6;hb=6d68b99712c112fde6dedda6e6e24af3e9552d0e;hp=997f90afcfe605feee231da08822289364be20dc;hpb=36d80bc7c7f7fbc2612941b7dd7ceaf645798c7f;p=fio.git diff --git a/ioengine.h b/ioengine.h index 997f90af..6809501f 100644 --- a/ioengine.h +++ b/ioengine.h @@ -1,6 +1,13 @@ #ifndef FIO_IOENGINE_H #define FIO_IOENGINE_H +#ifdef CONFIG_LIBAIO +#include +#endif +#ifdef CONFIG_GUASI +#include +#endif + #define FIO_IOOPS_VERSION 14 enum { @@ -19,25 +26,25 @@ enum { */ struct io_u { union { -#ifdef FIO_HAVE_LIBAIO +#ifdef CONFIG_LIBAIO struct iocb iocb; #endif -#ifdef FIO_HAVE_POSIXAIO +#ifdef CONFIG_POSIXAIO os_aiocb_t aiocb; #endif #ifdef FIO_HAVE_SGIO struct sg_io_hdr hdr; #endif -#ifdef FIO_HAVE_GUASI +#ifdef CONFIG_GUASI guasi_req_t greq; #endif -#ifdef FIO_HAVE_SOLARISAIO +#ifdef CONFIG_SOLARISAIO aio_result_t resultp; #endif #ifdef FIO_HAVE_BINJECT struct b_user_cmd buc; #endif -#ifdef FIO_HAVE_RDMA +#ifdef CONFIG_RDMA struct ibv_mr *mr; #endif void *mmap_data; @@ -121,6 +128,8 @@ struct ioengine_ops { int (*close_file)(struct thread_data *, struct fio_file *); int (*get_file_size)(struct thread_data *, struct fio_file *); void (*terminate)(struct thread_data *); + int (*io_u_init)(struct thread_data *, struct io_u *); + void (*io_u_free)(struct thread_data *, struct io_u *); int option_struct_size; struct fio_option *options; void *data;