Update enclosure sysfs path on import #5524

Open
behlendorf opened this Issue Dec 22, 2016 · 0 comments

Projects

None yet

2 participants

@behlendorf
Member

System information

Type Version/Name
Distribution Name Any
Distribution Version Any
Linux Kernel Any
Architecture Any
ZFS Version zfs-0.7.0-rc2-98-g547c593
SPL Version spl-0.7.0-rc2

Describe the problem you're observing

When importing a pool the enclosure sysfs path stored in the label should be updated and validated.
The current code only updates the stored path when the enclosure sysfs path can be resolved for the given vdev. If the block device cannot be opened by any known path and is UNAVAIL it is currently not updated.

What we'd like to do is use the enclosure sysfs path stored in the label to reconstruct and verify the path. even when the block device is unavailable. This could be done by storing the unique enclosure ID in the vdev label and using it to locate the correct enclosure then appending the previous slot ID.

If the above fails then the enclosure sysfs path should be removed from the vdev label.

Lastly we should update the ZED to set the fault led for any vdevs which are unavailable at import time and which have verified enclosure sysfs paths.

Describe how to reproduce the problem

Import a pool with an UNAVAIL disk.

@behlendorf behlendorf added the zed label Dec 22, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment