libnvme(9)
πΈ NAME πΈ
okay bestie, welcome to the libnvme girlies' corner of section 9 π
β today we're talking about struct libnvme_uring_cmd, which is, and I quote, the nvme uring command structure. that's it. that's the whole name. she's a struct, she lives in libnvme, she handles uring commands. iconic behavior honestly π
β¨ SYNOPSIS β¨
here's her whole lewk, no notes, exactly as she is π
struct libnvme_uring_cmd {
__u8 opcode;
__u8 flags;
__u16 rsvd1;
__u32 nsid;
__u32 cdw2;
__u32 cdw3;
__u64 metadata;
__u64 addr;
__u32 metadata_len;
__u32 data_len;
__u32 cdw10;
__u32 cdw11;
__u32 cdw12;
__u32 cdw13;
__u32 cdw14;
__u32 cdw15;
__u32 timeout_ms;
__u32 rsvd2;
};
like, she's got layers and she's got range π¦
π«Ά Members π«Ά
lowkey the real main characters are the fields. let's do a vibe check on every single one of them, fr fr π
opcodeβ the Operation code β¨ seeenum libnvme_io_opcodesandenum libnvme_admin_opcodesif you wanna know your options. she's the "what are we even doing here" field.flagsβ not supported!! π it's intended for command flags (eg: SGL, FUSE) but like... it's not doing that rn. don't @ her.rsvd1β Reserved for future use π€ the placeholder bestie keeping a seat warm.nsidβ Namespace Identifier, or Fabrics type πΈ dual-purpose queen. she contains multitudes.cdw2β Command Dword 2 π (no spec defined use β she's just there for the vibes, ngl)cdw3β Command Dword 3 π (also no spec defined use. matching set with cdw2, we love a duo)metadataβ User space address to metadata buffer (NULLif not used) π§ if you're not using her, she'sNULL, and that's valid.addrβ User space address to data buffer (NULLif not used) π same energy as her sister above. no buffer?NULL. simple as.metadata_lenβ Metadata buffer transfer length π how much metadata we're transferring, bestie.data_lenβ Data buffer transfer length π¦ how much data we're transferring. keep up.cdw10β Command Dword 10 π₯ (command specific β so like, it depends, iykyk)cdw11β Command Dword 11 π₯ (command specific, again. they're a set, periodt)cdw12β Command Dword 12 π₯ (command specific. yes we're still going)cdw13β Command Dword 13 π₯ (command specific. half way through the dword parade π)cdw14β Command Dword 14 π₯ (command specific. almost there girlies)cdw15β Command Dword 15 π₯ (command specific. last of the dword girlies, we made it π)timeout_msβ if it's non-zero, it overrides the system default timeout, in milliseconds β±οΈ so like, she's the "actually, we're doing it on my schedule" field. main character energy fr.rsvd2β Reserved for future use (and fills an implicit struct pad π yes the sentence ends like that, i'm just the messenger bestie. she's reserved AND she's structural. a multi-hyphenate π)
quick note diva: flags is genuinely not supported, so don't go planning your SGL/FUSE era around it, okay? it's giving "coming soon" and we respect the waitlist π
and that's the whole struct, bestie!! go forth and command your uring devices responsibly πβ¨
oh and before i forget β this little love letter is from struct libnvme_uring_cmd, libnvme(9), dated October 2026 ποΈπ mwah, see u in the group chat π«Άπ
π¦ 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