Lines Matching refs:mc

247 	mirror_child_t *mc;  in vdev_mirror_map_init()  local
309 mc = &mm->mm_child[c]; in vdev_mirror_map_init()
311 mc->mc_vd = vdev_lookup_top(spa, DVA_GET_VDEV(&dva[c])); in vdev_mirror_map_init()
312 mc->mc_offset = DVA_GET_OFFSET(&dva[c]); in vdev_mirror_map_init()
345 mc = &mm->mm_child[c]; in vdev_mirror_map_init()
346 mc->mc_vd = vd->vdev_child[c]; in vdev_mirror_map_init()
347 mc->mc_offset = zio->io_offset; in vdev_mirror_map_init()
405 mirror_child_t *mc = zio->io_private; in vdev_mirror_child_done() local
407 mc->mc_error = zio->io_error; in vdev_mirror_child_done()
408 mc->mc_tried = 1; in vdev_mirror_child_done()
409 mc->mc_skipped = 0; in vdev_mirror_child_done()
415 mirror_child_t *mc = zio->io_private; in vdev_mirror_scrub_done() local
433 mc->mc_error = zio->io_error; in vdev_mirror_scrub_done()
434 mc->mc_tried = 1; in vdev_mirror_scrub_done()
435 mc->mc_skipped = 0; in vdev_mirror_scrub_done()
502 mirror_child_t *mc; in vdev_mirror_child_select() local
504 mc = &mm->mm_child[c]; in vdev_mirror_child_select()
505 if (mc->mc_tried || mc->mc_skipped) in vdev_mirror_child_select()
508 if (mc->mc_vd == NULL || !vdev_readable(mc->mc_vd)) { in vdev_mirror_child_select()
509 mc->mc_error = SET_ERROR(ENXIO); in vdev_mirror_child_select()
510 mc->mc_tried = 1; /* don't even try */ in vdev_mirror_child_select()
511 mc->mc_skipped = 1; in vdev_mirror_child_select()
515 if (vdev_dtl_contains(mc->mc_vd, DTL_MISSING, txg, 1)) { in vdev_mirror_child_select()
516 mc->mc_error = SET_ERROR(ESTALE); in vdev_mirror_child_select()
517 mc->mc_skipped = 1; in vdev_mirror_child_select()
518 mc->mc_speculative = 1; in vdev_mirror_child_select()
522 mc->mc_load = vdev_mirror_load(mm, mc->mc_vd, mc->mc_offset); in vdev_mirror_child_select()
523 if (mc->mc_load > lowest_load) in vdev_mirror_child_select()
526 if (mc->mc_load < lowest_load) { in vdev_mirror_child_select()
527 lowest_load = mc->mc_load; in vdev_mirror_child_select()
563 mirror_child_t *mc; in vdev_mirror_io_start() local
587 mc = &mm->mm_child[c]; in vdev_mirror_io_start()
589 mc->mc_vd, mc->mc_offset, in vdev_mirror_io_start()
593 vdev_mirror_scrub_done, mc)); in vdev_mirror_io_start()
614 mc = &mm->mm_child[c]; in vdev_mirror_io_start()
616 mc->mc_vd, mc->mc_offset, zio->io_abd, zio->io_size, in vdev_mirror_io_start()
618 vdev_mirror_child_done, mc)); in vdev_mirror_io_start()
631 mirror_child_t *mc = &mm->mm_child[c]; in vdev_mirror_worst_error() local
632 int s = mc->mc_speculative; in vdev_mirror_worst_error()
633 error[s] = zio_worst_error(error[s], mc->mc_error); in vdev_mirror_worst_error()
643 mirror_child_t *mc; in vdev_mirror_io_done() local
652 mc = &mm->mm_child[c]; in vdev_mirror_io_done()
654 if (mc->mc_error) { in vdev_mirror_io_done()
655 if (!mc->mc_skipped) in vdev_mirror_io_done()
657 } else if (mc->mc_tried) { in vdev_mirror_io_done()
701 mc = &mm->mm_child[c]; in vdev_mirror_io_done()
704 mc->mc_vd, mc->mc_offset, zio->io_abd, zio->io_size, in vdev_mirror_io_done()
706 vdev_mirror_child_done, mc)); in vdev_mirror_io_done()
731 mc = &mm->mm_child[c]; in vdev_mirror_io_done()
733 if (mc->mc_error == 0) { in vdev_mirror_io_done()
734 if (mc->mc_tried) in vdev_mirror_io_done()
750 mc->mc_vd->vdev_ops != &vdev_indirect_ops && in vdev_mirror_io_done()
751 !vdev_dtl_contains(mc->mc_vd, DTL_PARTIAL, in vdev_mirror_io_done()
754 mc->mc_error = SET_ERROR(ESTALE); in vdev_mirror_io_done()
758 mc->mc_vd, mc->mc_offset, in vdev_mirror_io_done()