From 2ed6e03a5e9c0a77578d21057a1fc761bc840cbf Mon Sep 17 00:00:00 2001 From: Tokunori Ikegami Date: Tue, 22 Aug 2023 00:54:48 +0900 Subject: [PATCH] nvme-print: Add support for EGFEAT, Domain Identifier, TEGCAP and UEGCAP Signed-off-by: Tokunori Ikegami --- nvme-print-json.c | 7 +++++++ nvme-print-stdout.c | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/nvme-print-json.c b/nvme-print-json.c index 2962d971..d65ea13e 100644 --- a/nvme-print-json.c +++ b/nvme-print-json.c @@ -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"); diff --git a/nvme-print-stdout.c b/nvme-print-stdout.c index 0fdf92c7..48248da9 100644 --- a/nvme-print-stdout.c +++ b/nvme-print-stdout.c @@ -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, -- 2.50.1