Lines Matching defs:pvd

358 	vdev_t *pvd = vd->vdev_parent;
364 if (pvd == NULL)
375 return (pvd->vdev_ops->vdev_op_min_asize(pvd));
514 vdev_add_child(vdev_t *pvd, vdev_t *cvd)
523 cvd->vdev_parent = pvd;
525 if (pvd == NULL)
528 ASSERT(id >= pvd->vdev_children || pvd->vdev_child[id] == NULL);
530 oldsize = pvd->vdev_children * sizeof (vdev_t *);
531 pvd->vdev_children = MAX(pvd->vdev_children, id + 1);
532 newsize = pvd->vdev_children * sizeof (vdev_t *);
535 if (pvd->vdev_child != NULL) {
536 memcpy(newchild, pvd->vdev_child, oldsize);
537 kmem_free(pvd->vdev_child, oldsize);
540 pvd->vdev_child = newchild;
541 pvd->vdev_child[id] = cvd;
543 cvd->vdev_top = (pvd->vdev_top ? pvd->vdev_top: cvd);
549 for (; pvd != NULL; pvd = pvd->vdev_parent)
550 pvd->vdev_guid_sum += cvd->vdev_guid_sum;
559 vdev_remove_child(vdev_t *pvd, vdev_t *cvd)
564 ASSERT(cvd->vdev_parent == pvd);
566 if (pvd == NULL)
569 ASSERT(id < pvd->vdev_children);
570 ASSERT(pvd->vdev_child[id] == cvd);
572 pvd->vdev_child[id] = NULL;
575 for (c = 0; c < pvd->vdev_children; c++)
576 if (pvd->vdev_child[c])
579 if (c == pvd->vdev_children) {
580 kmem_free(pvd->vdev_child, c * sizeof (vdev_t *));
581 pvd->vdev_child = NULL;
582 pvd->vdev_children = 0;
594 for (; pvd != NULL; pvd = pvd->vdev_parent)
595 pvd->vdev_guid_sum -= cvd->vdev_guid_sum;
602 vdev_compact_children(vdev_t *pvd)
605 int oldc = pvd->vdev_children;
608 ASSERT(spa_config_held(pvd->vdev_spa, SCL_ALL, RW_WRITER) == SCL_ALL);
614 if (pvd->vdev_child[c])
621 if ((cvd = pvd->vdev_child[c]) != NULL) {
630 kmem_free(pvd->vdev_child, oldc * sizeof (vdev_t *));
631 pvd->vdev_child = newchild;
632 pvd->vdev_children = newc;
1347 vdev_t *pvd = cvd->vdev_parent;
1364 vdev_remove_child(pvd, cvd);
1365 vdev_add_child(pvd, mvd);
1383 vdev_t *pvd = mvd->vdev_parent;
1395 vdev_remove_child(pvd, mvd);
1421 vdev_add_child(pvd, cvd);
2684 vdev_t *pvd = vd->vdev_parent;
2695 if (pvd != NULL && pvd->vdev_reopening)
2696 vd->vdev_reopening = (pvd->vdev_reopening && !vd->vdev_offline);
4288 vdev_t *vd, *tvd, *pvd, *rvd = spa->spa_root_vdev;
4308 for (pvd = vd; pvd != rvd; pvd = pvd->vdev_parent)
4309 pvd->vdev_expanding = !!((flags & ZFS_ONLINE_EXPAND) ||
4318 for (pvd = vd; pvd != rvd; pvd = pvd->vdev_parent)
4319 pvd->vdev_expanding = B_FALSE;
4890 vdev_t *pvd;
5090 for (pvd = vd; pvd != rvd; pvd = pvd->vdev_parent)
5091 vdev_dtl_dirty(pvd, DTL_PARTIAL, txg, 1);
5594 vdev_t *cvd, *pvd = vd->vdev_parent;
5596 VERIFY3U(pvd->vdev_children, >, 1);
5598 vdev_remove_child(pvd, vd);
5599 vdev_compact_children(pvd);
5601 ASSERT3P(pvd->vdev_child, !=, NULL);
5603 cvd = pvd->vdev_child[0];
5604 if (pvd->vdev_children == 1) {
5728 vdev_t *pvd = vd->vdev_parent;
5729 ASSERT3P(pvd, !=, NULL);
5730 ASSERT3P(pvd->vdev_ops->vdev_op_xlate, !=, NULL);
5738 pvd->vdev_ops->vdev_op_xlate(vd, physical_rs, &intermediate, remain_rs);