* Split a vdev. */
| 4998 | * Split a vdev. |
| 4999 | */ |
| 5000 | void |
| 5001 | vdev_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 | |
| 5016 | void |
| 5017 | vdev_deadman(vdev_t *vd, char *tag) |
no test coverage detected