libaio engine: queue init error handling
It fails for repeated large io depths, so make sure we retrieve the
error and log it.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
diff --git a/engines/libaio.c b/engines/libaio.c
index 895b914..7c44927 100644
--- a/engines/libaio.c
+++ b/engines/libaio.c
@@ -190,10 +190,13 @@
static int fio_libaio_init(struct thread_data *td)
{
struct libaio_data *ld = malloc(sizeof(*ld));
+ int err;
memset(ld, 0, sizeof(*ld));
- if (io_queue_init(td->o.iodepth, &ld->aio_ctx)) {
- td_verror(td, errno, "io_queue_init");
+
+ err = io_queue_init(td->o.iodepth, &ld->aio_ctx);
+ if (err) {
+ td_verror(td, -err, "io_queue_init");
free(ld);
return 1;
}