Lines Matching refs:io_u
37 struct io_u **io_us;
42 static int fio_guasi_prep(struct thread_data fio_unused *td, struct io_u *io_u) in fio_guasi_prep() argument
45 GDBG_PRINT(("fio_guasi_prep(%p)\n", io_u)); in fio_guasi_prep()
46 io_u->greq = NULL; in fio_guasi_prep()
51 static struct io_u *fio_guasi_event(struct thread_data *td, int event) in fio_guasi_event()
54 struct io_u *io_u; in fio_guasi_event() local
62 io_u = rinf.asid; in fio_guasi_event()
63 io_u->error = EINPROGRESS; in fio_guasi_event()
64 GDBG_PRINT(("fio_guasi_event(%d) -> %p\n", event, io_u)); in fio_guasi_event()
66 io_u->error = rinf.result; in fio_guasi_event()
67 if (io_u->ddir == DDIR_READ || in fio_guasi_event()
68 io_u->ddir == DDIR_WRITE) { in fio_guasi_event()
69 io_u->error = 0; in fio_guasi_event()
70 if (rinf.result != (long) io_u->xfer_buflen) { in fio_guasi_event()
72 io_u->resid = io_u->xfer_buflen - rinf.result; in fio_guasi_event()
74 io_u->error = rinf.error; in fio_guasi_event()
79 return io_u; in fio_guasi_event()
116 static int fio_guasi_queue(struct thread_data *td, struct io_u *io_u) in fio_guasi_queue() argument
120 fio_ro_check(td, io_u); in fio_guasi_queue()
122 GDBG_PRINT(("fio_guasi_queue(%p)\n", io_u)); in fio_guasi_queue()
126 ld->io_us[ld->queued_nr] = io_u; in fio_guasi_queue()
131 static void fio_guasi_queued(struct thread_data *td, struct io_u **io_us, int nr) in fio_guasi_queued()
134 struct io_u *io_u; in fio_guasi_queued() local
143 io_u = io_us[i]; in fio_guasi_queued()
144 memcpy(&io_u->issue_time, &now, sizeof(now)); in fio_guasi_queued()
145 io_u_queued(td, io_u); in fio_guasi_queued()
153 struct io_u *io_u; in fio_guasi_commit() local
158 io_u = ld->io_us[i]; in fio_guasi_commit()
159 GDBG_PRINT(("fio_guasi_commit(%d) --> %p\n", i, io_u)); in fio_guasi_commit()
160 f = io_u->file; in fio_guasi_commit()
161 io_u->greq = NULL; in fio_guasi_commit()
162 if (io_u->ddir == DDIR_READ) in fio_guasi_commit()
163 io_u->greq = guasi__pread(ld->hctx, ld, io_u, 0, in fio_guasi_commit()
164 f->fd, io_u->xfer_buf, io_u->xfer_buflen, in fio_guasi_commit()
165 io_u->offset); in fio_guasi_commit()
166 else if (io_u->ddir == DDIR_WRITE) in fio_guasi_commit()
167 io_u->greq = guasi__pwrite(ld->hctx, ld, io_u, 0, in fio_guasi_commit()
168 f->fd, io_u->xfer_buf, io_u->xfer_buflen, in fio_guasi_commit()
169 io_u->offset); in fio_guasi_commit()
170 else if (ddir_sync(io_u->ddir)) in fio_guasi_commit()
171 io_u->greq = guasi__fsync(ld->hctx, ld, io_u, 0, f->fd); in fio_guasi_commit()
174 io_u->ddir); in fio_guasi_commit()
176 if (io_u->greq == NULL) { in fio_guasi_commit()
190 struct io_u *io_u) in fio_guasi_cancel() argument
192 GDBG_PRINT(("fio_guasi_cancel(%p) req=%p\n", io_u, io_u->greq)); in fio_guasi_cancel()
193 if (io_u->greq != NULL) in fio_guasi_cancel()
194 guasi_req_cancel(io_u->greq); in fio_guasi_cancel()
233 ld->io_us = malloc(ld->max_reqs * sizeof(struct io_u *)); in fio_guasi_init()
234 memset(ld->io_us, 0, ld->max_reqs * sizeof(struct io_u *)); in fio_guasi_init()