]> www.infradead.org Git - users/sagi/nvme-cli.git/commitdiff
nvme-print: Add support for EGFEAT, Domain Identifier, TEGCAP and UEGCAP
authorTokunori Ikegami <ikegami.t@gmail.com>
Mon, 21 Aug 2023 15:54:48 +0000 (00:54 +0900)
committerDaniel Wagner <wagi@monom.org>
Mon, 4 Sep 2023 16:46:18 +0000 (18:46 +0200)
Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
nvme-print-json.c
nvme-print-stdout.c

index 2962d971a2394e558953c472f37daccffe0cc2f4..d65ea13ea66c5372880672ccef59ba8570287238 100644 (file)
@@ -468,14 +468,19 @@ static void json_endurance_log(struct nvme_endurance_group_log *endurance_group,
            le128_to_cpu(endurance_group->media_data_integrity_err);
        nvme_uint128_t num_err_info_log_entries =
            le128_to_cpu(endurance_group->num_err_info_log_entries);
+       nvme_uint128_t total_end_grp_cap = le128_to_cpu(endurance_group->total_end_grp_cap);
+       nvme_uint128_t unalloc_end_grp_cap = le128_to_cpu(endurance_group->unalloc_end_grp_cap);
 
        root = json_create_object();
 
        json_object_add_value_int(root, "critical_warning", endurance_group->critical_warning);
+       json_object_add_value_int(root, "endurance_group_features",
+                                 endurance_group->endurance_group_features);
        json_object_add_value_int(root, "avl_spare", endurance_group->avl_spare);
        json_object_add_value_int(root, "avl_spare_threshold",
                                  endurance_group->avl_spare_threshold);
        json_object_add_value_int(root, "percent_used", endurance_group->percent_used);
+       json_object_add_value_int(root, "domain_identifier", endurance_group->domain_identifier);
        json_object_add_value_uint128(root, "endurance_estimate", endurance_estimate);
        json_object_add_value_uint128(root, "data_units_read", data_units_read);
        json_object_add_value_uint128(root, "data_units_written", data_units_written);
@@ -484,6 +489,8 @@ static void json_endurance_log(struct nvme_endurance_group_log *endurance_group,
        json_object_add_value_uint128(root, "host_write_cmds", host_write_cmds);
        json_object_add_value_uint128(root, "media_data_integrity_err", media_data_integrity_err);
        json_object_add_value_uint128(root, "num_err_info_log_entries", num_err_info_log_entries);
+       json_object_add_value_uint128(root, "total_end_grp_cap", total_end_grp_cap);
+       json_object_add_value_uint128(root, "unalloc_end_grp_cap", unalloc_end_grp_cap);
 
        json_print_object(root, NULL);
        printf("\n");
index 0fdf92c7b673113ea96f1fe195705dbec0db97a4..48248da9329c114b7df89e929caba385e0d798c9 100644 (file)
@@ -3714,9 +3714,11 @@ static void stdout_endurance_log(struct nvme_endurance_group_log *endurance_log,
 {
        printf("Endurance Group Log for NVME device:%s Group ID:%x\n", devname, group_id);
        printf("critical_warning        : %u\n", endurance_log->critical_warning);
+       printf("endurance_group_features: %u\n", endurance_log->endurance_group_features);
        printf("avl_spare               : %u\n", endurance_log->avl_spare);
        printf("avl_spare_threshold     : %u\n", endurance_log->avl_spare_threshold);
        printf("percent_used            : %u%%\n", endurance_log->percent_used);
+       printf("domain_identifier       : %u\n", endurance_log->domain_identifier);
        printf("endurance_estimate      : %s\n",
               uint128_t_to_l10n_string(le128_to_cpu(endurance_log->endurance_estimate)));
        printf("data_units_read         : %s\n",
@@ -3733,6 +3735,10 @@ static void stdout_endurance_log(struct nvme_endurance_group_log *endurance_log,
               uint128_t_to_l10n_string(le128_to_cpu(endurance_log->media_data_integrity_err)));
        printf("num_err_info_log_entries: %s\n",
               uint128_t_to_l10n_string(le128_to_cpu(endurance_log->num_err_info_log_entries)));
+       printf("total_end_grp_cap       : %s\n",
+              uint128_t_to_l10n_string(le128_to_cpu(endurance_log->total_end_grp_cap)));
+       printf("unalloc_end_grp_cap     : %s\n",
+              uint128_t_to_l10n_string(le128_to_cpu(endurance_log->unalloc_end_grp_cap)));
 }
 
 static void stdout_smart_log(struct nvme_smart_log *smart, unsigned int nsid,