libnvme(9)

πŸ“¦ version 3.2, in arch rolling

libnvme(9) πŸ’…

okay so bestie, welcome to the libnvme(9) API manual β€” yes that's the manual name, and yes it's giving "I read kernel docs for fun" and honestly? iconic. sit down, hydrate, let's talk about one very specific enum. 🫢


✨ NAME ✨

enum nvme_subsys_type β€” the type of the NVM subsystem. literally just: what kind of subsystem are we talking about, bestie. that's the whole vibe check.


🌸 SYNOPSIS 🌸

enum nvme_subsys_type {
    NVME_NQN_DISC ,
    NVME_NQN_NVME ,
    NVME_NQN_CURR

};

that's it. three constants, zero drama. copy it exactly, don't @ me. πŸ’…


πŸŽ€ Constants πŸŽ€

the main characters, one by one. πŸ‘‘

  • NVME_NQN_DISC β€” Discovery type target subsystem. this one describes a referral to another Discovery Service, which is itself made up of Discovery controllers that hand out extra discovery records. and listen: multiple Referral entries may be reported for each Discovery Service β€” that happens if that Discovery Service has multiple NVM subsystem ports, or if it supports multiple protocols. so yeah, you might see it more than once. not a glitch, that's just how she is. πŸ¦‹
  • NVME_NQN_NVME β€” NVME type target subsystem. this is the one that describes an NVM subsystem whose controllers may have attached namespaces (i.e. an NVM subsystem that is not composed of Discovery controllers β€” very "I have actual work to do" energy). multiple NVM Subsystem entries may be reported for each NVM subsystem if that NVM subsystem has multiple NVM subsystem ports. so again: multiples are legit, bestie. πŸ”₯
  • NVME_NQN_CURR β€” Current Discovery type target subsystem. this describes this Discovery subsystem β€” like, the Discovery Service that contains the controller that's processing the Get Log Page command. multiple Current Discovery Subsystem entries may be reported for this Discovery subsystem if the current Discovery subsystem has multiple NVM subsystem ports. it's giving "look in the mirror" but in a spec-compliant way. πŸͺžβœ¨
lowkey the pattern here is: multiple entries = multiple ports. that's the whole lore. iykyk. πŸ’€

and that's the page, bestie β€” no cap, you now know your subsystem types. 🧚

sign-off era: this was enum nvme_subsys_type from the libnvme(9) API Manual, dated October 2026 β€” and just so we're clear, that's the source/version and date, not me being mysterious. mwah πŸ’œπŸŽ€

πŸ“¦ where this page comes from