File 0014-nvme-print-Handle-NULL-hostid-in-JSON-output.patch of Package nvme-cli.26591
From: Tomas Bzatek <tbzatek@redhat.com>
Date: Tue, 13 Sep 2022 16:54:44 +0200
Subject: nvme-print: Handle NULL hostid in JSON output
Git-commit: cc07ea605d1e89eea98ace6b16e8fd3305a6ee6d
References: git-fixes
For pcie devices there might be no hostid available, in case the
/etc/nvme/hostid file doesn't exist.
Acked-by: Daniel Wagner <dwagner@suse.de>
---
nvme-print.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
--- a/nvme-print.c
+++ b/nvme-print.c
@@ -2501,12 +2501,14 @@ static void json_print_nvme_subsystem_li
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();
@@ -7327,9 +7329,12 @@ static void json_detail_list(nvme_root_t
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();