Lines Matching defs:mvd
170 vdev_t *mvd;
176 if ((mvd = vdev_lookup_by_guid(vd->vdev_child[c], guid)) !=
178 return (mvd);
763 vdev_t *mvd;
767 mvd = vdev_alloc_common(spa, cvd->vdev_id, 0, ops);
769 mvd->vdev_asize = cvd->vdev_asize;
770 mvd->vdev_min_asize = cvd->vdev_min_asize;
771 mvd->vdev_max_asize = cvd->vdev_max_asize;
772 mvd->vdev_ashift = cvd->vdev_ashift;
773 mvd->vdev_state = cvd->vdev_state;
774 mvd->vdev_crtxg = cvd->vdev_crtxg;
777 vdev_add_child(pvd, mvd);
778 cvd->vdev_id = mvd->vdev_children;
779 vdev_add_child(mvd, cvd);
782 if (mvd == mvd->vdev_top)
783 vdev_top_transfer(cvd, mvd);
785 return (mvd);
794 vdev_t *mvd = cvd->vdev_parent;
795 vdev_t *pvd = mvd->vdev_parent;
799 ASSERT(mvd->vdev_children == 1);
800 ASSERT(mvd->vdev_ops == &vdev_mirror_ops ||
801 mvd->vdev_ops == &vdev_replacing_ops ||
802 mvd->vdev_ops == &vdev_spare_ops);
803 cvd->vdev_ashift = mvd->vdev_ashift;
805 vdev_remove_child(mvd, cvd);
806 vdev_remove_child(pvd, mvd);
809 * If cvd will replace mvd as a top-level vdev, preserve mvd's guid.
814 if (mvd->vdev_top == mvd) {
815 uint64_t guid_delta = mvd->vdev_guid - cvd->vdev_guid;
820 cvd->vdev_id = mvd->vdev_id;
825 vdev_top_transfer(mvd, cvd);
827 ASSERT(mvd->vdev_children == 0);
828 vdev_free(mvd);