X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=ioengine.h;h=161acf595caa4c53217b9ee2673fc3b80ed1143c;hb=cbf448e125bd4d2d698151d9fc6fa43956017d80;hp=37f0336a616d2e107e6eb509aad54fb3753ffafa;hpb=0d593542dd59324fa8a6956716a1278732812af2;p=fio.git diff --git a/ioengine.h b/ioengine.h index 37f0336a..161acf59 100644 --- a/ioengine.h +++ b/ioengine.h @@ -7,6 +7,7 @@ #include "io_ddir.h" #include "debug.h" #include "file.h" +#include "workqueue.h" #ifdef CONFIG_LIBAIO #include @@ -15,7 +16,7 @@ #include #endif -#define FIO_IOOPS_VERSION 22 +#define FIO_IOOPS_VERSION 23 enum { IO_U_F_FREE = 1 << 0, @@ -89,7 +90,10 @@ struct io_u { void *engine_data; }; - struct flist_head verify_list; + union { + struct flist_head verify_list; + struct workqueue_work work; + }; /* * Callback for io completion @@ -153,6 +157,8 @@ struct ioengine_ops { int (*unlink_file)(struct thread_data *, struct fio_file *); int (*get_file_size)(struct thread_data *, struct fio_file *); void (*terminate)(struct thread_data *); + int (*iomem_alloc)(struct thread_data *, size_t); + void (*iomem_free)(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;