libnvme(9)
π libnvme(9) β the enum nvme_sanitize_ssi page, bestie edition π
okay so this is a page from the libnvme API manual, and it's literally all about enum nvme_sanitize_ssi β the Sanitize State Information (SSI) enum. it's giving "niche but iconic" ngl π
β¨
πΈ NAME πΈ
enum nvme_sanitize_ssi β Sanitize State Information (SSI) π
like⦠that's the whole name. short, sweet, main character energy.
β¨ SYNOPSIS β¨
here's the whole enum, character for character, no edits, no notes π«Ά
enum nvme_sanitize_ssi {
NVME_SANITIZE_SSI_SANS_SHIFT ,
NVME_SANITIZE_SSI_SANS_MASK ,
NVME_SANITIZE_SSI_FAILS_SHIFT ,
NVME_SANITIZE_SSI_FAILS_MASK ,
NVME_SANITIZE_SSI_IDLE ,
NVME_SANITIZE_SSI_RESTRICT_PROCESSING ,
NVME_SANITIZE_SSI_RESTRICT_FAILURE ,
NVME_SANITIZE_SSI_UNRESTRICT_PROCESSING ,
NVME_SANITIZE_SSI_UNRESTRICT_FAILURE ,
NVME_SANITIZE_SSI_MEDIA_VERIFICATION ,
NVME_SANITIZE_SSI_POST_VERIF_DEALLOC
};
π¦ Constants π¦
π« the shift-y and mask-y ones (bit wrangling era)
NVME_SANITIZE_SSI_SANS_SHIFTβ the shift amount you use to get the value of the Sanitize State out of the Sanitize State Information (SSI) field. it's the "move the bits over" number, iykyk β¨NVME_SANITIZE_SSI_SANS_MASKβ the mask you use to get the value of the Sanitize State out of the Sanitize State Information (SSI) field. mask + shift = bestie duo π₯NVME_SANITIZE_SSI_FAILS_SHIFTβ the shift amount you use to get the value of the Failure State out of the Sanitize State Information (SSI) field. same vibe, different field πNVME_SANITIZE_SSI_FAILS_MASKβ the mask you use to get the value of the Failure State out of the Sanitize State Information (SSI) field. use it with the shift above, periodt π
π the actual state constants (the drama)
NVME_SANITIZE_SSI_IDLEβ no sanitize operation is in process. literally nothing is happening. the calm before the storm, the vibes are immaculate πΈNVME_SANITIZE_SSI_RESTRICT_PROCESSINGβ the Sanitize operation is in Restricted Processing State. it's processing, but restricted-ly πNVME_SANITIZE_SSI_RESTRICT_FAILUREβ the Sanitize operation is in Restricted Failure State. π so here's how you end up here: this state gets entered if sanitize processing was performed in the Restricted Processing state and sanitize processing failed, or a failure occurred during deallocation of media allocated for user data in the Post-Verification Deallocation state. rough out here fr fr πNVME_SANITIZE_SSI_UNRESTRICT_PROCESSINGβ the Sanitize operation is in Unrestricted Processing State. no restrictions, living free π¦NVME_SANITIZE_SSI_UNRESTRICT_FAILUREβ the Sanitize operation is in Unrestricted Failure State. π and yeah, this one is entered if sanitize processing was performed in the Unrestricted Processing state and sanitize processing failed, or a failure occurred during deallocation of media allocated for user data in the Post-Verification. so close yet so far πNVME_SANITIZE_SSI_MEDIA_VERIFICATIONβ the Sanitize operation is in Media Verification State. π the slay state honestly: in this state the sanitize processing completed successfully, and all media allocated for user data in the sanitization target is readable by the host for purposes of verifying sanitization. we love a success arc πNVME_SANITIZE_SSI_POST_VERIF_DEALLOCβ the Sanitize operation is in Post-Verification Deallocation State. in this state, the controller shall deallocate all media allocated for user data in the sanitization target. cleanup era π§Ήβ¨
heads up bestie: notice howNVME_SANITIZE_SSI_RESTRICT_FAILUREandNVME_SANITIZE_SSI_UNRESTRICT_FAILUREeach have two ways in β sanitize processing failed in their respective processing state, or a deallocation failure happened. both are failure states, both are valid, don't merge them in ur head π«Ά
okay that's the whole page, no skips, no crumbs left behind π
and for the cute sign-off: this page is dated October 2026, it's the enum nvme_sanitize_ssi page from the libnvme(9) API Manual. mwah, go sanitize responsibly π
πβ
π¦ 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