NVME_IDENTIFY_NSID_CTRL_LIST(2)

πŸ’– NAME πŸ’–

nvme_identify_nsid_ctrl_list β€” bestie, this one grabs the list of controllers that are attached to an nsid πŸ’…


✨ SYNOPSIS ✨

int nvme_identify_nsid_ctrl_list (int fd , __u32 nsid , __u16 cntid ,
       struct nvme_ctrl_list *cntlist );

πŸŽ€ ARGUMENTS πŸŽ€

  • fd β€” the file descriptor for your nvme device, okurrr 🫢
  • nsid β€” return the controllers that are attached to this nsid ✨
  • cntid β€” the starting CNTLID to return in the list, like the first one you wanna see πŸ‘‘
  • cntlist β€” user space destination address where the data gets transferred πŸ¦‹

🌸 DESCRIPTION 🌸

So basically, you get up to 2047 controller identifiers back, and every single one of them has a controller identifier that's greater than or equal to the controller identifier you specified in cntid, and they're all attached to nsid. no cap πŸ”₯

And if you're wondering what the returned structure actually looks like, go check out struct nvme_ctrl_list for the definition. iykyk πŸ’œ


πŸ’… RETURN πŸ’…

It returns the nvme command status if a response was received β€” peep enum nvme_status_field for the deets β€” or -1. that's it, that's the tea 😭


mwah, ily, go read some more nvme manpages 🧚 this was the libnvme API manual, dated July 2026 β€” slay, periodt πŸ’–

πŸ“¦ where this page comes from