Lines Matching refs:dio

543 	zio_t *first, *last, *aio, *dio, *mandatory, *nio;  in vdev_queue_aggregate()  local
585 while ((dio = AVL_PREV(t, first)) != NULL && in vdev_queue_aggregate()
586 (dio->io_flags & ZIO_FLAG_AGG_INHERIT) == flags && in vdev_queue_aggregate()
587 IO_SPAN(dio, last) <= zfs_vdev_aggregation_limit && in vdev_queue_aggregate()
588 IO_GAP(dio, first) <= maxgap && in vdev_queue_aggregate()
589 dio->io_type == zio->io_type) { in vdev_queue_aggregate()
590 first = dio; in vdev_queue_aggregate()
609 while ((dio = AVL_NEXT(t, last)) != NULL && in vdev_queue_aggregate()
610 (dio->io_flags & ZIO_FLAG_AGG_INHERIT) == flags && in vdev_queue_aggregate()
611 (IO_SPAN(first, dio) <= zfs_vdev_aggregation_limit || in vdev_queue_aggregate()
612 (dio->io_flags & ZIO_FLAG_OPTIONAL)) && in vdev_queue_aggregate()
613 IO_GAP(last, dio) <= maxgap && in vdev_queue_aggregate()
614 dio->io_type == zio->io_type) { in vdev_queue_aggregate()
615 last = dio; in vdev_queue_aggregate()
632 while ((dio = AVL_NEXT(t, nio)) != NULL && in vdev_queue_aggregate()
633 IO_GAP(nio, dio) == 0 && in vdev_queue_aggregate()
634 IO_GAP(mandatory, dio) <= zfs_vdev_write_gap_limit) { in vdev_queue_aggregate()
635 nio = dio; in vdev_queue_aggregate()
650 dio = AVL_NEXT(t, last); in vdev_queue_aggregate()
651 dio->io_flags &= ~ZIO_FLAG_OPTIONAL; in vdev_queue_aggregate()
675 dio = nio; in vdev_queue_aggregate()
676 nio = AVL_NEXT(t, dio); in vdev_queue_aggregate()
677 ASSERT3U(dio->io_type, ==, aio->io_type); in vdev_queue_aggregate()
679 if (dio->io_flags & ZIO_FLAG_NODATA) { in vdev_queue_aggregate()
680 ASSERT3U(dio->io_type, ==, ZIO_TYPE_WRITE); in vdev_queue_aggregate()
682 dio->io_offset - aio->io_offset, dio->io_size); in vdev_queue_aggregate()
683 } else if (dio->io_type == ZIO_TYPE_WRITE) { in vdev_queue_aggregate()
684 abd_copy_off(aio->io_abd, dio->io_abd, in vdev_queue_aggregate()
685 dio->io_offset - aio->io_offset, 0, dio->io_size); in vdev_queue_aggregate()
688 zio_add_child(dio, aio); in vdev_queue_aggregate()
689 vdev_queue_io_remove(vq, dio); in vdev_queue_aggregate()
690 } while (dio != last); in vdev_queue_aggregate()
697 while ((dio = zio_walk_parents(aio, &zl)) != NULL) { in vdev_queue_aggregate()
698 zio_vdev_io_bypass(dio); in vdev_queue_aggregate()
699 zio_execute(dio); in vdev_queue_aggregate()