From f9570dee464a879e908e6212518eca08ae138c8c Mon Sep 17 00:00:00 2001 From: Peter Jones 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 --- 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