The following changes since commit 731365d849407426fe32981c97a2f9b42cdc0149: flow: fix hang with flow control and zoned block devices (2020-12-07 16:56:37 -0700) are available in the Git repository at: git://git.kernel.dk/fio.git master for you to fetch changes up to dee9b29bef5bc344815d7a53dda6bb21426f2bfa: Merge branch 'wip-rbd-engine-tweaks' of https://github.com/dillaman/fio (2020-12-15 09:18:28 -0700) ---------------------------------------------------------------- Jason Dillaman (2): engines/rbd: add support for "direct=1" option engines/rbd: issue initial flush to enable writeback/around mode Jens Axboe (1): Merge branch 'wip-rbd-engine-tweaks' of https://github.com/dillaman/fio engines/rbd.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) --- Diff of recent changes: diff --git a/engines/rbd.c b/engines/rbd.c index 268b6ebd..c6203d4c 100644 --- a/engines/rbd.c +++ b/engines/rbd.c @@ -227,12 +227,30 @@ static int _fio_rbd_connect(struct thread_data *td) goto failed_shutdown; } + if (td->o.odirect) { + r = rados_conf_set(rbd->cluster, "rbd_cache", "false"); + if (r < 0) { + log_info("failed to disable RBD in-memory cache\n"); + } + } + r = rbd_open(rbd->io_ctx, o->rbd_name, &rbd->image, NULL /*snap */ ); if (r < 0) { log_err("rbd_open failed.\n"); goto failed_open; } + if (!td->o.odirect) { + /* + * ensure cache enables writeback/around mode unless explicitly + * configured for writethrough mode + */ + r = rbd_flush(rbd->image); + if (r < 0) { + log_info("rbd: failed to issue initial flush\n"); + } + } + if (!_fio_rbd_setup_poll(rbd)) goto failed_poll;