Lines Matching refs:vd

182 vdev_mirror_load(mirror_map_t *mm, vdev_t *vd, uint64_t zio_offset)  in vdev_mirror_load()  argument
199 if (vd->vdev_ops->vdev_op_leaf) in vdev_mirror_load()
203 load = vdev_queue_length(vd); in vdev_mirror_load()
204 last_offset = vdev_queue_last_offset(vd); in vdev_mirror_load()
206 if (vd->vdev_nonrot) { in vdev_mirror_load()
246 vdev_mirror_rebuilding(vdev_t *vd) in vdev_mirror_rebuilding() argument
248 if (vd->vdev_ops->vdev_op_leaf && vd->vdev_rebuild_txg) in vdev_mirror_rebuilding()
251 for (int i = 0; i < vd->vdev_children; i++) { in vdev_mirror_rebuilding()
252 if (vdev_mirror_rebuilding(vd->vdev_child[i])) { in vdev_mirror_rebuilding()
269 vdev_t *vd = zio->io_vd; in vdev_mirror_map_init() local
272 if (vd == NULL) { in vdev_mirror_map_init()
367 boolean_t replacing = (vd->vdev_ops == &vdev_replacing_ops || in vdev_mirror_map_init()
368 vd->vdev_ops == &vdev_spare_ops) && in vdev_mirror_map_init()
369 spa_load_state(vd->vdev_spa) == SPA_LOAD_NONE && in vdev_mirror_map_init()
370 dsl_scan_resilvering(vd->vdev_spa->spa_dsl_pool); in vdev_mirror_map_init()
371 mm = vdev_mirror_map_alloc(vd->vdev_children, replacing, in vdev_mirror_map_init()
375 mc->mc_vd = vd->vdev_child[c]; in vdev_mirror_map_init()
387 vdev_mirror_open(vdev_t *vd, uint64_t *asize, uint64_t *max_asize, in vdev_mirror_open() argument
393 if (vd->vdev_children == 0) { in vdev_mirror_open()
394 vd->vdev_stat.vs_aux = VDEV_AUX_BAD_LABEL; in vdev_mirror_open()
398 vdev_open_children(vd); in vdev_mirror_open()
400 for (int c = 0; c < vd->vdev_children; c++) { in vdev_mirror_open()
401 vdev_t *cvd = vd->vdev_child[c]; in vdev_mirror_open()
413 for (int c = 0; c < vd->vdev_children; c++) { in vdev_mirror_open()
414 vdev_t *cvd = vd->vdev_child[c]; in vdev_mirror_open()
422 if (numerrors == vd->vdev_children) { in vdev_mirror_open()
423 if (vdev_children_are_offline(vd)) in vdev_mirror_open()
424 vd->vdev_stat.vs_aux = VDEV_AUX_CHILDREN_OFFLINE; in vdev_mirror_open()
426 vd->vdev_stat.vs_aux = VDEV_AUX_NO_REPLICAS; in vdev_mirror_open()
434 vdev_mirror_close(vdev_t *vd) in vdev_mirror_close() argument
436 for (int c = 0; c < vd->vdev_children; c++) in vdev_mirror_close()
437 vdev_close(vd->vdev_child[c]); in vdev_mirror_close()
498 vdev_t *vd = mc->mc_vd; in vdev_mirror_child_readable() local
500 if (vd->vdev_top != NULL && vd->vdev_top->vdev_ops == &vdev_draid_ops) in vdev_mirror_child_readable()
501 return (vdev_draid_readable(vd, mc->mc_offset)); in vdev_mirror_child_readable()
503 return (vdev_readable(vd)); in vdev_mirror_child_readable()
509 vdev_t *vd = mc->mc_vd; in vdev_mirror_child_missing() local
511 if (vd->vdev_top != NULL && vd->vdev_top->vdev_ops == &vdev_draid_ops) in vdev_mirror_child_missing()
512 return (vdev_draid_missing(vd, mc->mc_offset, txg, size)); in vdev_mirror_child_missing()
514 return (vdev_dtl_contains(vd, DTL_MISSING, txg, size)); in vdev_mirror_child_missing()
937 vdev_mirror_state_change(vdev_t *vd, int faulted, int degraded) in vdev_mirror_state_change() argument
939 if (faulted == vd->vdev_children) { in vdev_mirror_state_change()
940 if (vdev_children_are_offline(vd)) { in vdev_mirror_state_change()
941 vdev_set_state(vd, B_FALSE, VDEV_STATE_OFFLINE, in vdev_mirror_state_change()
944 vdev_set_state(vd, B_FALSE, VDEV_STATE_CANT_OPEN, in vdev_mirror_state_change()
948 vdev_set_state(vd, B_FALSE, VDEV_STATE_DEGRADED, VDEV_AUX_NONE); in vdev_mirror_state_change()
950 vdev_set_state(vd, B_FALSE, VDEV_STATE_HEALTHY, VDEV_AUX_NONE); in vdev_mirror_state_change()
958 vdev_mirror_rebuild_asize(vdev_t *vd, uint64_t start, uint64_t asize, in vdev_mirror_rebuild_asize() argument
963 uint64_t psize = MIN(P2ROUNDUP(max_segment, 1 << vd->vdev_ashift), in vdev_mirror_rebuild_asize()
966 return (MIN(asize, vdev_psize_to_asize(vd, psize))); in vdev_mirror_rebuild_asize()