libnvme(9)

πŸ“¦ version 3.2, in arch rolling

πŸ’– libnvme β€” enum nvme_id_ns_kpios πŸ’–

okay bestie, welcome to the libnvme manual, section 9 πŸ‘‘ this one's a little baby page but it's iconic in its own way, i promise.


✨ NAME ✨

enum nvme_id_ns_kpios β€” Key Per I/O Status πŸŽ€ (yes that's the whole name, she's efficient)


🌸 SYNOPSIS 🌸

here's the whole vibe, literally the entire struct, no cap:

enum nvme_id_ns_kpios {
    NVME_NS_KPIOS_KPIOENS_SHIFT ,
    NVME_NS_KPIOS_KPIOENS_MASK ,
    NVME_NS_KPIOS_KPIOSNS_SHIFT ,
    NVME_NS_KPIOS_KPIOSNS_MASK

};

that's it. four constants. she's compact. we stan a low-overhead enum πŸ’…


πŸ¦‹ Constants πŸ¦‹

okay so each of these is a little helper for pulling info out of one specific field β€” the kpios field inside struct nvme_id_ns. like, the field is one thing, but there's two facts hiding in it, and you gotta shift and mask to get 'em out. very "there are two wolves inside you" energy fr fr 🐺✨

  • NVME_NS_KPIOS_KPIOENS_SHIFT β€” the shift amount you use to get Key Per I/O Enabled in Namespace out of the struct nvme_id_ns.kpios field. slide those bits on over, bestie ➑️
  • NVME_NS_KPIOS_KPIOENS_MASK β€” the mask you use to get Key Per I/O Enabled in Namespace out of the struct nvme_id_ns.kpios field. shift first, then mask, that's the combo 🎯
  • NVME_NS_KPIOS_KPIOSNS_SHIFT β€” the shift amount you use to get Key Per I/O Supported in Namespace out of the struct nvme_id_ns.kpios field. different fact, same field, lowkey magical 🌈
  • NVME_NS_KPIOS_KPIOSNS_MASK β€” the mask you use to get Key Per I/O Supported in Namespace out of the struct nvme_id_ns.kpios field. the mask that finishes the job 🫢
little reminder: Enabled and Supported are two separate bits living in the same kpios field β€” don't mix up your KPIOENS and your KPIOSNS, the names are one letter apart and that's genuinely so rude of them 😭

and that's the page!! short, sweet, entirely about bit-shifting, which is honestly the most main-character thing a field can be πŸ’€

sign-off time πŸŽ€ this beauty dropped in October 2026, it's the enum nvme_id_ns_kpios page, and it lives in the libnvme manual, section 9. go forth and mask responsibly βœ¨πŸ’œπŸŒΈ

πŸ“¦ where this page comes from