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
Fix parsing for nvme-subsystem devices #158
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.
Can you please ellaborate which kernels you are checking?
On my system, I do see the extra /nvme0/ dir in both under sys/devices/virual and under /sys/devices/pci*
find /sys/devices/virtual/nvme-subsystem/nvme-subsys0/nvme0/ /sys/devices/pci0000\:00/0000\:00\:1d.0/0000\:04\:00.0/nvme/nvme0/ -name nvme0n1
/sys/devices/virtual/nvme-subsystem/nvme-subsys0/nvme0/nvme0n1
/sys/devices/pci0000:00/0000:00:1d.0/0000:04:00.0/nvme/nvme0/nvme0n1
With v5.4 kernel. Note that i think directories changed slightly after kernel gained nvme multipath support.
Which platform / kernel are you on that doesn't have /nvme0/ subdir ?
(need more information)
Thanks for the review @xnox . I'm also on (Ubuntu) 5.4 - the platform is an Nvidia A100. I'm aware of some sysfs differences related to enabling NVMe multipath - for example seeing things like: fyi, my assumption that the
which suggests that |
Turns out that multipath does have an impact as @xnox suggested. With multipath enabled I have the nvme-subsys links:
But not when it is disabled:
As this patch modifies only nvme-subsys behavior, it should support both cases. |
Force pushed a fix for a commit message typo |
I confirmed with one of the NVMe driver maintainers that my assertion in the commit that the extra
|
@vathpela can you look this over please? |
nvme-subsystem devices have a link that looks like: ../../devices/virtual/nvme-subsystem/nvme-subsys0/nvme0n1 However, the current code expects an additional /nvme0/ component, i.e.: ../../devices/virtual/nvme-subsystem/nvme-subsys0/nvme0/nvme0n1 Fix this by adding a separate branch for parsing nvme-subsystem devices. Resolves github issue rhboot#157. Signed-off-by: dann frazier <dann.frazier@canonical.com>
Apparently force pushing dropped the discussion thread from this PR (still in commit a38b00b though). To capture that here - I force pushed to add a debug statement requested by @vathpela . The requested comment change appears to be unnecessary as the paths in the comment look correct - this just fixes the code to match. |
Hi, I am experiencing this issue on CentOS 8, when booted off Ubuntu's v5.8 kernel and trying to use efibootmgr against nvme drive with multipath in the centos 8 chroot which has efivar 37-4.el8. I'm not sure how to report this properly. |
nvme-subsystem devices have a link that looks like:
../../devices/virtual/nvme-subsystem/nvme-subsys0/nvme0n1
However, the current code expects an additional /nvme0/ component, i.e.:
../../devices/virtual/nvme-subsystem/nvme-subsys0/nvme0/nvme0n1
Fix this by adding a separate branch for parsing nvme-subsystem devices.
Resolves github issue #157.
Signed-off-by: dann frazier dann.frazier@canonical.com