diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-02-19 10:45:34 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-02-19 10:45:34 +0000 |
commit | 749efe961f0e1a71461a9c79e6e4584d35af6e7f (patch) | |
tree | c953c007cbe4f60a147ab62f97937d58abb2e9ca /nbft.c | |
parent | Adding upstream version 2.7.1. (diff) | |
download | nvme-cli-749efe961f0e1a71461a9c79e6e4584d35af6e7f.tar.xz nvme-cli-749efe961f0e1a71461a9c79e6e4584d35af6e7f.zip |
Adding upstream version 2.8.upstream/2.8
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'nbft.c')
-rw-r--r-- | nbft.c | 17 |
1 files changed, 10 insertions, 7 deletions
@@ -5,10 +5,12 @@ #include <fnmatch.h> #include <stdlib.h> +#include <libnvme.h> + #include "nvme.h" #include "nbft.h" -#include "libnvme.h" #include "fabrics.h" +#include "nvme-print.h" #include "util/types.h" @@ -47,10 +49,8 @@ int read_nbft_files(struct list_head *nbft_list, char *path) struct nbft_info *nbft; count = scandir(path, &dent, nbft_filter, NULL); - if (count < 0) { - fprintf(stderr, "Failed to open %s.\n", path); - return -1; - } + if (count < 0) + return -errno; for (i = 0; i < count; i++) { snprintf(filename, sizeof(filename), "%s/%s", path, dent[i]->d_name); @@ -97,8 +97,11 @@ int discover_from_nbft(nvme_root_t r, char *hostnqn_arg, char *hostid_arg, list_head_init(&nbft_list); ret = read_nbft_files(&nbft_list, nbft_path); - if (ret) + if (ret) { + if (ret != ENOENT) + nvme_show_perror("Failed to access ACPI tables directory"); goto out_free_2; + } list_for_each(&nbft_list, entry, node) for (ss = entry->nbft->subsystem_ns_list; ss && *ss; ss++) @@ -164,7 +167,7 @@ int discover_from_nbft(nvme_root_t r, char *hostnqn_arg, char *hostid_arg, * obtains a different local IP address than the * firmware had. Retry without host_traddr. */ - if (ret == -1 && errno == ENVME_CONNECT_WRITE && + if (ret == -1 && errno == ENVME_CONNECT_ADDRNOTAVAIL && !strcmp((*ss)->transport, "tcp") && strlen(hfi->tcp_info.dhcp_server_ipaddr) > 0) { nvme_free_ctrl(c); |