libnvme(9)

πŸ“¦ version 3.2, in arch rolling

πŸ‘‘ 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 how NVME_SANITIZE_SSI_RESTRICT_FAILURE and NVME_SANITIZE_SSI_UNRESTRICT_FAILURE each 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