Skip to content

Commit

Permalink
nbft: do not issue an error if ACPI tables are missing
Browse files Browse the repository at this point in the history
Not all architectures have ACPI tables, e.g. riscv64. Thus the nbft code
should fail gracefully if it's not present.

Signed-off-by: Daniel Wagner <[email protected]>
  • Loading branch information
igaw committed Feb 2, 2024
1 parent bcc0c48 commit 0560211
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions nbft.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
#include "nvme.h"
#include "nbft.h"
#include "fabrics.h"
#include "nvme-print.h"

#include "util/types.h"

Expand Down Expand Up @@ -48,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);
Expand Down Expand Up @@ -98,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++)
Expand Down

0 comments on commit 0560211

Please sign in to comment.