-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
vdev_id fails due to bug in multipath command #6039
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the PR! Just a small comment change and the subject line in your commit message is too long. Otherwise, LGTM.
cmd/vdev_id/vdev_id
Outdated
@@ -186,7 +186,7 @@ sas_handler() { | |||
|
|||
# Get the raw scsi device name from multipath -l. Strip off | |||
# leading pipe symbols to make field numbering consistent. | |||
DEV=`multipath -l $DM_NAME | | |||
DEV=`multipath -ll $DM_NAME | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you update the comment above this line with a sentence indicating why multipath -ll
is being used?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I updated the comment to be consistent with the code. I don't think we need to document the difference between -l and -ll here as that is covered in the multipath man page.
Udev may fail to create the expected symbolic links in /dev/disk/by-vdev on systems with the device-mapper-multipath-0.4.9-100.el6 package installed. This affects RHEL 6.9 and possibly other downstream distributions. That version of the multipath command may incorrectly list a drive state as "unkown" instead of "running". The issue was introduced in the patch for https://bugzilla.redhat.com/show_bug.cgi?id=1401769 The vdev_id udev helper uses the state reported by "multipath -l" to detect an online component disk of a multipath device in order to resolve its physical slot and enclosure. Changing the command invocation to "multipath -ll" works around the above issue by causing multipath to consult additional sources of information to determine the drive state. Signed-off-by: Ned Bass <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thanks!
Udev may fail to create the expected symbolic links in /dev/disk/by-vdev on systems with the device-mapper-multipath-0.4.9-100.el6 package installed. This affects RHEL 6.9 and possibly other downstream distributions. That version of the multipath command may incorrectly list a drive state as "unkown" instead of "running". The issue was introduced in the patch for https://bugzilla.redhat.com/show_bug.cgi?id=1401769 The vdev_id udev helper uses the state reported by "multipath -l" to detect an online component disk of a multipath device in order to resolve its physical slot and enclosure. Changing the command invocation to "multipath -ll" works around the above issue by causing multipath to consult additional sources of information to determine the drive state. Reviewed-by: Tony Hutter <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Reviewed-by: Giuseppe Di Natale <[email protected]> Signed-off-by: Ned Bass <[email protected]> Closes openzfs#6039
Udev may fail to create the expected symbolic links in /dev/disk/by-vdev on systems with the device-mapper-multipath-0.4.9-100.el6 package installed. This affects RHEL 6.9 and possibly other downstream distributions. That version of the multipath command may incorrectly list a drive state as "unkown" instead of "running". The issue was introduced in the patch for https://bugzilla.redhat.com/show_bug.cgi?id=1401769 The vdev_id udev helper uses the state reported by "multipath -l" to detect an online component disk of a multipath device in order to resolve its physical slot and enclosure. Changing the command invocation to "multipath -ll" works around the above issue by causing multipath to consult additional sources of information to determine the drive state. Reviewed-by: Tony Hutter <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Reviewed-by: Giuseppe Di Natale <[email protected]> Signed-off-by: Ned Bass <[email protected]> Closes #6039
Description
Udev may fail to create the expected symbolic links in
/dev/disk/by-vdev on systems with the
device-mapper-multipath-0.4.9-100.el6 package installed. This affects
RHEL 6.9 and possibly other downstream distributions.
That version of the multipath command may incorrectly list a drive
state as "unkown" instead of "running". The issue was introduced
in the patch for https://bugzilla.redhat.com/show_bug.cgi?id=1401769
The vdev_id udev helper uses the state reported by "multipath -l" to
detect an online component disk of a multipath device in order to
resolve its physical slot and enclosure. Changing the command
invocation to "multipath -ll" works around the issue by causing
multipath to consult additional sources of information to determine
the drive state.
Motivation and Context
Correctly populate /dev/disk/by-vdev with symbolic links.
How Has This Been Tested?
Manually tested on RHEL6.8, RHEL6.9, and RHEL7.3 based systems.
Types of changes
Checklist:
Signed-off-by
.