Recent changes (master)
The following changes since commit 5b8f19b7afe0cabc002c453a1a4abd7a494880bb:
Fix 'min' latency times being 0 with ramp_time (2018-12-14 14:36:52 -0700)
are available in the Git repository at:
git://git.kernel.dk/fio.git master
for you to fetch changes up to d63a472d4b213533236ae9aab9cf9e0ec2854c31:
engines/aio-ring: initialization error handling (2018-12-19 12:55:10 -0700)
----------------------------------------------------------------
Jens Axboe (2):
engines/aio-ring: cleanup read/write prep engines/aio-ring: initialization error handling
engines/aioring.c | 38 +++++++++++++++++--------------------- 1 file changed, 17 insertions(+), 21 deletions(-)
---
Diff of recent changes:
engines/aioring.c +17 -21
@@ -197,26 +197,20 @@ static int fio_aioring_prep(struct thread_data *td, struct io_u *io_u) iocb = &ld->iocbs[io_u->index]; -if (io_u->ddir ==DDIR_READ ) { -if (o->fixedbufs) { - iocb->aio_fildes = f->fd; +if (io_u->ddir ==DDIR_READ || io_u->ddir ==DDIR_WRITE ) { +if (io_u->ddir ==DDIR_READ ) iocb->aio_lio_opcode =IO_CMD_PREAD ; - iocb->u.c.offset = io_u->offset; - }else { -io_prep_pread (iocb, f->fd, io_u->xfer_buf, io_u->xfer_buflen, io_u->offset); -if (o->hipri) - iocb->u.c.flags |=IOCB_FLAG_HIPRI ; - } - }else if (io_u->ddir ==DDIR_WRITE ) { -if (o->fixedbufs) { - iocb->aio_fildes = f->fd; +else iocb->aio_lio_opcode =IO_CMD_PWRITE ; - iocb->u.c.offset = io_u->offset; - }else { -io_prep_pwrite (iocb, f->fd, io_u->xfer_buf, io_u->xfer_buflen, io_u->offset); -if (o->hipri) - iocb->u.c.flags |=IOCB_FLAG_HIPRI ; - } + iocb->aio_reqprio =0 ; + iocb->aio_fildes = f->fd; + iocb->u.c.buf = io_u->xfer_buf; + iocb->u.c.nbytes = io_u->xfer_buflen; + iocb->u.c.offset = io_u->offset; +if (o->hipri) + iocb->u.c.flags |=IOCB_FLAG_HIPRI ; +else + iocb->u.c.flags =0 ; }else if (ddir_sync (io_u->ddir))io_prep_fsync (iocb, f->fd);
@@ -521,13 +515,15 @@ static int fio_aioring_post_init(struct thread_data *td) } err =fio_aioring_queue_init (td); + +/* Adjust depth back again */ + td->o.iodepth--; +if (err) { -td_verror (td, -err,"io_queue_init" ); +td_verror (td, errno,"io_queue_init" );return 1 ; } -/* Adjust depth back again */ - td->o.iodepth--;return 0 ; }