From afa16407813ee36e75aaa665613c469500ed07c6 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Thu, 7 Jul 2011 21:06:40 +0200 Subject: [PATCH] Ensure that we honor aio_read/write() returning EAGAIN This fixes a problem on OSX, where the number of resources for aio is woefully small. Signed-off-by: Jens Axboe --- engines/posixaio.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/engines/posixaio.c b/engines/posixaio.c index 061812e6..867b5f72 100644 --- a/engines/posixaio.c +++ b/engines/posixaio.c @@ -184,6 +184,13 @@ static int fio_posixaio_queue(struct thread_data *td, } if (ret) { + /* + * At least OSX has a very low limit on the number of pending + * IOs, so if it will return EAGAIN. + */ + if (errno == EAGAIN) + return FIO_Q_BUSY; + io_u->error = errno; td_verror(td, io_u->error, "xfer"); return FIO_Q_COMPLETED; -- 2.25.1