Skip to content

Commit 570afa8

Browse files
nvme-cli: Update nvme_endurance_group_log structure
* Update show_endurance_log * Update json_endurance_log Signed-off-by: Revanth Rajashekar <[email protected]>
1 parent 5c1ab09 commit 570afa8

2 files changed

Lines changed: 34 additions & 8 deletions

File tree

linux/nvme.h

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -508,15 +508,21 @@ struct nvme_telemetry_log_page_hdr {
508508
};
509509

510510
struct nvme_endurance_group_log {
511-
__u32 rsvd0;
511+
__u8 critical_warning;
512+
__u8 rsvd1[2];
513+
__u8 avl_spare;
512514
__u8 avl_spare_threshold;
513515
__u8 percent_used;
514516
__u8 rsvd6[26];
515517
__u8 endurance_estimate[16];
516518
__u8 data_units_read[16];
517519
__u8 data_units_written[16];
518520
__u8 media_units_written[16];
519-
__u8 rsvd96[416];
521+
__u8 host_read_cmds[16];
522+
__u8 host_write_cmds[16];
523+
__u8 media_data_integrity_err[16];
524+
__u8 num_err_info_log_entries[16];
525+
__u8 rsvd160[352];
520526
};
521527

522528
struct nvme_smart_log {

nvme-print.c

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1685,16 +1685,26 @@ void show_endurance_log(struct nvme_endurance_group_log *endurance_group,
16851685
__u16 group_id, const char *devname)
16861686
{
16871687
printf("Endurance Group Log for NVME device:%s Group ID:%x\n", devname, group_id);
1688-
printf("avl_spare_threshold : %u\n", endurance_group->avl_spare_threshold);
1689-
printf("percent_used : %u%%\n", endurance_group->percent_used);
1690-
printf("endurance_estimate : %'.0Lf\n",
1688+
printf("critical warning : %u\n", endurance_group->critical_warning);
1689+
printf("avl_spare : %u\n", endurance_group->avl_spare);
1690+
printf("avl_spare_threshold : %u\n", endurance_group->avl_spare_threshold);
1691+
printf("percent_used : %u%%\n", endurance_group->percent_used);
1692+
printf("endurance_estimate : %'.0Lf\n",
16911693
int128_to_double(endurance_group->endurance_estimate));
1692-
printf("data_units_read : %'.0Lf\n",
1694+
printf("data_units_read : %'.0Lf\n",
16931695
int128_to_double(endurance_group->data_units_read));
1694-
printf("data_units_written : %'.0Lf\n",
1696+
printf("data_units_written : %'.0Lf\n",
16951697
int128_to_double(endurance_group->data_units_written));
1696-
printf("media_units_written : %'.0Lf\n",
1698+
printf("media_units_written : %'.0Lf\n",
16971699
int128_to_double(endurance_group->media_units_written));
1700+
printf("host_read_cmds : %'.0Lf\n",
1701+
int128_to_double(endurance_group->host_read_cmds));
1702+
printf("host_write_cmds : %'.0Lf\n",
1703+
int128_to_double(endurance_group->host_write_cmds));
1704+
printf("media_data_integrity_err: %'.0Lf\n",
1705+
int128_to_double(endurance_group->media_data_integrity_err));
1706+
printf("num_err_info_log_entries: %'.0Lf\n",
1707+
int128_to_double(endurance_group->num_err_info_log_entries));
16981708
}
16991709

17001710
void show_smart_log(struct nvme_smart_log *smart, unsigned int nsid, const char *devname)
@@ -3168,15 +3178,25 @@ void json_endurance_log(struct nvme_endurance_group_log *endurance_group,
31683178
long double data_units_read= int128_to_double(endurance_group->data_units_read);
31693179
long double data_units_written= int128_to_double(endurance_group->data_units_written);
31703180
long double media_units_written= int128_to_double(endurance_group->media_units_written);
3181+
long double host_read_cmds = int128_to_double(endurance_group->host_read_cmds);
3182+
long double host_write_cmds = int128_to_double(endurance_group->host_write_cmds);
3183+
long double media_data_integrity_err = int128_to_double(endurance_group->media_data_integrity_err);
3184+
long double num_err_info_log_entries = int128_to_double(endurance_group->num_err_info_log_entries);
31713185

31723186
root = json_create_object();
31733187

3188+
json_object_add_value_int(root, "critical_warning", endurance_group->critical_warning);
3189+
json_object_add_value_int(root, "avl_spare", endurance_group->avl_spare);
31743190
json_object_add_value_int(root, "avl_spare_threshold", endurance_group->avl_spare_threshold);
31753191
json_object_add_value_int(root, "percent_used", endurance_group->percent_used);
31763192
json_object_add_value_float(root, "endurance_estimate", endurance_estimate);
31773193
json_object_add_value_float(root, "data_units_read", data_units_read);
31783194
json_object_add_value_float(root, "data_units_written", data_units_written);
31793195
json_object_add_value_float(root, "mediate_write_commands", media_units_written);
3196+
json_object_add_value_float(root, "host_read_cmds", host_read_cmds);
3197+
json_object_add_value_float(root, "host_write_cmds", host_write_cmds);
3198+
json_object_add_value_float(root, "media_data_integrity_err", media_data_integrity_err);
3199+
json_object_add_value_float(root, "num_err_info_log_entries", num_err_info_log_entries);
31803200

31813201
json_print_object(root, NULL);
31823202
printf("\n");

0 commit comments

Comments
 (0)