Lines Matching defs:mvd
170 vdev_t *mvd;
176 if ((mvd = vdev_lookup_by_guid(vd->vdev_child[c], guid)) !=
178 return (mvd);
780 vdev_t *mvd;
784 mvd = vdev_alloc_common(spa, cvd->vdev_id, 0, ops);
786 mvd->vdev_asize = cvd->vdev_asize;
787 mvd->vdev_min_asize = cvd->vdev_min_asize;
788 mvd->vdev_max_asize = cvd->vdev_max_asize;
789 mvd->vdev_ashift = cvd->vdev_ashift;
790 mvd->vdev_state = cvd->vdev_state;
791 mvd->vdev_crtxg = cvd->vdev_crtxg;
794 vdev_add_child(pvd, mvd);
795 cvd->vdev_id = mvd->vdev_children;
796 vdev_add_child(mvd, cvd);
799 if (mvd == mvd->vdev_top)
800 vdev_top_transfer(cvd, mvd);
802 return (mvd);
811 vdev_t *mvd = cvd->vdev_parent;
812 vdev_t *pvd = mvd->vdev_parent;
816 ASSERT(mvd->vdev_children == 1);
817 ASSERT(mvd->vdev_ops == &vdev_mirror_ops ||
818 mvd->vdev_ops == &vdev_replacing_ops ||
819 mvd->vdev_ops == &vdev_spare_ops);
820 cvd->vdev_ashift = mvd->vdev_ashift;
822 vdev_remove_child(mvd, cvd);
823 vdev_remove_child(pvd, mvd);
826 * If cvd will replace mvd as a top-level vdev, preserve mvd's guid.
831 if (mvd->vdev_top == mvd) {
832 uint64_t guid_delta = mvd->vdev_guid - cvd->vdev_guid;
837 cvd->vdev_id = mvd->vdev_id;
842 vdev_top_transfer(mvd, cvd);
844 ASSERT(mvd->vdev_children == 0);
845 vdev_free(mvd);