Lines Matching refs:pvd

343 	vdev_t *pvd = vd->vdev_parent;
349 if (pvd == NULL)
363 if (pvd->vdev_ops == &vdev_raidz_ops)
364 return ((pvd->vdev_min_asize + pvd->vdev_children - 1) /
365 pvd->vdev_children);
367 return (pvd->vdev_min_asize);
431 vdev_add_child(vdev_t *pvd, vdev_t *cvd)
441 cvd->vdev_parent = pvd;
443 if (pvd == NULL)
446 ASSERT(id >= pvd->vdev_children || pvd->vdev_child[id] == NULL);
448 oldsize = pvd->vdev_children * sizeof (vdev_t *);
449 pvd->vdev_children = MAX(pvd->vdev_children, id + 1);
450 newsize = pvd->vdev_children * sizeof (vdev_t *);
453 if (pvd->vdev_child != NULL) {
454 bcopy(pvd->vdev_child, newchild, oldsize);
455 kmem_free(pvd->vdev_child, oldsize);
458 pvd->vdev_child = newchild;
459 pvd->vdev_child[id] = cvd;
461 cvd->vdev_top = (pvd->vdev_top ? pvd->vdev_top: cvd);
467 for (; pvd != NULL; pvd = pvd->vdev_parent)
468 pvd->vdev_guid_sum += cvd->vdev_guid_sum;
472 vdev_remove_child(vdev_t *pvd, vdev_t *cvd)
477 ASSERT(cvd->vdev_parent == pvd);
479 if (pvd == NULL)
482 ASSERT(id < pvd->vdev_children);
483 ASSERT(pvd->vdev_child[id] == cvd);
485 pvd->vdev_child[id] = NULL;
488 for (c = 0; c < pvd->vdev_children; c++)
489 if (pvd->vdev_child[c])
492 if (c == pvd->vdev_children) {
493 kmem_free(pvd->vdev_child, c * sizeof (vdev_t *));
494 pvd->vdev_child = NULL;
495 pvd->vdev_children = 0;
501 for (; pvd != NULL; pvd = pvd->vdev_parent)
502 pvd->vdev_guid_sum -= cvd->vdev_guid_sum;
509 vdev_compact_children(vdev_t *pvd)
512 int oldc = pvd->vdev_children;
515 ASSERT(spa_config_held(pvd->vdev_spa, SCL_ALL, RW_WRITER) == SCL_ALL);
521 if (pvd->vdev_child[c])
528 if ((cvd = pvd->vdev_child[c]) != NULL) {
537 kmem_free(pvd->vdev_child, oldc * sizeof (vdev_t *));
538 pvd->vdev_child = newchild;
539 pvd->vdev_children = newc;
1105 vdev_t *pvd = cvd->vdev_parent;
1122 vdev_remove_child(pvd, cvd);
1123 vdev_add_child(pvd, mvd);
1141 vdev_t *pvd = mvd->vdev_parent;
1154 vdev_remove_child(pvd, mvd);
1169 vdev_add_child(pvd, cvd);
2065 vdev_t *pvd = vd->vdev_parent;
2073 if (pvd != NULL && pvd->vdev_reopening)
2074 vd->vdev_reopening = (pvd->vdev_reopening && !vd->vdev_offline);
3276 vdev_t *vd, *tvd, *pvd, *rvd = spa->spa_root_vdev;
3299 for (pvd = vd; pvd != rvd; pvd = pvd->vdev_parent)
3300 pvd->vdev_expanding = !!(flags & ZFS_ONLINE_EXPAND);
3307 for (pvd = vd; pvd != rvd; pvd = pvd->vdev_parent)
3308 pvd->vdev_expanding = B_FALSE;
3716 vdev_t *pvd;
3842 for (pvd = vd; pvd != rvd; pvd = pvd->vdev_parent)
3843 vdev_dtl_dirty(pvd, DTL_PARTIAL, txg, 1);
4326 vdev_t *cvd, *pvd = vd->vdev_parent;
4328 vdev_remove_child(pvd, vd);
4329 vdev_compact_children(pvd);
4331 cvd = pvd->vdev_child[0];
4332 if (pvd->vdev_children == 1) {