libnvme(2)
π NAME
okay bestie, gather round β this is the manual page for libnvme, and today's episode is all about struct nvme_endurance_group_log a.k.a. the Endurance Group Information Log β¨ like, it's literally the receipts for how hard your endurance group has been working. no cap.
πΈ SYNOPSIS
here's the whole struct, exactly as it lives in the code, no edits, no vibes-based rewriting, periodt:
struct nvme_endurance_group_log {
__u8 critical_warning;
__u8 endurance_group_features;
__u8 rsvd2;
__u8 avl_spare;
__u8 avl_spare_threshold;
__u8 percent_used;
__le16 domain_identifier;
__u8 rsvd8[24];
__u8 endurance_estimate[16];
__u8 data_units_read[16];
__u8 data_units_written[16];
__u8 media_units_written[16];
__u8 host_read_cmds[16];
__u8 host_write_cmds[16];
__u8 media_data_integrity_err[16];
__u8 num_err_info_log_entries[16];
__u8 total_end_grp_cap[16];
__u8 unalloc_end_grp_cap[16];
__u8 rsvd192[320];
};
likeβ¦ she's big. she's detailed. she ate π
π MEMBERS
one field at a time, bestie, we're going through all of them, nobody gets left behind π«Ά
critical_warningβ the Critical Warning field π like if something's alarming in here, this is where it tells you.endurance_group_featuresβ the Endurance Group Features field β¨ the whole feature situation, right here.rsvd2β Reserved π hands off, not for you, it's reserved.avl_spareβ Available Spare π the spare that's still available, iconic.avl_spare_thresholdβ Available Spare Threshold β the line where available spare becomes a situation.percent_usedβ Percentage Used π like a battery percentage but for your endurance, and you WILL be checking it.domain_identifierβ Domain Identifier π¦ which domain we're talking about, iykyk.rsvd8β Reserved π again. reserved. do not perceive it.endurance_estimateβ Endurance Estimate</endurance_estimate> π the estimate of endurance, fr fr.data_units_readβ Data Units Read π all the data units that got read.data_units_writtenβ Data Units Written π all the data units that got written.media_units_writtenβ Media Units Written π media units, written, that's the whole thing.host_read_cmdsβ Host Read Commands π read commands, from the host, slay.host_write_cmdsβ Host Write Commands π write commands, from the host.media_data_integrity_errβ Media and Data Integrity Errors π the errors field. we do not want numbers here, bestie.num_err_info_log_entriesβ Number of Error Information Log Entries π literally how many entries are in the error information log.total_end_grp_capβ Total Endurance Group Capacity π the total capacity of the endurance group.unalloc_end_grp_capβ Unallocated Endurance Group Capacity π the capacity that's still unallocated. main character energy.rsvd192β Reserved π the last one. also reserved. we respect the reserved fields in this house.
β¨ gentle reminder bestie: those rsvd* fields are Reserved, so don't go poking at them like they're free real estate π
and that's the whole page, no skips, all 19 members accounted for π§
sooo yeah, that was struct nvme_endurance_group_log from the libnvme API manual (section 2, the one and only π«Ά), dated July 2026 β which is also the version/date stamp on this page, so consider this your cute little sign-off β¨ stay hydrated, check your critical_warning, and don't touch the reserved fields. bye bestie ππ
π¦ where this page comes from
- ubuntu stonking: libnvme-dev 1.16.2-1build1 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms