libnvme(9)
π libnvme(9) β bestie edition π
Okay so real talk, this page lives in the libnvme API manual, and it's literally all about one little enum that tells you what a controller can do with Device Self-test stuff. It's giving "tiny but mighty," and honestly? Iconic. Let's get into it. β¨
πΈ NAME πΈ
enum nvme_id_ctrl_dsto β the flags that say which optional Device Self-test command behaviors and operation behaviors the controller or NVM subsystem supports. That's the whole vibe. π
No cap, it's just a bundle of constants describing what your hardware is willing to do.
π¦ 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
};
Look at her. Six constants. Flawless. Periodt. π
β¨ Constants β¨
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. Like, shift it and slay. π«ΆNVME_CTRL_DSTO_HIRS_SHIFTβ the shift amount to get the value of Host-Initiated Refresh Support out of that same Device Self-test Options field. Two shifts, two besties, same field. π«NVME_CTRL_DSTO_SDSO_MASKβ the mask that gets you the value of Single Device Self-test Operation. Mask on, facts intact. πNVME_CTRL_DSTO_HIRS_MASKβ the mask for the value of Host-Initiated Refresh Support. Pop it on, read your bits. πNVME_CTRL_DSTO_ONE_DSTβ okay this one's a whole mood: if it's 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. So it's either one globally or one per controller β read the bit before you assume, bestie. πNVME_CTRL_DSTO_HIRSβ if it's set, then the controller supports the Host-Initiated Refresh capability. That's it, that's the flag. π₯
Little vibe check: NVME_CTRL_DSTO_ONE_DST is the only one with a real conditional attached β set means one at a time for the whole subsystem, cleared means one per controller. Don't mix those up, iykyk. π
And that's the page, bestie! π This little glow-up comes from the libnvme API manual β enum nvme_id_ctrl_dsto β dated October 2026. Mwah, go read your bits responsibly. πππ¦
π¦ 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