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);
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");
{
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",
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,