Linux aio doesn't support queued buffered IO, it has to be
O_DIRECT. So print a warning to that effect, so that users
of fio don't get bad results by mistake.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
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);