]> www.infradead.org Git - users/sagi/nvme-cli.git/commitdiff
nvme-print: Split add_bitmap implementation
authorDaniel Wagner <dwagner@suse.de>
Tue, 30 May 2023 08:08:10 +0000 (10:08 +0200)
committerDaniel Wagner <wagi@monom.org>
Mon, 5 Jun 2023 06:43:35 +0000 (08:43 +0200)
Instead a common function for printing the bitmaps just split it
into the corresponding implementation.

Signed-off-by: Daniel Wagner <dwagner@suse.de>
nvme-print-json.c
nvme-print-json.h
nvme-print.c

index d978a508f1420ed9ce9f6a86ae0eb6c546ec9604..48e4be7161e47eceda19038608292838272d2bdb 100644 (file)
@@ -871,25 +871,18 @@ void json_predictable_latency_event_agg_log(
        json_free_object(root);
 }
 
-void add_bitmap(int i, __u8 seb, struct json_object *root, int json_flag)
+static void json_add_bitmap(int i, __u8 seb, struct json_object *root)
 {
        char evt_str[50];
        char key[128];
 
        for (int bit = 0; bit < 8; bit++) {
                if (nvme_pel_event_to_string(bit + i * 8)) {
-                       if (json_flag == 1) {
-                               sprintf(key, "bitmap_%x", (bit + i * 8));
-                               if ((seb >> bit) & 0x1)
-                                       snprintf(evt_str, sizeof(evt_str), "Support %s",
-                                               nvme_pel_event_to_string(bit + i * 8));
-                               json_object_add_value_string(root, key, evt_str);
-                       } else {
-                               if (nvme_pel_event_to_string(bit + i * 8))
-                                       if ((seb >> bit) & 0x1)
-                                               printf("        Support %s\n",
-                                                       nvme_pel_event_to_string(bit + i * 8));
-                       }
+                       sprintf(key, "bitmap_%x", (bit + i * 8));
+                       if ((seb >> bit) & 0x1)
+                               snprintf(evt_str, sizeof(evt_str), "Support %s",
+                                        nvme_pel_event_to_string(bit + i * 8));
+                       json_object_add_value_string(root, key, evt_str);
                }
        }
 }
@@ -965,7 +958,7 @@ void json_persistent_event_log(void *pevent_log_info, __u32 size)
                for (int i = 0; i < 32; i++) {
                        if (pevent_log_head->seb[i] == 0)
                                continue;
-                       add_bitmap(i, pevent_log_head->seb[i], root, 1);
+                       json_add_bitmap(i, pevent_log_head->seb[i], root);
                }
        } else {
                printf("No log data can be shown with this log len at least " \
index 40aebfa8f536f29d75f9da75fb553992aae2cfcb..f65653b13f211951cb399200a477a974b359b0d7 100644 (file)
@@ -73,7 +73,6 @@ void json_endurance_group_event_agg_log(
        struct nvme_aggregate_predictable_lat_event *endurance_log,
        __u64 log_entries);
 void json_lba_status_log(void *lba_status);
-void add_bitmap(int i, __u8 seb, struct json_object *root, int json_flag);
 void json_persistent_event_log(void *pevent_log_info, __u32 size);
 void json_predictable_latency_event_agg_log(
        struct nvme_aggregate_predictable_lat_event *pea_log,
@@ -138,7 +137,6 @@ void json_connect_msg(nvme_ctrl_t c);
 #define json_resv_notif_log(resv)
 #define json_endurance_group_event_agg_log(endurance_log, log_entries)
 #define json_lba_status_log(lba_status)
-#define add_bitmap(i, seb, root, json_flag)
 #define json_persistent_event_log(pevent_log_info, size)
 #define json_predictable_latency_event_agg_log(pea_log, log_entries)
 #define json_predictable_latency_per_nvmset(plpns_log, nvmset_id)
index 1530036b900c938e6189211015f665e9420a2d6d..c58792e22be1cdfaf6132eed2da4f2573cb48612 100644 (file)
@@ -267,6 +267,18 @@ static void nvme_show_persistent_event_entry_ehai(__u8 ehai)
                "Event not associated with any port and PELPID does not apply");
 }
 
+static void add_bitmap(int i, __u8 seb)
+{
+        for (int bit = 0; bit < 8; bit++) {
+                if (nvme_pel_event_to_string(bit + i * 8)) {
+                       if (nvme_pel_event_to_string(bit + i * 8))
+                               if ((seb >> bit) & 0x1)
+                                       printf("        Support %s\n",
+                                              nvme_pel_event_to_string(bit + i * 8));
+               }
+       }
+}
+
 void nvme_show_persistent_event_log(void *pevent_log_info,
        __u8 action, __u32 size, const char *devname,
        enum nvme_print_flags flags)
@@ -336,7 +348,7 @@ void nvme_show_persistent_event_log(void *pevent_log_info,
                for (int i = 0; i < 32; i++) {
                        if (pevent_log_head->seb[i] == 0)
                                continue;
-                       add_bitmap(i, pevent_log_head->seb[i], NULL, 0);
+                       add_bitmap(i, pevent_log_head->seb[i]);
                }
        } else {
                printf("No log data can be shown with this log len at least " \