cec7707901
Signed-off-by: Peter Jones <pjones@redhat.com>
43 lines
1.2 KiB
Diff
43 lines
1.2 KiB
Diff
From f9570dee464a879e908e6212518eca08ae138c8c Mon Sep 17 00:00:00 2001
|
|
From: Peter Jones <pjones@redhat.com>
|
|
Date: Mon, 17 Oct 2016 10:04:48 -0400
|
|
Subject: [PATCH] Check for the NVMe EUI in the base sysfs dir for the device
|
|
as well
|
|
|
|
Kernel commit 779ff75617099f4defe14e20443b95019a4c5ae8 moves the NVMe
|
|
attributes from being under nvme0n1/device/* to just being in the
|
|
nvme0n1/ directory. So now we get to check for both things. Thanks,
|
|
sysfs.
|
|
|
|
This resolves github issue #65
|
|
This resolves https://github.com/rhinstaller/efibootmgr/issues/48
|
|
|
|
Signed-off-by: Peter Jones <pjones@redhat.com>
|
|
---
|
|
src/linux.c | 7 ++++++-
|
|
1 file changed, 6 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/src/linux.c b/src/linux.c
|
|
index 30b5cd0..dd59551 100644
|
|
--- a/src/linux.c
|
|
+++ b/src/linux.c
|
|
@@ -363,9 +363,14 @@ sysfs_parse_nvme(uint8_t *buf, ssize_t size, ssize_t *off,
|
|
* now fish the eui out of sysfs is there is one...
|
|
*/
|
|
rc = read_sysfs_file(&filebuf,
|
|
+ "/sys/class/block/nvme%dn%d/eui",
|
|
+ ctrl_id, ns_id);
|
|
+ if (rc < 0 && errno == ENOENT) {
|
|
+ rc = read_sysfs_file(&filebuf,
|
|
"/sys/class/block/nvme%dn%d/device/eui",
|
|
ctrl_id, ns_id);
|
|
- if (rc >= 0) {
|
|
+ }
|
|
+ if (rc >= 0)
|
|
uint8_t eui[8];
|
|
if (rc < 23) {
|
|
errno = EINVAL;
|
|
--
|
|
2.10.0
|
|
|