libnvme(2)
π NAME π
ok so bestie, <pink>this is all about the enum nvme_id_ns_dps </pink> β it's the field that tells you the Type settings for the end-to-end data protection feature β¨. that's it, that's the whole vibe. protection info type selector, no cap π
π¦ SYNOPSIS π¦
like, here's the entire thing, look at her:
enum nvme_id_ns_dps {
NVME_NS_DPS_PI_NONE ,
NVME_NS_DPS_PI_TYPE1 ,
NVME_NS_DPS_PI_TYPE2 ,
NVME_NS_DPS_PI_TYPE3 ,
NVME_NS_DPS_PI_MASK ,
NVME_NS_DPS_PI_FIRST
};
six constants, six little icons, all of them matter π don't skip any, i will know.
πΈ Constants πΈ
NVME_NS_DPS_PI_NONEβ protection information is literally not enabled. it's giving "we didn't do the assignment" energy πNVME_NS_DPS_PI_TYPE1β protection information is enabled, and it's Type 1. she said yes to PI π«ΆNVME_NS_DPS_PI_TYPE2β protection information is enabled, Type 2 this time. same energy, different type πNVME_NS_DPS_PI_TYPE3β protection information is enabled, Type 3. the trilogy is complete, iconic πNVME_NS_DPS_PI_MASKβ bestie this one is a mask, so you use it to get the value of the PI type π very "let me see the real you" of it.NVME_NS_DPS_PI_FIRSTβ okay so if this is set, it means that the protection information (when it's enabled) is transferred as the first eight bytes of metadata π eight. bytes. first. write it down, iykyk.
fr fr, if you're masking withNVME_NS_DPS_PI_MASKand also checkingNVME_NS_DPS_PI_FIRST, those are two separate little facts about the same field β don't merge them in your head, bestie π
that's genuinely the whole page, she's short but she ate π₯
sign-off time: this was the enum nvme_id_ns_dps page, straight outta the libnvme API manual (that's the libnvme(2) situation, mwah π), dated July 2026. go forth and check your protection information types, babes π§β
π¦ where this page comes from
- ubuntu stonking: libnvme-dev 1.16.2-1build1 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms