libnvme(9)
π§ libnvme(9) β struct nvme_sanitize_log_page π
okay bestie, sit down, grab your iced matcha π β this is the Sanitize Status log page, aka Log Identifier 81h, and it's literally the receipt your NVMe drive hands you after you nuke it. part of the libnvme API Manual, iykyk. no cap, it's giving β¨clean slate energyβ¨.
πΈ NAME πΈ
struct nvme_sanitize_log_page β the Sanitize Status struct, and yes it maps to Log Identifier 81h, periodt π
.
π 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];
};
like, copy it exactly, don't be quirky with the field names π β that's the whole vibe check right there.
π¦ Members π¦
one bullet per field, bestie, we're not skipping a single one π
sprogβ Sanitize Progress (SPROG). tells you the fraction complete of the sanitize operation π₯. the value is a numerator of that fraction, and the denominator is65,536(10000h) β math girlies rise. this value shall be set toFFFFhif thesstatfield is not set toNVME_SANITIZE_SSTAT_STATUS_IN_PROGRESS. no in-progress, no number, simple as π.sstatβ Sanitize Status (SSTAT). the status tied to the most recent sanitize operation π. seeenum nvme_sanitize_sstatfor the deets.scdw10β Sanitize Command Dword 10 Information (SCDW10). it holds the value of the Command Dword 10 field of the Sanitize command that kicked off the whole sanitize operation π«Ά. like a screenshot of the command that started it all.etoβ Estimated Time For Overwrite. the number of seconds it takes to complete an Overwrite sanitize operation with 16 passes in the background when the No-Deallocate Modifies Media After Sanitize field is not set to10bβ³.- a value of
0hmeans the sanitize operation is expected to complete in the background when the Sanitize command that started it completes πΈ. - a value of
FFFFFFFFhmeans no time period is reported π.
- a value of
etbeβ Estimated Time For Block Erase. seconds to complete a Block Erase sanitize operation in the background when the No-Deallocate Modifies Media After Sanitize field is not set to10bβ³.0h= expected to finish in the background when the Sanitize command that started it completes πΈ.FFFFFFFFh= no time period is reported π.
etceβ Estimated Time For Crypto Erase. seconds to complete a Crypto Erase sanitize operation in the background when the No-Deallocate Modifies Media After Sanitize field is not set to10bβ³.0h= expected to finish in the background when the Sanitize command that started it completes πΈ.FFFFFFFFh= no time period is reported π.
etondβ Estimated Time For Overwrite With No-Deallocate Media Modification. seconds 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 to1in the Sanitize command that requested the Overwrite sanitize operation, and the No-Deallocate Modifies Media After Sanitize field is set to10bπ.0h= expected to finish in the background when the Sanitize command that started it completes πΈ.FFFFFFFFh= no time period is reported π.
etbendβ Estimated Time For Block Erase With No-Deallocate Media Modification. seconds 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 to1in the Sanitize command that requested the Overwrite sanitize operation, and the No-Deallocate Modifies Media After Sanitize field is set to10bπ. (yes it says Overwrite in this one too β that's literally what the page says, i don't make the rules π)0h= expected to finish in the background when the Sanitize command that started it completes πΈ.FFFFFFFFh= no time period is reported π.
etcendβ Estimated Time For Crypto Erase With No-Deallocate Media Modification. seconds 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 to1in the Sanitize command that requested the Overwrite sanitize operation, and the No-Deallocate Modifies Media After Sanitize field is set to10bπ. (same little copy-paste quirk here, keeping it 100% faithful π«Ά)0h= expected to finish in the background when the Sanitize command that started it completes πΈ.FFFFFFFFh= no time period is reported π.
etpvdsβ Estimated Time For Post-Verification Deallocation State. seconds required to deallocate all media allocated for user data after exiting the Media Verification state β like, it's the time difference between entering and exiting the Post-Verification Deallocation state π¦ β but only if that state is entered as part of the sanitize operation.- a value of
FFFFFFFFhmeans no time period is reported π. (no0hrule here, bestie, don't invent one π )
- a value of
ssiβ Sanitize State Information. indicates the state of the Sanitize Operation State Machine βοΈβ¨.rsvd37β Reserved. literally nothing to see here, mind your business ππ.
π reminder bestie: those FFFFFFFFh values aren't a time, they're the "idk, no time period is reported" vibe. don't put them in your math homework.
and that's the whole page, slayed β¨π β this was the libnvme API Manual, page libnvme(9), for struct nvme_sanitize_log_page, dated October 2026 ππ catch you in the next manpage, mwah π«Ά
π¦ where this page comes from
- arch rolling: nvme-cli 3.2-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms