libnvme(2)

πŸ’– NAME πŸ’–

struct nvme_sanitize_log_page β€” okay so this is the Sanitize Status log page, a.k.a. Log Identifier 81h ✨

It's a thing from the libnvme(2) manual, and no cap, it's giving "the drive is telling you how the sanitize is going" energy πŸ’…


✨ SYNOPSIS ✨

struct nvme_sanitize_log_page {
    __le16 sprog;
    __le16 sstat;
    __le32 scdw10;
    __le32 eto;
    __le32 etbe;
    __le32 etce;
    __le32 etond;
    __le32 etbend;
    __le32 etcend;
    __le32 etpvds;
    __u8 ssi;
    __u8 rsvd37[475];
 };

πŸ‘‘ Members πŸ‘‘

Okay bestie, member by member, let's go 🫢 Every single field, every single constant, nothing skipped:

  • sprog β€” Sanitize Progress (SPROG) 🌸 It tells you the fraction complete of the sanitize operation. The value is a numerator of the fraction complete that has 65,536 (10000h) as its denominator. Heads up tho: this value shall be set to FFFFh if the sstat field is not set to NVME_SANITIZE_SSTAT_STATUS_IN_PROGESS. iykyk πŸ’€
  • sstat β€” Sanitize Status (SSTAT) πŸŽ€ It indicates the status associated with the most recent sanitize operation. See enum nvme_sanitize_sstat.
  • scdw10 β€” Sanitize Command Dword 10 Information (SCDW10) πŸ¦‹ It contains the value of the Command Dword 10 field of the Sanitize command that started the sanitize operation. literally a lil receipt of how it all began 🧾
  • eto β€” Estimated Time For Overwrite ⏳ It indicates the number of seconds required to complete an Overwrite sanitize operation with 16 passes in the background when the No-Deallocate Modifies Media After Sanitize field is not set to 10b. A value of 0h indicates that the sanitize operation is expected to be completed in the background when the Sanitize command that started that operation is completed. A value of FFFFFFFFh indicates that no time period is reported. so: 0h = "it'll wrap up when the command does", FFFFFFFFh = "no comment πŸ™ˆ"
  • etbe β€” Estimated Time For Block Erase ⏳ It indicates the number of seconds required to complete a Block Erase sanitize operation in the background when the No-Deallocate Modifies Media After Sanitize field is not set to 10b. A value of 0h indicates that the sanitize operation is expected to be completed in the background when the Sanitize command that started that operation is completed. A value of FFFFFFFFh indicates that no time period is reported.
  • etce β€” Estimated Time For Crypto Erase ⏳ It indicates the number of seconds required to complete a Crypto Erase sanitize operation in the background when the No-Deallocate Modifies Media After Sanitize field is not set to 10b. A value of 0h indicates that the sanitize operation is expected to be completed in the background when the Sanitize command that started that operation is completed. A value of FFFFFFFFh indicates that no time period is reported.
  • etond β€” Estimated Time For Overwrite With No-Deallocate Media Modification ⏳✨ It indicates the number of seconds required to complete an Overwrite sanitize operation and the associated additional media modification after the Overwrite sanitize operation in the background when the No-Deallocate After Sanitize bit was set to 1 in the Sanitize command that requested the Overwrite sanitize operation; and the No-Deallocate Modifies Media After Sanitize field is set to 10b. A value of 0h indicates that the sanitize operation is expected to be completed in the background when the Sanitize command that started that operation is completed. A value of FFFFFFFFh indicates that no time period is reported.
  • etbend β€” Estimated Time For Block Erase With No-Deallocate Media Modification ⏳✨ It indicates the number of seconds required to complete a Block Erase sanitize operation and the associated additional media modification after the Block Erase sanitize operation in the background when the No-Deallocate After Sanitize bit was set to 1 in the Sanitize command that requested the Overwrite sanitize operation; and the No-Deallocate Modifies Media After Sanitize field is set to 10b. A value of 0h indicates that the sanitize operation is expected to be completed in the background when the Sanitize command that started that operation is completed. A value of FFFFFFFFh indicates that no time period is reported.
  • etcend β€” Estimated Time For Crypto Erase With No-Deallocate Media Modification ⏳✨ It indicates the number of seconds required to complete a Crypto Erase sanitize operation and the associated additional media modification after the Crypto Erase sanitize operation in the background when the No-Deallocate After Sanitize bit was set to 1 in the Sanitize command that requested the Overwrite sanitize operation; and the No-Deallocate Modifies Media After Sanitize field is set to 10b. A value of 0h indicates that the sanitize operation is expected to be completed in the background when the Sanitize command that started that operation is completed. A value of FFFFFFFFh indicates that no time period is reported.
  • etpvds β€” Estimated Time For Post-Verification Deallocation State 🧚 It indicates the number of seconds required to deallocate all media allocated for user data after exiting the Media Verification state (i.e., the time difference between entering and exiting the Post-Verification Deallocation state), if that state is entered as part of the sanitize operation. A value of FFFFFFFFh indicates that no time period is reported.
  • ssi β€” Sanitize State Information 🌈 It indicates the state of the Sanitize Operation State Machine. main character energy, truly πŸ‘‘
  • rsvd37 β€” Reserved. πŸ’€ that's it, that's the whole thing, it's reserved, don't touch it bestie

k that's the whole struct, every field accounted for, not a single byte left behind πŸ’œ

This lil guy is struct nvme_sanitize_log_page, it lived in the libnvme(2) manual, and it was last touched in July 2026. xoxo, go sanitize something responsibly, mwah πŸ’‹πŸ’–

πŸ“¦ where this page comes from