libnvme(9)

πŸ’– NAME πŸ’–

okay bestie, gather round, because this is struct nvme_lm_cdq_args β€” the little argument bundle you hand over when you wanna run the Controller Data Queue (CDQ) command ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

like, this is the shape of it, no cap:

struct nvme_lm_cdq_args {
    __u32 *result;
    void *data;
    int args_size;
    int fd;
    __u32 timeout;
    __u16 mos;
    __u16 cntlid;
    __u16 cdqid;
    __u8 sel;
    __u8 sz_u8;
    __u8 rsvd1[4];
    __u32 sz;
 };

🌸 Members 🌸

every single field, and yes we are going through ALL of them, periodt πŸ’…

  • result β€” gets set when the command finishes, and it holds the command's CQE DWORD 0 controller response. that's it, that's the field. πŸ‘‘
  • data β€” a pointer to data. iconic, mysterious, does exactly what it says on the tin πŸ’œ
  • args_size β€” the length of the structure. yes she's measuring herself, we love self-awareness πŸŽ€
  • fd β€” the file descriptor of the nvme device. the golden ticket, the main character 🫢
  • timeout β€” timeout, in ms. so real for that ⏳
  • mos β€” Management Operation Specific (MOS): this field is specific to the SEL type. iykyk 😌
  • cntlid β€” Controller ID: for Create CDQ, this specifies the target migratable controller 🧚
  • cdqid β€” Controller Data Queue ID (CDQID): for Create CDQ, this field is the CDQID created by the controller if no error is present. for Delete CDQ, this field is the CDQID to delete. she does double duty and she ate πŸ”₯
  • sel β€” Select (SEL): this field specifies the type of management operation to perform. choose your fighter ✨
  • sz_u8 β€” for Create CDQ, specifies the size of CDQ, in dwords - 1 byte. one (1) byte of it, exactly πŸ“
  • rsvd1 β€” Reserved. not your moment bestie, sit this one out πŸ™ˆ
  • sz β€” for Create CDQ, specifies the size of CDQ, in dwords - 4 byte. four (4) bytes this time, and that's the whole vibe 🌈

lowkey reminder: mos is tied to whatever SEL you picked, and cdqid means different things depending on whether you're Creating or Deleting. do not mix those up, bestie, i'm begging 😭

and that's the whole page, mwah πŸ’‹ this was libnvme(9) from the API Manual, dated August 2026 β€” go forth and CDQ responsibly, ily, bye πŸŽ€πŸ’–βœ¨

πŸ“¦ where this page comes from