From: Jens Axboe Date: Thu, 7 Jul 2011 19:06:40 +0000 (+0200) Subject: Ensure that we honor aio_read/write() returning EAGAIN X-Git-Tag: fio-1.56~26 X-Git-Url: https://git.kernel.dk/?p=fio.git;a=commitdiff_plain;h=afa16407813ee36e75aaa665613c469500ed07c6 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 --- 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;