else
iocb = &io_u->iocb;
- iocb->u.c.flags = 0;
-
if (io_u->ddir == DDIR_READ) {
- 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;
+ if (o->fixedbufs) {
+ iocb->aio_fildes = f->fd;
+ 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) {
- 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;
+ if (o->fixedbufs) {
+ iocb->aio_fildes = f->fd;
+ 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;
+ }
} else if (ddir_sync(io_u->ddir))
io_prep_fsync(iocb, f->fd);
io_u = ld->io_u_index[i];
iocb = &ld->user_iocbs[i];
iocb->u.c.buf = io_u->buf;
- iocb->u.c.nbytes = io_u->buflen;
+ iocb->u.c.nbytes = td_max_bs(td);
+
+ iocb->u.c.flags = 0;
+ if (o->hipri)
+ iocb->u.c.flags |= IOCB_FLAG_HIPRI;
}
}