Lines Matching defs:pvd

117 	vdev_t *pvd = vd->vdev_parent;
123 if (pvd == NULL)
137 if (pvd->vdev_ops == &vdev_raidz_ops)
138 return (pvd->vdev_min_asize / pvd->vdev_children);
140 return (pvd->vdev_min_asize);
204 vdev_add_child(vdev_t *pvd, vdev_t *cvd)
214 cvd->vdev_parent = pvd;
216 if (pvd == NULL)
219 ASSERT(id >= pvd->vdev_children || pvd->vdev_child[id] == NULL);
221 oldsize = pvd->vdev_children * sizeof (vdev_t *);
222 pvd->vdev_children = MAX(pvd->vdev_children, id + 1);
223 newsize = pvd->vdev_children * sizeof (vdev_t *);
226 if (pvd->vdev_child != NULL) {
227 bcopy(pvd->vdev_child, newchild, oldsize);
228 kmem_free(pvd->vdev_child, oldsize);
231 pvd->vdev_child = newchild;
232 pvd->vdev_child[id] = cvd;
234 cvd->vdev_top = (pvd->vdev_top ? pvd->vdev_top: cvd);
240 for (; pvd != NULL; pvd = pvd->vdev_parent)
241 pvd->vdev_guid_sum += cvd->vdev_guid_sum;
245 vdev_remove_child(vdev_t *pvd, vdev_t *cvd)
250 ASSERT(cvd->vdev_parent == pvd);
252 if (pvd == NULL)
255 ASSERT(id < pvd->vdev_children);
256 ASSERT(pvd->vdev_child[id] == cvd);
258 pvd->vdev_child[id] = NULL;
261 for (c = 0; c < pvd->vdev_children; c++)
262 if (pvd->vdev_child[c])
265 if (c == pvd->vdev_children) {
266 kmem_free(pvd->vdev_child, c * sizeof (vdev_t *));
267 pvd->vdev_child = NULL;
268 pvd->vdev_children = 0;
274 for (; pvd != NULL; pvd = pvd->vdev_parent)
275 pvd->vdev_guid_sum -= cvd->vdev_guid_sum;
282 vdev_compact_children(vdev_t *pvd)
285 int oldc = pvd->vdev_children;
288 ASSERT(spa_config_held(pvd->vdev_spa, SCL_ALL, RW_WRITER) == SCL_ALL);
291 if (pvd->vdev_child[c])
297 if ((cvd = pvd->vdev_child[c]) != NULL) {
303 kmem_free(pvd->vdev_child, oldc * sizeof (vdev_t *));
304 pvd->vdev_child = newchild;
305 pvd->vdev_children = newc;
779 vdev_t *pvd = cvd->vdev_parent;
793 vdev_remove_child(pvd, cvd);
794 vdev_add_child(pvd, mvd);
812 vdev_t *pvd = mvd->vdev_parent;
823 vdev_remove_child(pvd, mvd);
838 vdev_add_child(pvd, cvd);
1485 vdev_t *pvd = vd->vdev_parent;
1493 if (pvd != NULL && pvd->vdev_reopening)
1494 vd->vdev_reopening = (pvd->vdev_reopening && !vd->vdev_offline);
2441 vdev_t *vd, *tvd, *pvd, *rvd = spa->spa_root_vdev;
2464 for (pvd = vd; pvd != rvd; pvd = pvd->vdev_parent)
2465 pvd->vdev_expanding = !!(flags & ZFS_ONLINE_EXPAND);
2472 for (pvd = vd; pvd != rvd; pvd = pvd->vdev_parent)
2473 pvd->vdev_expanding = B_FALSE;
2811 vdev_t *pvd;
2936 for (pvd = vd; pvd != rvd; pvd = pvd->vdev_parent)
2937 vdev_dtl_dirty(pvd, DTL_PARTIAL, txg, 1);
3416 vdev_t *cvd, *pvd = vd->vdev_parent;
3418 vdev_remove_child(pvd, vd);
3419 vdev_compact_children(pvd);
3421 cvd = pvd->vdev_child[0];
3422 if (pvd->vdev_children == 1) {