libnvme(9)

πŸ’– NAME πŸ’–

okay bestie, gather round, because today we're talking about struct nvme_sanitize_nvm_args β€” which is, and I cannot stress this enough, the arguments you hand over when you want the NVMe Sanitize NVM command to do its thing. this is the little bundle of hopes and dreams you pass into the sanitize call. it's giving API Manual energy, it's from the libnvme world, and it's lowkey iconic. πŸ’…


✨ SYNOPSIS ✨

here's the whole vibe, verbatim, no cap:

struct nvme_sanitize_nvm_args {
    __u32 *result;
    int args_size;
    int fd;
    __u32 timeout;
    enum nvme_sanitize_sanact sanact;
    __u32 ovrpat;
    bool ause;
    __u8 owpass;
    bool oipbp;
    bool nodas;
    bool emvs;
 };

look at her. eleven fields. all of them important. do not skip a single one, I'm literally begging. πŸ™ˆ


πŸŽ€ Members πŸŽ€

  • result β€” the command completion result, straight out of CQE dword0. yes it's a pointer to a __u32. she's reporting back from the battlefield. 🫢
  • args_size β€” the size of struct nvme_sanitize_nvm_args. it's an int. she knows her own measurements and she's not ashamed. ✨
  • fd β€” the file descriptor of the nvme device. your golden ticket, your connection, your link to the hardware. int. πŸ”₯
  • timeout β€” timeout in ms. milliseconds, bestie. __u32. patience is a virtue and this is how much of it you've got. ⏳
  • sanact β€” the sanitize action. of type enum nvme_sanitize_sanact. go check that enum, iykyk. πŸ‘‘
  • ovrpat β€” the overwrite pattern. __u32. it's the design you stamp over everything, very main character. 🎨
  • ause β€” set this to allow unrestricted sanitize exit. it's a bool, so it's a yes-or-no girlie. πŸ’€
  • owpass β€” the overwrite pass count. __u8. how many laps around the track, babe. πŸƒβ™€οΈ
  • oipbp β€” set to overwrite invert pattern between passes. bool. flipping the pattern, keeping it spicy. 🌈
  • nodas β€” set to not deallocate blocks after sanitizing. bool. so she sanitizes and then just… leaves the blocks there. okay. πŸ“
  • emvs β€” set to enter media verification state. bool. the final form, the glow-up, the vibe check. πŸ’œ
pro tip from your girl: every single one of these is a real field with a real type, so don't go mixing up your __u32s and your __u8s. the compiler WILL notice. she always notices. 😭

okay that's the whole page, you ate that, periodt. 🌸 this was brought to you by the libnvme(9) API Manual, dated August 2026, and yes, the footer says libnvme(9) too because she's consistent like that. mwah, go sanitize something. πŸ§šπŸ’–

πŸ“¦ where this page comes from