libnvme(9)
π libnvme(9) β the enum nvme_id_ctrl_anacap glow-up
okay bestie, so this page is straight out of the libnvme API Manual and it's all about one little enum that spills the tea on what a controller can actually do with Asymmetric Namespace Access Reporting. iykyk β¨
πΈ NAME
enum nvme_id_ctrl_anacap β this field is literally the capability report for everything ANA (Asymmetric Namespace Access) Reporting. it tells you which states and group-ID tricks your controller is able to handle, no cap π
π¦ SYNOPSIS
enum nvme_id_ctrl_anacap {
NVME_CTRL_ANACAP_OPT ,
NVME_CTRL_ANACAP_NON_OPT ,
NVME_CTRL_ANACAP_INACCESSIBLE ,
NVME_CTRL_ANACAP_PERSISTENT_LOSS ,
NVME_CTRL_ANACAP_CHANGE ,
NVME_CTRL_ANACAP_GRPID_NO_CHG ,
NVME_CTRL_ANACAP_GRPID_MGMT
};
like, that's the whole lineup bestie, seven constants, all iconic π
π Constants
okay so each one of these is a "if set, thenβ¦" situation. read them like a vibe check on the controller π«Ά
NVME_CTRL_ANACAP_OPTβ if this bit is set, the controller can report the ANA Optimized state. slay, it's thriving πNVME_CTRL_ANACAP_NON_OPTβ if set, the controller is able to report the ANA Non-Optimized state. not its best day but it's honest πNVME_CTRL_ANACAP_INACCESSIBLEβ if set, the controller can report the ANA Inaccessible state. π it CAN tell you the namespace is unreachable, which is lowkey a flexNVME_CTRL_ANACAP_PERSISTENT_LOSSβ if set, the controller is able to report the ANA Persistent Loss state. π yeah that's the sad one, but it reports itNVME_CTRL_ANACAP_CHANGEβ if set, the controller is able to report the ANA Change state. main character energy, always shifting β¨NVME_CTRL_ANACAP_GRPID_NO_CHGβ if set, then theANAGRPIDfield inside the Identify Namespace data structure (struct nvme_id_ns.anagrpid) does not change while the namespace is attached to any controller. fr fr, stable group ID, we love consistency π§NVME_CTRL_ANACAP_GRPID_MGMTβ if set, then the controller supports a non-zero value in theANAGRPIDfield of the Namespace Management command. so you can actually set it yourself, periodt π
ngl the whole point of this enum is just: flip the bits, find out what your controller can do. every single one is an "if set" β no bits, no party π
and that's the whole page bestie!! π this was enum nvme_id_ctrl_anacap from libnvme(9), dated October 2026 β mwah, go read the rest of the API manual, ily π«Άπ
π¦ 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