libnvme(9)
π libnvme(9) β enum nvme_zns_zs
okay bestie, welcome to the libnvme(9) API Manual, and specifically to one very specific little enum: enum nvme_zns_zs. it's the Zone Descriptor Data Structure β Zone State Attributes situation. sounds scary, is actually just "what is this zone doing rn" energy. let's get into it β¨
πΈ NAME πΈ
enum nvme_zns_zs β Zone Descriptor Data Structure - Zone State Attributes
like, it's an enum. it's about zones. it's about their state (their ~vibe~, if you will). no cap. π¦
β¨ SYNOPSIS β¨
here's the whole thing laid out, literally verbatim, do not touch:
enum nvme_zns_zs {
NVME_ZNS_DESC_ZS_SHIFT ,
NVME_ZNS_DESC_ZS_MASK ,
NVME_ZNS_ZS_EMPTY ,
NVME_ZNS_ZS_IMPL_OPEN ,
NVME_ZNS_ZS_EXPL_OPEN ,
NVME_ZNS_ZS_CLOSED ,
NVME_ZNS_ZS_READ_ONLY ,
NVME_ZNS_ZS_FULL ,
NVME_ZNS_ZS_OFFLINE
};
that's the whole roster. nine little members. iconic behavior honestly. π
π Constants π
okay this is the part where each one gets its moment. main character energy for every single constant, as they deserve. π
NVME_ZNS_DESC_ZS_SHIFTβ this one is the shift amount β¨ it's how you get the Zone State (ZS) out of thestruct nvme_zns_desc.zsfield. shift, like shift the bits, not shift like "omg shift." iykyk.NVME_ZNS_DESC_ZS_MASKβ the mask π you use it to get ZS out of that samestruct nvme_zns_desc.zsfield. mask + shift = the classic duo, fr fr.NVME_ZNS_ZS_EMPTYβ Empty state. the zone has nothing going on. it's giving blank slate. π«ΆNVME_ZNS_ZS_IMPL_OPENβ Implicitly open state. open, but likeβ¦ implicitly. it didn't announce it. πNVME_ZNS_ZS_EXPL_OPENβ Explicitly open state. open, and it said so. loud and proud. π£NVME_ZNS_ZS_CLOSEDβ Closed state. the door is shut. we are not taking visitors rn. πͺNVME_ZNS_ZS_READ_ONLYβ Read only state. look, don't touch. admire from a respectful distance. πNVME_ZNS_ZS_FULLβ Full state. no room. ate and left no crumbs. π₯NVME_ZNS_ZS_OFFLINEβ Offline state. gone. unreachable. do not perceive it. π
lowkey reminder bestie: these descriptions are literally what's in the manual, so don't go inventing extra meanings forIMPL_OPENvsEXPL_OPENbeyond "implicitly" and "explicitly" β the manpage keeps it mysterious and so do we. π
k so that's the whole page! nine constants, two helper thingies (SHIFT and MASK) for reading ZS out of struct nvme_zns_desc.zs, and seven actual zone states from EMPTY all the way to OFFLINE. you got this, bestie. go read some zone descriptors. π§
β cute little sign-off: this page came from the enum nvme_zns_zs section of the libnvme API Manual, dated October 2026. mwah. ππ
π¦ where this page comes from
- arch rolling: nvme-cli 3.2-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms