mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 02:27:36 +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
@@ -284,6 +284,7 @@ extern nvlist_t *zpool_find_vdev_by_physpath(zpool_handle_t *, const char *,
|
||||
boolean_t *, boolean_t *, boolean_t *);
|
||||
extern int zpool_label_disk_wait(char *, int);
|
||||
extern int zpool_label_disk(libzfs_handle_t *, zpool_handle_t *, char *);
|
||||
extern uint64_t zpool_vdev_path_to_guid(zpool_handle_t *zhp, const char *path);
|
||||
|
||||
int zfs_dev_is_dm(char *dev_name);
|
||||
int zfs_dev_is_whole_disk(char *dev_name);
|
||||
|
||||
@@ -731,9 +731,10 @@ typedef enum vdev_aux {
|
||||
VDEV_AUX_ERR_EXCEEDED, /* too many errors */
|
||||
VDEV_AUX_IO_FAILURE, /* experienced I/O failure */
|
||||
VDEV_AUX_BAD_LOG, /* cannot read log chain(s) */
|
||||
VDEV_AUX_EXTERNAL, /* external diagnosis */
|
||||
VDEV_AUX_EXTERNAL, /* external diagnosis or forced fault */
|
||||
VDEV_AUX_SPLIT_POOL, /* vdev was split off into another pool */
|
||||
VDEV_AUX_BAD_ASHIFT /* vdev ashift is invalid */
|
||||
VDEV_AUX_BAD_ASHIFT, /* vdev ashift is invalid */
|
||||
VDEV_AUX_EXTERNAL_PERSIST /* persistent forced fault */
|
||||
} vdev_aux_t;
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user