Lines Matching refs:pvd

258 	vdev_t *pvd = vd->vdev_parent;  in vdev_get_min_asize()  local
264 if (pvd == NULL) in vdev_get_min_asize()
278 if (pvd->vdev_ops == &vdev_raidz_ops) in vdev_get_min_asize()
279 return ((pvd->vdev_min_asize + pvd->vdev_children - 1) / in vdev_get_min_asize()
280 pvd->vdev_children); in vdev_get_min_asize()
282 return (pvd->vdev_min_asize); in vdev_get_min_asize()
352 vdev_add_child(vdev_t *pvd, vdev_t *cvd) in vdev_add_child() argument
362 cvd->vdev_parent = pvd; in vdev_add_child()
364 if (pvd == NULL) in vdev_add_child()
367 ASSERT(id >= pvd->vdev_children || pvd->vdev_child[id] == NULL); in vdev_add_child()
369 oldsize = pvd->vdev_children * sizeof (vdev_t *); in vdev_add_child()
370 pvd->vdev_children = MAX(pvd->vdev_children, id + 1); in vdev_add_child()
371 newsize = pvd->vdev_children * sizeof (vdev_t *); in vdev_add_child()
374 if (pvd->vdev_child != NULL) { in vdev_add_child()
375 bcopy(pvd->vdev_child, newchild, oldsize); in vdev_add_child()
376 kmem_free(pvd->vdev_child, oldsize); in vdev_add_child()
379 pvd->vdev_child = newchild; 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()
388 for (; pvd != NULL; pvd = pvd->vdev_parent) in vdev_add_child()
389 pvd->vdev_guid_sum += cvd->vdev_guid_sum; in vdev_add_child()
398 vdev_remove_child(vdev_t *pvd, vdev_t *cvd) in vdev_remove_child() argument
403 ASSERT(cvd->vdev_parent == pvd); in vdev_remove_child()
405 if (pvd == NULL) in vdev_remove_child()
408 ASSERT(id < pvd->vdev_children); in vdev_remove_child()
409 ASSERT(pvd->vdev_child[id] == cvd); in vdev_remove_child()
411 pvd->vdev_child[id] = NULL; in vdev_remove_child()
414 for (c = 0; c < pvd->vdev_children; c++) in vdev_remove_child()
415 if (pvd->vdev_child[c]) in vdev_remove_child()
418 if (c == pvd->vdev_children) { in vdev_remove_child()
419 kmem_free(pvd->vdev_child, c * sizeof (vdev_t *)); in vdev_remove_child()
420 pvd->vdev_child = NULL; in vdev_remove_child()
421 pvd->vdev_children = 0; in vdev_remove_child()
433 for (; pvd != NULL; pvd = pvd->vdev_parent) in vdev_remove_child()
434 pvd->vdev_guid_sum -= cvd->vdev_guid_sum; in vdev_remove_child()
441 vdev_compact_children(vdev_t *pvd) in vdev_compact_children() argument
444 int oldc = pvd->vdev_children; in vdev_compact_children()
447 ASSERT(spa_config_held(pvd->vdev_spa, SCL_ALL, RW_WRITER) == SCL_ALL); in vdev_compact_children()
450 if (pvd->vdev_child[c]) in vdev_compact_children()
459 kmem_free(pvd->vdev_child, oldc * sizeof (vdev_t *)); in vdev_compact_children()
460 pvd->vdev_child = NULL; in vdev_compact_children()
461 pvd->vdev_children = newc; in vdev_compact_children()
468 if ((cvd = pvd->vdev_child[c]) != NULL) { in vdev_compact_children()
474 kmem_free(pvd->vdev_child, oldc * sizeof (vdev_t *)); in vdev_compact_children()
475 pvd->vdev_child = newchild; in vdev_compact_children()
476 pvd->vdev_children = newc; in vdev_compact_children()
1089 vdev_t *pvd = cvd->vdev_parent; in vdev_add_parent() local
1104 vdev_remove_child(pvd, cvd); in vdev_add_parent()
1105 vdev_add_child(pvd, mvd); in vdev_add_parent()
1123 vdev_t *pvd = mvd->vdev_parent; in vdev_remove_parent() local
1134 vdev_remove_child(pvd, mvd); in vdev_remove_parent()
1149 vdev_add_child(pvd, cvd); in vdev_remove_parent()
2116 vdev_t *pvd = vd->vdev_parent; in vdev_close() local
2124 if (pvd != NULL && pvd->vdev_reopening) in vdev_close()
2125 vd->vdev_reopening = (pvd->vdev_reopening && !vd->vdev_offline); in vdev_close()
3356 vdev_t *vd, *tvd, *pvd, *rvd = spa->spa_root_vdev; in vdev_online() local
3379 for (pvd = vd; pvd != rvd; pvd = pvd->vdev_parent) in vdev_online()
3380 pvd->vdev_expanding = !!(flags & ZFS_ONLINE_EXPAND); in vdev_online()
3387 for (pvd = vd; pvd != rvd; pvd = pvd->vdev_parent) in vdev_online()
3388 pvd->vdev_expanding = B_FALSE; in vdev_online()
3902 vdev_t *pvd; in vdev_stat_update() local
4063 for (pvd = vd; pvd != rvd; pvd = pvd->vdev_parent) in vdev_stat_update()
4064 vdev_dtl_dirty(pvd, DTL_PARTIAL, txg, 1); in vdev_stat_update()
4551 vdev_t *cvd, *pvd = vd->vdev_parent; in vdev_split() local
4553 vdev_remove_child(pvd, vd); in vdev_split()
4554 vdev_compact_children(pvd); in vdev_split()
4556 cvd = pvd->vdev_child[0]; in vdev_split()
4557 if (pvd->vdev_children == 1) { in vdev_split()
4673 vdev_t *pvd = vd->vdev_parent; in vdev_xlate() local
4674 ASSERT3P(pvd, !=, NULL); in vdev_xlate()
4675 ASSERT3P(pvd->vdev_ops->vdev_op_xlate, !=, NULL); in vdev_xlate()
4683 pvd->vdev_ops->vdev_op_xlate(vd, physical_rs, &intermediate); in vdev_xlate()