Add ->invalidate() IO engine ops
Allow IO engines to plug in their own invalidate cache handler.
This fixes an issue on rbd, where we attempt to invalidate the
cache, but fail because it's not a valid file descriptor.
Reported-by: xan.peng@gmail.com
Signed-off-by: Jens Axboe <axboe@fb.com>
diff --git a/ioengine.h b/ioengine.h
index 6e3c717..37bf5fc 100644
--- a/ioengine.h
+++ b/ioengine.h
@@ -15,7 +15,7 @@
#include <guasi.h>
#endif
-#define FIO_IOOPS_VERSION 18
+#define FIO_IOOPS_VERSION 19
enum {
IO_U_F_FREE = 1 << 0,
@@ -143,6 +143,7 @@
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 *);