nvme_init_zns_report_zones(9)

πŸ“¦ version 3.2, in arch rolling

✨ nvme_init_zns_report_zones(9) ✨

okay so bestie, welcome to the libnvme API manual πŸ’– this one's a function page, and it's lowkey the setup step you need before you can ask a ZNS namespace to spill the tea about its zones. no cap.


🌸 NAME 🌸

nvme_init_zns_report_zones β€” Initialize passthru command to return the list of zones πŸ¦‹

like, it doesn't run anything, it just gets the passthru command all cute and ready so it can later return the list of zones. it's giving backstage-prep main character energy πŸ’…


⭐ SYNOPSIS ⭐

void nvme_init_zns_report_zones (struct libnvme_passthru_cmd *cmd ,
__u32 nsid , __u64 slba , enum nvme_zns_report_options opts , bool
extended , bool partial , void *data , __u32 len );

it's a void function, so it returns literally nothing β€” it just does its lil setup thing and dips πŸ™ˆ


πŸŽ€ ARGUMENTS πŸŽ€

  • cmd β€” the passthru command to use. this is the thing you're initializing, bestie, so hand it over and let it cook πŸ”₯
  • nsid β€” the Namespace ID. you gotta tell it which namespace you're talking about, iykyk ✨
  • slba β€” the Starting LBA. where the zone-reporting party begins πŸ’ƒ
  • opts β€” the Reporting options. these are enum nvme_zns_report_options values, so pick your vibe from that enum πŸŽ€
  • extended β€” Extended report. it's a bool, so it's a yes/no situation πŸ¦‹
  • partial β€” Partial report requested. also a bool β€” you either want the partial report or you don't, periodt πŸ’…
  • data β€” the userspace address of the report zones data buffer. this is where the zones are gonna land, so make sure it's a real one πŸ‘‘
  • len β€” the Length of the data buffer. a __u32, and yes it matters, don't be out here mismatching buffer and length 😭

πŸ’œ DESCRIPTION πŸ’œ

so what does it actually do? it initializes the passthru command buffer for the ZNS Management Receive - Report Zones command 🌈

that's it. that's the whole vibe. it's the glow-up your struct libnvme_passthru_cmd *cmd needs before that Report Zones command can do its thing. think of it as setting the stage so the zones can make their entrance ⭐

ngl, this is an init function β€” it fills in the command buffer. it is not the thing that submits the command, so don't be out here expecting zones to come back just from calling this πŸ™ˆ

and that's the whole page, bestie β€” go forth and report those zones πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈπŸ’…πŸ«Ά

sign-off szn: this page is from the libnvme API manual, dated October 2026 πŸ“πŸ§š mwah, ily, read the source next πŸ’œ

πŸ“¦ where this page comes from