X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;ds=sidebyside;f=ioengine.h;h=108c97cd0b93a629607d264ca711748967b3b536;hb=9f0e365d0d08f9df142d48bd891370dc50148d5f;hp=37bf5fce125e0e9e265b9137cf63dc9b0eb406fa;hpb=d9b100fc117a963334fb71b8b662be90cd456068;p=fio.git diff --git a/ioengine.h b/ioengine.h index 37bf5fce..108c97cd 100644 --- a/ioengine.h +++ b/ioengine.h @@ -15,12 +15,12 @@ #include #endif -#define FIO_IOOPS_VERSION 19 +#define FIO_IOOPS_VERSION 20 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 @@ -144,6 +144,7 @@ struct ioengine_ops { 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 (*unlink_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 *); @@ -166,6 +167,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 */ }; /* @@ -184,6 +186,7 @@ extern int __must_check td_io_getevents(struct thread_data *, unsigned int, unsi extern int __must_check td_io_commit(struct thread_data *); extern int __must_check td_io_open_file(struct thread_data *, struct fio_file *); extern int td_io_close_file(struct thread_data *, struct fio_file *); +extern int td_io_unlink_file(struct thread_data *, struct fio_file *); extern int __must_check td_io_get_file_size(struct thread_data *, struct fio_file *); extern struct ioengine_ops *load_ioengine(struct thread_data *, const char *);