From f6db4fa5a64501a3df72c2c4394d4c8d9fd9d991 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Tue, 16 Jun 2009 23:23:01 +0200 Subject: [PATCH] sg engine: IO should be done sync of O_SYNC and O_DIRECT Signed-off-by: Jens Axboe --- engines/sg.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/engines/sg.c b/engines/sg.c index 0ed39b3d..57c3834a 100644 --- a/engines/sg.c +++ b/engines/sg.c @@ -240,11 +240,14 @@ static int fio_sgio_prep(struct thread_data *td, struct io_u *io_u) static int fio_sgio_queue(struct thread_data *td, struct io_u *io_u) { struct sg_io_hdr *hdr = &io_u->hdr; - int ret; + int ret, do_sync = 0; fio_ro_check(td, io_u); - ret = fio_sgio_doio(td, io_u, ddir_sync(io_u->ddir)); + if (td->o.sync_io || td->o.odirect || ddir_sync(io_u->ddir)) + do_sync = 1; + + ret = fio_sgio_doio(td, io_u, do_sync); if (ret < 0) io_u->error = errno; -- 2.25.1