Lines Matching refs:io

112 	struct iocb *io = op->iocb;  in restore_iocb()  local
114 io->data = op->data; in restore_iocb()
115 io->u.c.buf = op->buf; in restore_iocb()
116 io->u.c.nbytes = op->nbytes; in restore_iocb()
120 iocb_optimized(struct opioctx *ctx, struct iocb *io) in iocb_optimized() argument
122 unsigned long iop = (unsigned long)io->data; in iocb_optimized()
156 opio_iocb_init(struct opioctx *ctx, struct iocb *io) in opio_iocb_init() argument
164 op->buf = io->u.c.buf; in opio_iocb_init()
165 op->nbytes = io->u.c.nbytes; in opio_iocb_init()
166 op->offset = io->u.c.offset; in opio_iocb_init()
167 op->data = io->data; in opio_iocb_init()
168 op->iocb = io; in opio_iocb_init()
169 io->data = op; in opio_iocb_init()
177 opio_get(struct opioctx *ctx, struct iocb *io) in opio_get() argument
179 if (iocb_optimized(ctx, io)) in opio_get()
180 return (struct opio *)io->data; in opio_get()
182 return opio_iocb_init(ctx, io); in opio_get()
186 merge_tail(struct opioctx *ctx, struct iocb *head, struct iocb *io) in merge_tail() argument
194 opio = opio_get(ctx, io); in merge_tail()
199 head->u.c.nbytes += io->u.c.nbytes; in merge_tail()
206 merge(struct opioctx *ctx, struct iocb *head, struct iocb *io) in merge() argument
208 if (head->aio_lio_opcode != io->aio_lio_opcode) in merge()
211 if (!contiguous_iocbs(head, io)) in merge()
214 return merge_tail(ctx, head, io); in merge()
221 struct iocb *io, **q; in io_merge() local
232 io = q[i]; in io_merge()
233 if (merge(ctx, queue[on_queue], io) != 0) in io_merge()
234 queue[++on_queue] = io; in io_merge()
245 expand_iocb(struct opioctx *ctx, struct iocb **queue, struct iocb *io) in expand_iocb() argument
251 op = (struct opio *)io->data; in expand_iocb()
267 struct iocb *io, **q; in io_expand_iocbs() local
277 io = q[i]; in io_expand_iocbs()
278 if (!iocb_optimized(ctx, io)) in io_expand_iocbs()
279 queue[on_queue++] = io; in io_expand_iocbs()
281 on_queue += expand_iocb(ctx, queue + on_queue, io); in io_expand_iocbs()
292 struct iocb *io; in expand_event() local
296 io = event->obj; in expand_event()
297 ophead = (struct opio *)io->data; in expand_event()
300 if (event->res == io->u.c.nbytes) in expand_event()
324 struct iocb *io; in io_split() local
335 io = ep->obj; in io_split()
336 if (!iocb_optimized(ctx, io)) in io_split()
349 __print_iocb(struct opioctx *ctx, struct iocb *io, char *prefix) in __print_iocb() argument
353 type = (io->aio_lio_opcode == IO_CMD_PREAD ? "read" : "write"); in __print_iocb()
356 " optimized: %d\n", prefix, io->u.c.offset, io->u.c.nbytes, in __print_iocb()
357 io->u.c.buf, type, (unsigned long)io->data, in __print_iocb()
358 iocb_optimized(ctx, io)); in __print_iocb()
362 #define print_iocb(ctx, io) __print_iocb(ctx, io, null_prefix) argument
369 struct iocb *io; in print_iocbs() local
373 io = iocbs[i]; in print_iocbs()
375 __print_iocb(ctx, io, pref); in print_iocbs()
396 struct iocb *io; in print_merged_iocbs() local
401 io = iocbs[i]; in print_merged_iocbs()
403 __print_iocb(ctx, io, pref); in print_merged_iocbs()
405 if (iocb_optimized(ctx, io)) { in print_merged_iocbs()
406 op = (struct opio *)io->data; in print_merged_iocbs()
416 struct iocb *io; in print_events() local
419 io = events[i].obj; in print_events()
420 print_iocb(ctx, io); in print_events()
499 struct iocb *io = iocbs[i + j]; in randomize_iocbs() local
500 io->aio_lio_opcode = type; in randomize_iocbs()
501 io->u.c.nbytes = nbytes; in randomize_iocbs()
502 io->u.c.offset = offset; in randomize_iocbs()
503 io->u.c.buf = buf; in randomize_iocbs()
506 io->data = make_data(i + j, (j == 0), sparse_mem); in randomize_iocbs()
522 struct iocb *io; in simulate_io() local
531 io = iocbs[i]; in simulate_io()
533 ep->obj = io; in simulate_io()
534 ep->res = (random() % 10 < 8 ? io->u.c.nbytes : 0); in simulate_io()
545 struct iocb *io; in process_events() local
548 io = events[i].obj; in process_events()
549 print_iocb(ctx, io); in process_events()
550 if (data_idx(io->data) != (io - iocb_list)) { in process_events()
552 data_idx(io->data), (io - iocb_list)); in process_events()
555 if (data_is_head(io->data) || data_is_sparse(io->data)) in process_events()
556 xfree(io->u.c.buf); in process_events()
557 memset(io, 0, sizeof(struct iocb)); in process_events()