Lines Matching refs:vd
41 vdev_root_core_tvds(vdev_t *vd) in vdev_root_core_tvds() argument
45 for (uint64_t c = 0; c < vd->vdev_children; c++) { in vdev_root_core_tvds()
46 vdev_t *cvd = vd->vdev_child[c]; in vdev_root_core_tvds()
67 too_many_errors(vdev_t *vd, uint64_t numerrors) in too_many_errors() argument
74 tvds = vdev_root_core_tvds(vd); in too_many_errors()
80 return (numerrors > spa_missing_tvds_allowed(vd->vdev_spa)); in too_many_errors()
84 vdev_root_open(vdev_t *vd, uint64_t *asize, uint64_t *max_asize, in vdev_root_open() argument
87 spa_t *spa = vd->vdev_spa; in vdev_root_open()
91 if (vd->vdev_children == 0) { in vdev_root_open()
92 vd->vdev_stat.vs_aux = VDEV_AUX_BAD_LABEL; in vdev_root_open()
96 vdev_open_children(vd); in vdev_root_open()
98 for (int c = 0; c < vd->vdev_children; c++) { in vdev_root_open()
99 vdev_t *cvd = vd->vdev_child[c]; in vdev_root_open()
111 if (too_many_errors(vd, numerrors)) { in vdev_root_open()
112 vd->vdev_stat.vs_aux = VDEV_AUX_NO_REPLICAS; in vdev_root_open()
125 vdev_root_close(vdev_t *vd) in vdev_root_close() argument
127 for (int c = 0; c < vd->vdev_children; c++) in vdev_root_close()
128 vdev_close(vd->vdev_child[c]); in vdev_root_close()
132 vdev_root_state_change(vdev_t *vd, int faulted, int degraded) in vdev_root_state_change() argument
134 if (too_many_errors(vd, faulted)) { in vdev_root_state_change()
135 vdev_set_state(vd, B_FALSE, VDEV_STATE_CANT_OPEN, in vdev_root_state_change()
138 vdev_set_state(vd, B_FALSE, VDEV_STATE_DEGRADED, VDEV_AUX_NONE); in vdev_root_state_change()
140 vdev_set_state(vd, B_FALSE, VDEV_STATE_HEALTHY, VDEV_AUX_NONE); in vdev_root_state_change()