Lines Matching refs:io_u
22 struct io_u **io_us;
68 static int fio_libaio_prep(struct thread_data fio_unused *td, struct io_u *io_u) in fio_libaio_prep() argument
70 struct fio_file *f = io_u->file; in fio_libaio_prep()
72 if (io_u->ddir == DDIR_READ) in fio_libaio_prep()
73 io_prep_pread(&io_u->iocb, f->fd, io_u->xfer_buf, io_u->xfer_buflen, io_u->offset); in fio_libaio_prep()
74 else if (io_u->ddir == DDIR_WRITE) in fio_libaio_prep()
75 io_prep_pwrite(&io_u->iocb, f->fd, io_u->xfer_buf, io_u->xfer_buflen, io_u->offset); in fio_libaio_prep()
76 else if (ddir_sync(io_u->ddir)) in fio_libaio_prep()
77 io_prep_fsync(&io_u->iocb, f->fd); in fio_libaio_prep()
82 static struct io_u *fio_libaio_event(struct thread_data *td, int event) in fio_libaio_event()
86 struct io_u *io_u; in fio_libaio_event() local
89 io_u = container_of(ev->obj, struct io_u, iocb); in fio_libaio_event()
91 if (ev->res != io_u->xfer_buflen) { in fio_libaio_event()
92 if (ev->res > io_u->xfer_buflen) in fio_libaio_event()
93 io_u->error = -ev->res; in fio_libaio_event()
95 io_u->resid = io_u->xfer_buflen - ev->res; in fio_libaio_event()
97 io_u->error = 0; in fio_libaio_event()
99 return io_u; in fio_libaio_event()
180 static int fio_libaio_queue(struct thread_data *td, struct io_u *io_u) in fio_libaio_queue() argument
184 fio_ro_check(td, io_u); in fio_libaio_queue()
195 if (ddir_sync(io_u->ddir)) { in fio_libaio_queue()
199 do_io_u_sync(td, io_u); in fio_libaio_queue()
203 if (io_u->ddir == DDIR_TRIM) { in fio_libaio_queue()
207 do_io_u_trim(td, io_u); in fio_libaio_queue()
211 ld->iocbs[ld->head] = &io_u->iocb; in fio_libaio_queue()
212 ld->io_us[ld->head] = io_u; in fio_libaio_queue()
218 static void fio_libaio_queued(struct thread_data *td, struct io_u **io_us, in fio_libaio_queued()
230 struct io_u *io_u = io_us[i]; in fio_libaio_queued() local
232 memcpy(&io_u->issue_time, &now, sizeof(now)); in fio_libaio_queued()
233 io_u_queued(td, io_u); in fio_libaio_queued()
241 struct io_u **io_us; in fio_libaio_commit()
307 static int fio_libaio_cancel(struct thread_data *td, struct io_u *io_u) in fio_libaio_cancel() argument
311 return io_cancel(ld->aio_ctx, &io_u->iocb, ld->aio_events); in fio_libaio_cancel()
355 ld->io_us = calloc(ld->entries, sizeof(struct io_u *)); in fio_libaio_init()