Recent changes (master)

Jens Axboe
2018-12-20T13:00:22Z

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:

diff --git a/engines/aioring.c b/engines/aioring.c
index 925b8862..59551f9c 100644
--- a/engines/aioring.c
+++ b/engines/aioring.c
@@ -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;
}