libnvme(2)

πŸ’– NAME πŸ’–

enum nvme_id_ctrl_dsto β€” bestie, this is the little enum of flags that tells you what optional Device Self-test command/operation behaviors your controller or NVM subsystem can actually do. It's giving "capability cheat sheet" energy. ✨

(And yeah, this page lives in the libnvme manual, section 2 β€” now you know the lore 🫢)


🌸 SYNOPSIS 🌸

enum nvme_id_ctrl_dsto {
    NVME_CTRL_DSTO_SDSO_SHIFT ,
    NVME_CTRL_DSTO_HIRS_SHIFT ,
    NVME_CTRL_DSTO_SDSO_MASK ,
    NVME_CTRL_DSTO_HIRS_MASK ,
    NVME_CTRL_DSTO_ONE_DST ,
    NVME_CTRL_DSTO_HIRS

};

πŸŽ€ Constants πŸŽ€

okay so here's the whole squad, one by one, no skipping, no cap:

  • NVME_CTRL_DSTO_SDSO_SHIFT β€” the shift amount you use to pull the value of Single Device Self-test Operation out of the Device Self-test Options field. Yes it's a shift, yes it's iconic πŸ’…
  • NVME_CTRL_DSTO_HIRS_SHIFT β€” the shift amount you use to get the value of Host-Initiated Refresh Support out of that same Device Self-test Options field. Same field, different little slice πŸ¦‹
  • NVME_CTRL_DSTO_SDSO_MASK β€” the mask that grabs you the value of Single Device Self-test Operation. Mask on, bestie 🎭
  • NVME_CTRL_DSTO_HIRS_MASK β€” the mask that grabs you the value of Host-Initiated Refresh Support.
  • NVME_CTRL_DSTO_ONE_DST β€” if this one is set, then the NVM subsystem supports only one device self-test operation in progress at a time. If it's cleared, then the NVM subsystem supports one device self-test operation per controller at a time. Read that twice, it's the whole vibe check πŸ”₯
  • NVME_CTRL_DSTO_HIRS β€” if this is set, then the controller supports the Host-Initiated Refresh capability. That's it, that's the flag πŸ‘‘
ngl, the difference between NVME_CTRL_DSTO_ONE_DST set vs cleared is the exact kind of tiny detail that ruins your whole week if you skim it. Don't skim it, bestie 😭

and that's the page!! ✨ literally every constant accounted for, nothing skipped, we ate and left no crumbs πŸ“

tiny sign-off: this one was dated July 2026, it's the enum nvme_id_ctrl_dsto page, and it ships with libnvme β€” manual section 2, as always πŸ’œ bye bye!! 🧚🌈

πŸ“¦ where this page comes from