The following changes since commit 8cf503ce5956e4c287e13d5c7761a03fbb4b54cc: Merge branch 'patch-1' of https://github.com/chengli-rutgers/fio into master (2020-10-13 13:07:37 -0600) are available in the Git repository at: git://git.kernel.dk/fio.git master for you to fetch changes up to 8bfe330eb42739d503d35d0b7d96f98c5c544204: Disallow offload IO mode for engines marked with FIO_NO_OFFLOAD (2020-10-14 20:11:56 -0600) ---------------------------------------------------------------- Jens Axboe (1): Disallow offload IO mode for engines marked with FIO_NO_OFFLOAD engines/io_uring.c | 2 +- ioengines.c | 2 +- ioengines.h | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) --- Diff of recent changes: diff --git a/engines/io_uring.c b/engines/io_uring.c index 69f48859..b997c8d8 100644 --- a/engines/io_uring.c +++ b/engines/io_uring.c @@ -806,7 +806,7 @@ static int fio_ioring_close_file(struct thread_data *td, struct fio_file *f) static struct ioengine_ops ioengine = { .name = "io_uring", .version = FIO_IOOPS_VERSION, - .flags = FIO_ASYNCIO_SYNC_TRIM, + .flags = FIO_ASYNCIO_SYNC_TRIM | FIO_NO_OFFLOAD, .init = fio_ioring_init, .post_init = fio_ioring_post_init, .io_u_init = fio_ioring_io_u_init, diff --git a/ioengines.c b/ioengines.c index d3be8026..3e43ef2f 100644 --- a/ioengines.c +++ b/ioengines.c @@ -45,7 +45,7 @@ static bool check_engine_ops(struct thread_data *td, struct ioengine_ops *ops) * async engines aren't reliable with offload */ if ((td->o.io_submit_mode == IO_MODE_OFFLOAD) && - !(ops->flags & FIO_FAKEIO)) { + (ops->flags & FIO_NO_OFFLOAD)) { log_err("%s: can't be used with offloaded submit. Use a sync " "engine\n", ops->name); return true; diff --git a/ioengines.h b/ioengines.h index 54dadba2..fbe52fa4 100644 --- a/ioengines.h +++ b/ioengines.h @@ -77,7 +77,8 @@ enum fio_ioengine_flags { FIO_NOSTATS = 1 << 12, /* don't do IO stats */ FIO_NOFILEHASH = 1 << 13, /* doesn't hash the files for lookup later. */ FIO_ASYNCIO_SYNC_TRIM - = 1 << 14 /* io engine has async ->queue except for trim */ + = 1 << 14, /* io engine has async ->queue except for trim */ + FIO_NO_OFFLOAD = 1 << 15, /* no async offload */ }; /*