From: Jens Axboe Date: Tue, 16 Jun 2009 21:23:01 +0000 (+0200) Subject: sg engine: IO should be done sync of O_SYNC and O_DIRECT X-Git-Tag: fio-1.29-rc1~9 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;ds=inline;h=f6db4fa5a64501a3df72c2c4394d4c8d9fd9d991;p=fio.git sg engine: IO should be done sync of O_SYNC and O_DIRECT Signed-off-by: Jens Axboe --- 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;