NVME_INIT_IDENTIFY_CSI_ALLOCATED_NS_LIST-LIBNVME3(2)

πŸ“¦ version 3.2, in arch rolling

πŸ’… nvme_init_identify_csi_allocated_ns_list β€” the libnvme API manual, but make it make sense

okay so bestie, welcome to the libnvme API manual (section 9, we're fancy like that) ✨ this one's all about nvme_init_identify_csi_allocated_ns_list, which is a whole mouthful but honestly? it's giving "setup girlie" energy β€” it just gets your command ready πŸŽ€


🌸 NAME 🌸

nvme_init_identify_csi_allocated_ns_list β€” initializes a passthru command for the I/O Command Set specific Allocated Namespace Id list πŸ¦‹

like, that's literally the whole job. it sets up the command so you can go ask the drive "hey, which namespaces are allocated in this command set?" and it's lowkey iconic for it πŸ’–


✨ SYNOPSIS ✨

void nvme_init_identify_csi_allocated_ns_list (struct libnvme_passthru_cmd *cmd ,
                                               __u32 nsid ,
                                               enum nvme_csi csi ,
                                               struct nvme_ns_list *ns_list );

not me counting the arguments... four of them, bestie, and yes you need all four πŸ™ˆ


🫢 ARGUMENTS 🫢

  • cmd β€” the command data structure you're gonna initialize πŸ’… hand it over and let the function do its thing.
  • nsid β€” return namespaces greater than this identifier. so it's like "start after this one please, k thx" ⭐
  • csi β€” the Command Set Identifier. which command set we're talking about, no cap πŸ”₯
  • ns_list β€” the user space destination address where the data gets transferred. this is where the answer lands, so don't forget it πŸŽ€

πŸ’œ DESCRIPTION πŸ’œ

so what it actually does: it initializes the passthru command buffer for the Identify command, with the CNS value set to NVME_IDENTIFY_CNS_CSI_ALLOCATED_NS_LIST πŸ‘‘

that's it. that's the whole vibe. it's a builder, it's prep work, it's the "get ready with me" of NVMe commands β€” no actual I/O happening here, just setting the stage for the Identify to slay later ✨

ngl it's a void function, so don't come looking for a return value, bestie β€” there isn't one πŸ’€

πŸ’– handy little sign-off πŸ’–

this page is from the libnvme API manual, section 9, dated October 2026 β€” and yeah the header/footer got a little smooshed in the original (nvme_init_id...ated_ns_list(9)), we stan a truncation queen 😭 anyway, go initialize some command buffers and be iconic about it. periodt. 🧚🌈

πŸ“¦ where this page comes from