Newer kernels provide the 'net' link as a directory, instead of the 'net:XX' link with previous kernels. The sysfs scanning code has enablement to work with this, but the directory lookup doesn't work properly.
References: bnc#561596 Signed-off-by: Hannes Reinecke <h...@suse.de> --- utils/fwparam_ibft/fwparam_ibft_sysfs.c | 15 ++++++++------- 1 files changed, 8 insertions(+), 7 deletions(-) diff --git a/utils/fwparam_ibft/fwparam_ibft_sysfs.c b/utils/fwparam_ibft/fwparam_ibft_sysfs.c index 9185c85..486deec 100644 --- a/utils/fwparam_ibft/fwparam_ibft_sysfs.c +++ b/utils/fwparam_ibft/fwparam_ibft_sysfs.c @@ -84,7 +84,7 @@ static int find_sysfs_dirs(const char *fpath, const struct stat *sb, static int get_iface_from_device(char *id, struct boot_context *context) { char dev_dir[FILENAMESZ]; - int rc = ENODEV; + int rc = EOPNOTSUPP; DIR *dirfd; struct dirent *dent; @@ -99,8 +99,7 @@ static int get_iface_from_device(char *id, struct boot_context *context) return errno; while ((dent = readdir(dirfd))) { - if (!strcmp(dent->d_name, ".") || !strcmp(dent->d_name, "..") || - strncmp(dent->d_name, "net:", 4)) + if (!strcmp(dent->d_name, ".") || !strcmp(dent->d_name, "..")) continue; if (!strncmp(dent->d_name, "net:", 4)) { @@ -116,17 +115,19 @@ static int get_iface_from_device(char *id, struct boot_context *context) rc = EINVAL; rc = 0; break; - } else { - printf("Could not read ethernet to net link.\n"); - rc = EOPNOTSUPP; + } + if (!strcmp(dent->d_name, "net")) { + rc = ENODEV; break; } } closedir(dirfd); - if (rc != ENODEV) + if (rc != ENODEV) { + printf("Could not read ethernet to net link\n."); return rc; + } /* If not found try again with newer kernel networkdev sysfs layout */ strlcat(dev_dir, "/net", FILENAMESZ); -- 1.7.3.4 -- You received this message because you are subscribed to the Google Groups "open-iscsi" group. To post to this group, send email to open-iscsi@googlegroups.com. To unsubscribe from this group, send email to open-iscsi+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/open-iscsi?hl=en.