libnvme(9)

πŸ“¦ version 3.2, in arch rolling

πŸ’– NAME

enum nvme_id_ctrl_fcatt β€” bestie, this is literally the field that tells you the attributes of the controller that are specific to NVMe over Fabrics. That's it, that's the whole vibe. It's an enum in the libnvme API manual (yes, libnvme(9) β€” we're in the big-kid section, section 9, slay πŸ‘‘).


✨ SYNOPSIS

Okay so here's the shape of it, copy it exactly, no cap:

enum nvme_id_ctrl_fcatt {
    NVME_CTRL_FCATT_DYNAMIC

};

Note the blank line before the closing brace β€” yes it's supposed to be there, don't come for me πŸ™ˆ. And there's exactly one constant in here, NVME_CTRL_FCATT_DYNAMIC, no more, no less. Iconic minimalism πŸ’….


πŸŽ€ Constants

  • NVME_CTRL_FCATT_DYNAMIC β€” okay so this one bit has two whole personalities depending on whether it's cleared or set, and both of them are about controller model:
    • If cleared β†’ the NVM subsystem uses a dynamic controller model.
    • If set β†’ the NVM subsystem uses a static controller model.

That's the whole lore, fr fr. Cleared = dynamic, set = static. Don't mix them up or it's giving chaos 😭πŸ”₯.


πŸ’€ tiny warning bestie: read it carefully β€” the cleared state is the dynamic one, which is lowkey the opposite of what your brain wants to guess. Vibe check your logic before you ship.

and that's the page!! πŸ¦‹βœ¨ huge shoutout to the October 2026 edition of the API Manual, published under the libnvme(9) banner β€” this little enum page is enum nvme_id_ctrl_fcatt and it ate, no notes πŸ«ΆπŸ’œ.

πŸ“¦ where this page comes from