Lines Matching refs:first
543 zio_t *first, *last, *aio, *dio, *mandatory, *nio; in vdev_queue_aggregate() local
561 first = last = zio; in vdev_queue_aggregate()
579 mandatory = (first->io_flags & ZIO_FLAG_OPTIONAL) ? NULL : first; in vdev_queue_aggregate()
585 while ((dio = AVL_PREV(t, first)) != NULL && in vdev_queue_aggregate()
588 IO_GAP(dio, first) <= maxgap && in vdev_queue_aggregate()
590 first = dio; in vdev_queue_aggregate()
591 if (mandatory == NULL && !(first->io_flags & ZIO_FLAG_OPTIONAL)) in vdev_queue_aggregate()
592 mandatory = first; in vdev_queue_aggregate()
598 while ((first->io_flags & ZIO_FLAG_OPTIONAL) && first != last) { in vdev_queue_aggregate()
599 first = AVL_NEXT(t, first); in vdev_queue_aggregate()
600 ASSERT(first != NULL); in vdev_queue_aggregate()
611 (IO_SPAN(first, dio) <= zfs_vdev_aggregation_limit || in vdev_queue_aggregate()
654 while (last != mandatory && last != first) { in vdev_queue_aggregate()
661 if (first == last) in vdev_queue_aggregate()
664 size = IO_SPAN(first, last); in vdev_queue_aggregate()
667 aio = zio_vdev_delegated_io(first->io_vd, first->io_offset, in vdev_queue_aggregate()
668 abd_alloc_for_io(size, B_TRUE), size, first->io_type, in vdev_queue_aggregate()
671 aio->io_timestamp = first->io_timestamp; in vdev_queue_aggregate()
673 nio = first; in vdev_queue_aggregate()