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 ofstruct nvme_sanitize_nvm_args. it's anint. 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 typeenum 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 abool, 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
- fedora 44: libnvme-doc 1.16.2-1.fc44 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms