X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=ioengine.h;h=ebe0ebe9afb5338e3ab5e08e4087418a308adbdd;hp=7e0707bc9c35667ab07fda03f08f62f49cc505cf;hb=83f7b64ea7737da8b0454519dc2143d7ed0473d1;hpb=225ba9e3433cf27d8ff7b213d9f78b7ef2776c70 diff --git a/ioengine.h b/ioengine.h index 7e0707bc..ebe0ebe9 100644 --- a/ioengine.h +++ b/ioengine.h @@ -15,12 +15,12 @@ #include #endif -#define FIO_IOOPS_VERSION 17 +#define FIO_IOOPS_VERSION 19 enum { IO_U_F_FREE = 1 << 0, IO_U_F_FLIGHT = 1 << 1, - IO_U_F_FREE_DEF = 1 << 2, + IO_U_F_NO_FILE_PUT = 1 << 2, IO_U_F_IN_CUR_DEPTH = 1 << 3, IO_U_F_BUSY_OK = 1 << 4, IO_U_F_TRIMMED = 1 << 5, @@ -90,7 +90,7 @@ struct io_u { /* * Callback for io completion */ - int (*end_io)(struct thread_data *, struct io_u *); + int (*end_io)(struct thread_data *, struct io_u **); union { #ifdef CONFIG_LIBAIO @@ -143,6 +143,7 @@ struct ioengine_ops { void (*cleanup)(struct thread_data *); int (*open_file)(struct thread_data *, struct fio_file *); int (*close_file)(struct thread_data *, struct fio_file *); + int (*invalidate)(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 *); @@ -165,6 +166,7 @@ enum fio_ioengine_flags { FIO_BARRIER = 1 << 8, /* engine supports barriers */ FIO_MEMALIGN = 1 << 9, /* engine wants aligned memory */ FIO_BIT_BASED = 1 << 10, /* engine uses a bit base (e.g. uses Kbit as opposed to KB) */ + FIO_FAKEIO = 1 << 11, /* engine pretends to do IO */ }; /*