Lines Matching refs: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++;
776 vdev_add_parent(vdev_t *cvd, vdev_ops_t *ops)
778 spa_t *spa = cvd->vdev_spa;
779 vdev_t *pvd = cvd->vdev_parent;
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;
793 vdev_remove_child(pvd, cvd);
795 cvd->vdev_id = mvd->vdev_children;
796 vdev_add_child(mvd, cvd);
797 vdev_top_update(cvd->vdev_top, cvd->vdev_top);
800 vdev_top_transfer(cvd, mvd);
809 vdev_remove_parent(vdev_t *cvd)
811 vdev_t *mvd = cvd->vdev_parent;
814 ASSERT(spa_config_held(cvd->vdev_spa, SCL_ALL, RW_WRITER) == SCL_ALL);
820 cvd->vdev_ashift = mvd->vdev_ashift;
822 vdev_remove_child(mvd, cvd);
826 * If cvd will replace mvd as a top-level vdev, preserve mvd's guid.
832 uint64_t guid_delta = mvd->vdev_guid - cvd->vdev_guid;
833 cvd->vdev_orig_guid = cvd->vdev_guid;
834 cvd->vdev_guid += guid_delta;
835 cvd->vdev_guid_sum += guid_delta;
837 cvd->vdev_id = mvd->vdev_id;
838 vdev_add_child(pvd, cvd);
839 vdev_top_update(cvd->vdev_top, cvd->vdev_top);
841 if (cvd == cvd->vdev_top)
842 vdev_top_transfer(mvd, cvd);
1904 vdev_t *cvd = vd->vdev_child[c];
1905 mutex_enter(&cvd->vdev_dtl_lock);
1906 space_reftree_add_map(&reftree, cvd->vdev_dtl[s], 1);
1907 mutex_exit(&cvd->vdev_dtl_lock);
2140 vdev_t *cvd = vd->vdev_child[c];
2143 if (vdev_resilver_needed(cvd, &cmin, &cmax)) {
2769 vdev_t *cvd = rvd->vdev_child[c];
2770 vdev_stat_t *cvs = &cvd->vdev_stat;
2776 cvs->vs_scan_removing = cvd->vdev_removing;
3416 vdev_t *cvd, *pvd = vd->vdev_parent;
3421 cvd = pvd->vdev_child[0];
3423 vdev_remove_parent(cvd);
3424 cvd->vdev_splitting = B_TRUE;
3426 vdev_propagate_state(cvd);
3433 vdev_t *cvd = vd->vdev_child[c];
3435 vdev_deadman(cvd);