mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-24 19:28:53 +03:00
Force fault a vdev with 'zpool offline -f'
This patch adds a '-f' option to 'zpool offline' to fault a vdev instead of bringing it offline. Unlike the OFFLINE state, the FAULTED state will trigger the FMA code, allowing for things like autoreplace and triggering the slot fault LED. The -f faults persist across imports, unless they were set with the temporary (-t) flag. Both persistent and temporary faults can be cleared with zpool clear. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Tony Hutter <hutter2@llnl.gov> Closes #6094
This commit is contained in:
committed by
Brian Behlendorf
parent
a32df59e18
commit
4a283c7f77
+11
-3
@@ -1181,13 +1181,21 @@ int
|
||||
spa_vdev_state_exit(spa_t *spa, vdev_t *vd, int error)
|
||||
{
|
||||
boolean_t config_changed = B_FALSE;
|
||||
vdev_t *vdev_top;
|
||||
|
||||
if (vd == NULL || vd == spa->spa_root_vdev) {
|
||||
vdev_top = spa->spa_root_vdev;
|
||||
} else {
|
||||
vdev_top = vd->vdev_top;
|
||||
}
|
||||
|
||||
if (vd != NULL || error == 0)
|
||||
vdev_dtl_reassess(vd ? vd->vdev_top : spa->spa_root_vdev,
|
||||
0, 0, B_FALSE);
|
||||
vdev_dtl_reassess(vdev_top, 0, 0, B_FALSE);
|
||||
|
||||
if (vd != NULL) {
|
||||
vdev_state_dirty(vd->vdev_top);
|
||||
if (vd != spa->spa_root_vdev)
|
||||
vdev_state_dirty(vdev_top);
|
||||
|
||||
config_changed = B_TRUE;
|
||||
spa->spa_config_generation++;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user