MCPcopy Create free account
hub / github.com/F-Stack/f-stack / vdev_split

Function vdev_split

freebsd/contrib/openzfs/module/zfs/vdev.c:5000–5014  ·  view source on GitHub ↗

* Split a vdev. */

Source from the content-addressed store, hash-verified

4998 * Split a vdev.
4999 */
5000void
5001vdev_split(vdev_t *vd)
5002{
5003 vdev_t *cvd, *pvd = vd->vdev_parent;
5004
5005 vdev_remove_child(pvd, vd);
5006 vdev_compact_children(pvd);
5007
5008 cvd = pvd->vdev_child[0];
5009 if (pvd->vdev_children == 1) {
5010 vdev_remove_parent(cvd);
5011 cvd->vdev_splitting = B_TRUE;
5012 }
5013 vdev_propagate_state(cvd);
5014}
5015
5016void
5017vdev_deadman(vdev_t *vd, char *tag)

Callers 2

spa_try_repairFunction · 0.85
spa_vdev_split_mirrorFunction · 0.85

Calls 4

vdev_remove_childFunction · 0.85
vdev_compact_childrenFunction · 0.85
vdev_remove_parentFunction · 0.85
vdev_propagate_stateFunction · 0.85

Tested by

no test coverage detected