• Home
  • Raw
  • Download

Lines Matching refs:io_u

266 		struct io_u *io_u;  in cleanup_pending_aio()  local
269 io_u_qiter(&td->io_u_all, io_u, i) { in cleanup_pending_aio()
270 if (io_u->flags & IO_U_F_FLIGHT) { in cleanup_pending_aio()
271 r = td->io_ops->cancel(td, io_u); in cleanup_pending_aio()
273 put_io_u(td, io_u); in cleanup_pending_aio()
288 struct io_u *io_u = __get_io_u(td); in fio_io_sync() local
291 if (!io_u) in fio_io_sync()
294 io_u->ddir = DDIR_SYNC; in fio_io_sync()
295 io_u->file = f; in fio_io_sync()
297 if (td_io_prep(td, io_u)) { in fio_io_sync()
298 put_io_u(td, io_u); in fio_io_sync()
303 ret = td_io_queue(td, io_u); in fio_io_sync()
305 td_verror(td, io_u->error, "td_io_queue"); in fio_io_sync()
306 put_io_u(td, io_u); in fio_io_sync()
312 if (io_u->error) { in fio_io_sync()
313 td_verror(td, io_u->error, "td_io_queue"); in fio_io_sync()
317 if (io_u_sync_complete(td, io_u, NULL) < 0) in fio_io_sync()
457 struct io_u *io_u; in do_verify() local
483 io_u = NULL; in do_verify()
503 io_u = __get_io_u(td); in do_verify()
504 if (!io_u) in do_verify()
507 if (get_next_verify(td, io_u)) { in do_verify()
508 put_io_u(td, io_u); in do_verify()
512 if (td_io_prep(td, io_u)) { in do_verify()
513 put_io_u(td, io_u); in do_verify()
520 while ((io_u = get_io_u(td)) != NULL) { in do_verify()
521 if (IS_ERR(io_u)) { in do_verify()
522 io_u = NULL; in do_verify()
532 if (io_u->ddir == DDIR_READ) { in do_verify()
538 put_io_u(td, io_u); in do_verify()
540 } else if (io_u->ddir == DDIR_TRIM) { in do_verify()
541 io_u->ddir = DDIR_READ; in do_verify()
542 io_u->flags |= IO_U_F_TRIMMED; in do_verify()
544 } else if (io_u->ddir == DDIR_WRITE) { in do_verify()
545 io_u->ddir = DDIR_READ; in do_verify()
548 put_io_u(td, io_u); in do_verify()
553 if (!io_u) in do_verify()
557 if (verify_state_should_stop(td, io_u)) { in do_verify()
558 put_io_u(td, io_u); in do_verify()
563 io_u->end_io = verify_io_u_async; in do_verify()
565 io_u->end_io = verify_io_u; in do_verify()
567 ddir = io_u->ddir; in do_verify()
569 fio_gettime(&io_u->start_time, NULL); in do_verify()
571 ret = td_io_queue(td, io_u); in do_verify()
574 if (io_u->error) { in do_verify()
575 ret = -io_u->error; in do_verify()
576 clear_io_u(td, io_u); in do_verify()
577 } else if (io_u->resid) { in do_verify()
578 int bytes = io_u->xfer_buflen - io_u->resid; in do_verify()
585 put_io_u(td, io_u); in do_verify()
589 io_u->xfer_buflen = io_u->resid; in do_verify()
590 io_u->xfer_buf += bytes; in do_verify()
591 io_u->offset += bytes; in do_verify()
593 if (ddir_rw(io_u->ddir)) in do_verify()
594 td->ts.short_io_u[io_u->ddir]++; in do_verify()
596 f = io_u->file; in do_verify()
597 if (io_u->offset == f->real_file_size) in do_verify()
600 requeue_io_u(td, &io_u); in do_verify()
603 ret = io_u_sync_complete(td, io_u, bytes_done); in do_verify()
611 requeue_io_u(td, &io_u); in do_verify()
751 struct io_u *io_u; in do_io() local
776 io_u = get_io_u(td); in do_io()
777 if (IS_ERR_OR_NULL(io_u)) { in do_io()
778 int err = PTR_ERR(io_u); in do_io()
780 io_u = NULL; in do_io()
790 ddir = io_u->ddir; in do_io()
797 if (td->o.verify != VERIFY_NONE && io_u->ddir == DDIR_READ && in do_io()
798 ((io_u->flags & IO_U_F_VER_LIST) || !td_rw(td))) { in do_io()
801 io_u->rand_seed = __rand(&td->verify_state); in do_io()
803 io_u->rand_seed *= __rand(&td->verify_state); in do_io()
806 if (verify_state_should_stop(td, io_u)) { in do_io()
807 put_io_u(td, io_u); in do_io()
812 io_u->end_io = verify_io_u_async; in do_io()
814 io_u->end_io = verify_io_u; in do_io()
826 if (td_write(td) && io_u->ddir == DDIR_WRITE && in do_io()
830 log_io_piece(td, io_u); in do_io()
832 ret = td_io_queue(td, io_u); in do_io()
835 if (io_u->error) { in do_io()
836 ret = -io_u->error; in do_io()
837 unlog_io_piece(td, io_u); in do_io()
838 clear_io_u(td, io_u); in do_io()
839 } else if (io_u->resid) { in do_io()
840 int bytes = io_u->xfer_buflen - io_u->resid; in do_io()
841 struct fio_file *f = io_u->file; in do_io()
845 trim_io_piece(td, io_u); in do_io()
851 unlog_io_piece(td, io_u); in do_io()
853 put_io_u(td, io_u); in do_io()
857 io_u->xfer_buflen = io_u->resid; in do_io()
858 io_u->xfer_buf += bytes; in do_io()
859 io_u->offset += bytes; in do_io()
861 if (ddir_rw(io_u->ddir)) in do_io()
862 td->ts.short_io_u[io_u->ddir]++; in do_io()
864 if (io_u->offset == f->real_file_size) in do_io()
867 requeue_io_u(td, &io_u); in do_io()
875 ret = io_u_sync_complete(td, io_u, bytes_done); in do_io()
878 bytes_issued += io_u->xfer_buflen; in do_io()
888 io_u_queued(td, io_u); in do_io()
889 bytes_issued += io_u->xfer_buflen; in do_io()
892 unlog_io_piece(td, io_u); in do_io()
893 requeue_io_u(td, &io_u); in do_io()
900 put_io_u(td, io_u); in do_io()
995 struct io_u *io_u; in cleanup_io_u() local
997 while ((io_u = io_u_qpop(&td->io_u_freelist)) != NULL) { in cleanup_io_u()
1000 td->io_ops->io_u_free(td, io_u); in cleanup_io_u()
1002 fio_memfree(io_u, sizeof(*io_u)); in cleanup_io_u()
1017 struct io_u *io_u; in init_io_u() local
1081 ptr = fio_memalign(cl_align, sizeof(*io_u)); in init_io_u()
1087 io_u = ptr; in init_io_u()
1088 memset(io_u, 0, sizeof(*io_u)); in init_io_u()
1089 INIT_FLIST_HEAD(&io_u->verify_list); in init_io_u()
1090 dprint(FD_MEM, "io_u alloc %p, index %u\n", io_u, i); in init_io_u()
1093 io_u->buf = p; in init_io_u()
1094 dprint(FD_MEM, "io_u %p, mem %p\n", io_u, io_u->buf); in init_io_u()
1097 io_u_fill_buffer(td, io_u, min_write, max_bs); in init_io_u()
1103 fill_verify_pattern(td, io_u->buf, max_bs, io_u, 0, 0); in init_io_u()
1107 io_u->index = i; in init_io_u()
1108 io_u->flags = IO_U_F_FREE; in init_io_u()
1109 io_u_qpush(&td->io_u_freelist, io_u); in init_io_u()
1115 io_u_qpush(&td->io_u_all, io_u); in init_io_u()
1118 int ret = td->io_ops->io_u_init(td, io_u); in init_io_u()
1266 struct io_u *io_u; in do_dry_run() local
1272 io_u = get_io_u(td); in do_dry_run()
1273 if (!io_u) in do_dry_run()
1276 io_u->flags |= IO_U_F_FLIGHT; in do_dry_run()
1277 io_u->error = 0; in do_dry_run()
1278 io_u->resid = 0; in do_dry_run()
1279 if (ddir_rw(acct_ddir(io_u))) in do_dry_run()
1280 td->io_issues[acct_ddir(io_u)]++; in do_dry_run()
1281 if (ddir_rw(io_u->ddir)) { in do_dry_run()
1283 td->ts.total_io_u[io_u->ddir]++; in do_dry_run()
1286 if (td_write(td) && io_u->ddir == DDIR_WRITE && in do_dry_run()
1290 log_io_piece(td, io_u); in do_dry_run()
1292 ret = io_u_sync_complete(td, io_u, bytes_done); in do_dry_run()