nvme-cli/0001-nvme-print-Handle-NULL-hostid-in-JSON-output.patch

50 lines
1.7 KiB
Diff
Raw Normal View History

From cc07ea605d1e89eea98ace6b16e8fd3305a6ee6d Mon Sep 17 00:00:00 2001
From: Tomas Bzatek <tbzatek@redhat.com>
Date: Tue, 13 Sep 2022 16:54:44 +0200
Subject: [PATCH] nvme-print: Handle NULL hostid in JSON output
For pcie devices there might be no hostid available, in case the
/etc/nvme/hostid file doesn't exist.
---
nvme-print.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/nvme-print.c b/nvme-print.c
index 24ebfe54..cf61e14f 100644
--- a/nvme-print.c
+++ b/nvme-print.c
@@ -2483,12 +2483,14 @@ static void json_print_nvme_subsystem_list(nvme_root_t r, bool show_ana)
nvme_for_each_host(r, h) {
nvme_subsystem_t s;
+ const char *hostid;
host_attrs = json_create_object();
json_object_add_value_string(host_attrs, "HostNQN",
nvme_host_get_hostnqn(h));
- json_object_add_value_string(host_attrs, "HostID",
- nvme_host_get_hostid(h));
+ hostid = nvme_host_get_hostid(h);
+ if (hostid)
+ json_object_add_value_string(host_attrs, "HostID", hostid);
subsystems = json_create_array();
nvme_for_each_subsystem(h, s) {
subsystem_attrs = json_create_object();
@@ -7359,9 +7361,12 @@ static void json_detail_list(nvme_root_t r)
nvme_for_each_host(r, h) {
struct json_object *hss = json_create_object();
struct json_object *jsslist = json_create_array();
+ const char *hostid;
json_object_add_value_string(hss, "HostNQN", nvme_host_get_hostnqn(h));
- json_object_add_value_string(hss, "HostID", nvme_host_get_hostid(h));
+ hostid = nvme_host_get_hostid(h);
+ if (hostid)
+ json_object_add_value_string(hss, "HostID", hostid);
nvme_for_each_subsystem(h , s) {
struct json_object *jss = json_create_object();
--
2.31.1