Lines Matching defs:cvd

204 vdev_add_child(vdev_t *pvd, vdev_t *cvd)
207 uint64_t id = cvd->vdev_id;
209 spa_t *spa = cvd->vdev_spa;
212 ASSERT(cvd->vdev_parent == NULL);
214 cvd->vdev_parent = pvd;
232 pvd->vdev_child[id] = cvd;
234 cvd->vdev_top = (pvd->vdev_top ? pvd->vdev_top: cvd);
235 ASSERT(cvd->vdev_top->vdev_parent->vdev_parent == NULL);
241 pvd->vdev_guid_sum += cvd->vdev_guid_sum;
245 vdev_remove_child(vdev_t *pvd, vdev_t *cvd)
248 uint_t id = cvd->vdev_id;
250 ASSERT(cvd->vdev_parent == pvd);
256 ASSERT(pvd->vdev_child[id] == cvd);
259 cvd->vdev_parent = NULL;
275 pvd->vdev_guid_sum -= cvd->vdev_guid_sum;
284 vdev_t **newchild, *cvd;
297 if ((cvd = pvd->vdev_child[c]) != NULL) {
298 newchild[newc] = cvd;
299 cvd->vdev_id = newc++;
759 vdev_add_parent(vdev_t *cvd, vdev_ops_t *ops)
761 spa_t *spa = cvd->vdev_spa;
762 vdev_t *pvd = cvd->vdev_parent;
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;
776 vdev_remove_child(pvd, cvd);
778 cvd->vdev_id = mvd->vdev_children;
779 vdev_add_child(mvd, cvd);
780 vdev_top_update(cvd->vdev_top, cvd->vdev_top);
783 vdev_top_transfer(cvd, mvd);
792 vdev_remove_parent(vdev_t *cvd)
794 vdev_t *mvd = cvd->vdev_parent;
797 ASSERT(spa_config_held(cvd->vdev_spa, SCL_ALL, RW_WRITER) == SCL_ALL);
803 cvd->vdev_ashift = mvd->vdev_ashift;
805 vdev_remove_child(mvd, cvd);
809 * If cvd will replace mvd as a top-level vdev, preserve mvd's guid.
815 uint64_t guid_delta = mvd->vdev_guid - cvd->vdev_guid;
816 cvd->vdev_orig_guid = cvd->vdev_guid;
817 cvd->vdev_guid += guid_delta;
818 cvd->vdev_guid_sum += guid_delta;
820 cvd->vdev_id = mvd->vdev_id;
821 vdev_add_child(pvd, cvd);
822 vdev_top_update(cvd->vdev_top, cvd->vdev_top);
824 if (cvd == cvd->vdev_top)
825 vdev_top_transfer(mvd, cvd);
1886 vdev_t *cvd = vd->vdev_child[c];
1887 mutex_enter(&cvd->vdev_dtl_lock);
1888 space_reftree_add_map(&reftree, cvd->vdev_dtl[s], 1);
1889 mutex_exit(&cvd->vdev_dtl_lock);
2067 vdev_t *cvd = vd->vdev_child[c];
2070 if (vdev_resilver_needed(cvd, &cmin, &cmax)) {
2679 vdev_t *cvd = rvd->vdev_child[c];
2680 vdev_stat_t *cvs = &cvd->vdev_stat;
2686 cvs->vs_scan_removing = cvd->vdev_removing;
3326 vdev_t *cvd, *pvd = vd->vdev_parent;
3331 cvd = pvd->vdev_child[0];
3333 vdev_remove_parent(cvd);
3334 cvd->vdev_splitting = B_TRUE;
3336 vdev_propagate_state(cvd);
3343 vdev_t *cvd = vd->vdev_child[c];
3345 vdev_deadman(cvd);