NVME_IDENTIFY_NS_GRANULARITY(2)

✨ NAME ✨

nvme_identify_ns_granularity β€” bestie, this one retrieves namespace granularity identification πŸ’– it's giving "tell me how chunky your namespaces are" energy, fr fr

(this page lives in the libnvme API manual, section 2, iykyk πŸ¦‹)


🌸 SYNOPSIS 🌸

int nvme_identify_ns_granularity (int fd , struct
       nvme_id_ns_granularity_list *gr_list );

πŸŽ€ ARGUMENTS πŸŽ€

  • fd β€” the file descriptor of the nvme device, aka your little backstage pass to the controller πŸ‘‘
  • gr_list β€” user space destination address to transfer the data 🫢 that's where the goods land, no cap

πŸ’… DESCRIPTION πŸ’…

Okay so, the way that this works: if the controller supports reporting of Namespace Granularity, then a Namespace Granularity List gets returned to the host for up to sixteen namespace granularity descriptors. sixteen!! a whole sweet sixteen of them πŸŽ‚βœ¨

See struct nvme_id_ns_granularity_list for the definition of the returned structure β€” that's where all the lore lives, go read it πŸ’œ


πŸ”₯ RETURN πŸ”₯

It gives you the nvme command status if a response was received (peep enum nvme_status_field for that whole situation) β€” or -1 with errno set otherwise 😭 so always check, bestie, always.

no response = -1 + errno. that's the vibe check. don't ignore it πŸ’€

that's the whole page, you ate it, periodt πŸ“πŸ§š

sign-off szn πŸ’Œ this came from the libnvme API manual, dated July 2026 β€” mwah, go granularity-identify something iconic ✨

πŸ“¦ where this page comes from