Lines Matching refs:cvd
352 vdev_add_child(vdev_t *pvd, vdev_t *cvd) in vdev_add_child() argument
355 uint64_t id = cvd->vdev_id; in vdev_add_child()
357 spa_t *spa = cvd->vdev_spa; in vdev_add_child()
360 ASSERT(cvd->vdev_parent == NULL); in vdev_add_child()
362 cvd->vdev_parent = pvd; in vdev_add_child()
380 pvd->vdev_child[id] = cvd; in vdev_add_child()
382 cvd->vdev_top = (pvd->vdev_top ? pvd->vdev_top: cvd); in vdev_add_child()
383 ASSERT(cvd->vdev_top->vdev_parent->vdev_parent == NULL); in vdev_add_child()
389 pvd->vdev_guid_sum += cvd->vdev_guid_sum; in vdev_add_child()
391 if (cvd->vdev_ops->vdev_op_leaf) { in vdev_add_child()
392 list_insert_head(&cvd->vdev_spa->spa_leaf_list, cvd); in vdev_add_child()
393 cvd->vdev_spa->spa_leaf_list_gen++; in vdev_add_child()
398 vdev_remove_child(vdev_t *pvd, vdev_t *cvd) in vdev_remove_child() argument
401 uint_t id = cvd->vdev_id; in vdev_remove_child()
403 ASSERT(cvd->vdev_parent == pvd); in vdev_remove_child()
409 ASSERT(pvd->vdev_child[id] == cvd); in vdev_remove_child()
412 cvd->vdev_parent = NULL; in vdev_remove_child()
424 if (cvd->vdev_ops->vdev_op_leaf) { in vdev_remove_child()
425 spa_t *spa = cvd->vdev_spa; in vdev_remove_child()
426 list_remove(&spa->spa_leaf_list, cvd); in vdev_remove_child()
434 pvd->vdev_guid_sum -= cvd->vdev_guid_sum; in vdev_remove_child()
443 vdev_t **newchild, *cvd; in vdev_compact_children() local
468 if ((cvd = pvd->vdev_child[c]) != NULL) { in vdev_compact_children()
469 newchild[newc] = cvd; in vdev_compact_children()
470 cvd->vdev_id = newc++; in vdev_compact_children()
1086 vdev_add_parent(vdev_t *cvd, vdev_ops_t *ops) in vdev_add_parent() argument
1088 spa_t *spa = cvd->vdev_spa; in vdev_add_parent()
1089 vdev_t *pvd = cvd->vdev_parent; in vdev_add_parent()
1094 mvd = vdev_alloc_common(spa, cvd->vdev_id, 0, ops); in vdev_add_parent()
1096 mvd->vdev_asize = cvd->vdev_asize; in vdev_add_parent()
1097 mvd->vdev_min_asize = cvd->vdev_min_asize; in vdev_add_parent()
1098 mvd->vdev_max_asize = cvd->vdev_max_asize; in vdev_add_parent()
1099 mvd->vdev_psize = cvd->vdev_psize; in vdev_add_parent()
1100 mvd->vdev_ashift = cvd->vdev_ashift; in vdev_add_parent()
1101 mvd->vdev_state = cvd->vdev_state; in vdev_add_parent()
1102 mvd->vdev_crtxg = cvd->vdev_crtxg; in vdev_add_parent()
1104 vdev_remove_child(pvd, cvd); in vdev_add_parent()
1106 cvd->vdev_id = mvd->vdev_children; in vdev_add_parent()
1107 vdev_add_child(mvd, cvd); in vdev_add_parent()
1108 vdev_top_update(cvd->vdev_top, cvd->vdev_top); in vdev_add_parent()
1111 vdev_top_transfer(cvd, mvd); in vdev_add_parent()
1120 vdev_remove_parent(vdev_t *cvd) in vdev_remove_parent() argument
1122 vdev_t *mvd = cvd->vdev_parent; in vdev_remove_parent()
1125 ASSERT(spa_config_held(cvd->vdev_spa, SCL_ALL, RW_WRITER) == SCL_ALL); in vdev_remove_parent()
1131 cvd->vdev_ashift = mvd->vdev_ashift; in vdev_remove_parent()
1133 vdev_remove_child(mvd, cvd); in vdev_remove_parent()
1143 uint64_t guid_delta = mvd->vdev_guid - cvd->vdev_guid; in vdev_remove_parent()
1144 cvd->vdev_orig_guid = cvd->vdev_guid; in vdev_remove_parent()
1145 cvd->vdev_guid += guid_delta; in vdev_remove_parent()
1146 cvd->vdev_guid_sum += guid_delta; in vdev_remove_parent()
1148 cvd->vdev_id = mvd->vdev_id; in vdev_remove_parent()
1149 vdev_add_child(pvd, cvd); in vdev_remove_parent()
1150 vdev_top_update(cvd->vdev_top, cvd->vdev_top); in vdev_remove_parent()
1152 if (cvd == cvd->vdev_top) in vdev_remove_parent()
1153 vdev_top_transfer(mvd, cvd); in vdev_remove_parent()
2664 vdev_t *cvd = vd->vdev_child[c]; in vdev_dtl_reassess() local
2665 mutex_enter(&cvd->vdev_dtl_lock); in vdev_dtl_reassess()
2666 space_reftree_add_map(&reftree, cvd->vdev_dtl[s], 1); in vdev_dtl_reassess()
2667 mutex_exit(&cvd->vdev_dtl_lock); in vdev_dtl_reassess()
2909 vdev_t *cvd = vd->vdev_child[c]; in vdev_resilver_needed() local
2912 if (vdev_resilver_needed(cvd, &cmin, &cmax)) { in vdev_resilver_needed()
3689 vdev_get_child_stat(vdev_t *cvd, vdev_stat_t *vs, vdev_stat_t *cvs) in vdev_get_child_stat() argument
3696 cvs->vs_scan_removing = cvd->vdev_removing; in vdev_get_child_stat()
3703 vdev_get_child_stat_ex(vdev_t *cvd, vdev_stat_ex_t *vsx, vdev_stat_ex_t *cvsx) in vdev_get_child_stat_ex() argument
3774 vdev_t *cvd = vd->vdev_child[c]; in vdev_get_stats_ex_impl() local
3775 vdev_stat_t *cvs = &cvd->vdev_stat; in vdev_get_stats_ex_impl()
3776 vdev_stat_ex_t *cvsx = &cvd->vdev_stat_ex; in vdev_get_stats_ex_impl()
3778 vdev_get_stats_ex_impl(cvd, cvs, cvsx); in vdev_get_stats_ex_impl()
3780 vdev_get_child_stat(cvd, vs, cvs); in vdev_get_stats_ex_impl()
3782 vdev_get_child_stat_ex(cvd, vsx, cvsx); in vdev_get_stats_ex_impl()
4551 vdev_t *cvd, *pvd = vd->vdev_parent; in vdev_split() local
4556 cvd = pvd->vdev_child[0]; in vdev_split()
4558 vdev_remove_parent(cvd); in vdev_split()
4559 cvd->vdev_splitting = B_TRUE; in vdev_split()
4561 vdev_propagate_state(cvd); in vdev_split()
4568 vdev_t *cvd = vd->vdev_child[c]; in vdev_deadman() local
4570 vdev_deadman(cvd); in vdev_deadman()
4623 vdev_t *cvd = vd->vdev_child[c]; in vdev_clear_resilver_deferred() local
4624 resilver_needed |= vdev_clear_resilver_deferred(cvd, tx); in vdev_clear_resilver_deferred()