X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=engines%2Flibaio.c;h=8f677115056d2e922bda4eaa5f766423db07b6ec;hp=871c5a4785d727a72471499ffca93344ff660b1c;hb=ad92396cc21055cee93470dcf65e82ccde03aac5;hpb=317b95d07d4921d2594a1be6e014c9c2d062fe75 diff --git a/engines/libaio.c b/engines/libaio.c index 871c5a47..8f677115 100644 --- a/engines/libaio.c +++ b/engines/libaio.c @@ -86,6 +86,8 @@ static int fio_libaio_queue(struct thread_data *td, struct io_u *io_u) { struct libaio_data *ld = td->io_ops->data; + fio_ro_check(td, io_u); + if (ld->iocbs_nr == (int) td->o.iodepth) return FIO_Q_BUSY; @@ -189,8 +191,14 @@ static void fio_libaio_cleanup(struct thread_data *td) static int fio_libaio_init(struct thread_data *td) { struct libaio_data *ld = malloc(sizeof(*ld)); + static int warn_print; int err; + if (td->o.iodepth > 1 && !td->o.odirect && !warn_print) { + log_info("fio: libaio engine is only async for non-buffered IO\n"); + warn_print = 1; + } + memset(ld, 0, sizeof(*ld)); err = io_queue_init(td->o.iodepth, &ld->aio_ctx);