mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-26 03:09:34 +03:00
Clear enclosure sysfs path from VDEV label when sysfs path isn't present
This clears vdev_enc_sysfs_path from the label if the VDEV's /sys/class/block/<dev>/device/enclosure_device path isn't present. This is important in the case where a disk that is labeled with vdev_enc_sysfs_path is pulled out and put into another enclosure. In that case, it's possible that the old sysfs path would be used to turn on the fault LED for the disk's old slot postion, assuming the new slot didn't have a LED sysfs entry. Reviewed-by: Don Brady <don.brady@intel.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Tony Hutter <hutter2@llnl.gov> Closes #5524 Closes #5773
This commit is contained in:
parent
449705dbef
commit
65a736bc0d
@ -476,7 +476,6 @@ update_vdev_config_dev_strs(nvlist_t *nv)
|
||||
!strncasecmp(env, "YES", 3) || !strncasecmp(env, "ON", 2))) {
|
||||
(void) nvlist_remove_all(nv, ZPOOL_CONFIG_DEVID);
|
||||
(void) nvlist_remove_all(nv, ZPOOL_CONFIG_PHYS_PATH);
|
||||
(void) nvlist_remove_all(nv, ZPOOL_CONFIG_VDEV_ENC_SYSFS_PATH);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -504,6 +503,9 @@ update_vdev_config_dev_strs(nvlist_t *nv)
|
||||
if (spath)
|
||||
nvlist_add_string(nv, ZPOOL_CONFIG_VDEV_ENC_SYSFS_PATH,
|
||||
spath);
|
||||
else
|
||||
nvlist_remove_all(nv, ZPOOL_CONFIG_VDEV_ENC_SYSFS_PATH);
|
||||
|
||||
free(upath);
|
||||
free(spath);
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user