libnvme(2)
π NAME π
enum nvme_smart_crit β the Critical Warning situation, bestie. This is the libnvme API manual (section 2, for the girlies reading API docs at 2am), and we're about to vibe check every single bit of it. π¨
β¨ SYNOPSIS β¨
enum nvme_smart_crit {
NVME_SMART_CW_ASCBT_SHIFT ,
NVME_SMART_CW_TTC_SHIFT ,
NVME_SMART_CW_NDR_SHIFT ,
NVME_SMART_CW_AMRO_SHIFT ,
NVME_SMART_CW_VMBF_SHIFT ,
NVME_SMART_CW_PMRRO_SHIFT ,
NVME_SMART_CW_ASCBT_MASK ,
NVME_SMART_CW_TTC_MASK ,
NVME_SMART_CW_NDR_MASK ,
NVME_SMART_CW_AMRO_MASK ,
NVME_SMART_CW_VMBF_MASK ,
NVME_SMART_CW_PMRRO_MASK ,
NVME_SMART_CRIT_SPARE ,
NVME_SMART_CRIT_TEMPERATURE ,
NVME_SMART_CRIT_DEGRADED ,
NVME_SMART_CRIT_MEDIA ,
NVME_SMART_CRIT_VOLATILE_MEMORY ,
NVME_SMART_CRIT_PMR_RO
};
π Constants π
Okay so these are the members, one by one, no skipping, we're doing the whole list because that's the assignment. π
NVME_SMART_CW_ASCBT_SHIFTβ the shift amount to get the available spare capacity has fallen below the threshold. πNVME_SMART_CW_TTC_SHIFTβ the shift amount to get the temperature is either greater than or equal to an over temperature threshold; or less than or equal to an under temperature threshold. π₯΅π₯ΆNVME_SMART_CW_NDR_SHIFTβ the shift amount to get the NVM subsystem reliability has been degraded due to significant media related errors or any internal error that degrades NVM subsystem reliability. πNVME_SMART_CW_AMRO_SHIFTβ the shift amount to get the all of the media has been placed in read only mode. The controller shall not set this bit if the read-only condition on the media is a result of a change in the write protection state of a namespace. βNVME_SMART_CW_VMBF_SHIFTβ the shift amount to get the volatile memory backup device has failed. This field is only valid if the controller has a volatile memory backup solution. πͺ«NVME_SMART_CW_PMRRO_SHIFTβ the shift amount to get the Persistent Memory Region has become read-only or unreliable. π«NVME_SMART_CW_ASCBT_MASKβ if set, then the available spare capacity has fallen below the threshold. π»NVME_SMART_CW_TTC_MASKβ mask to get the temperature is either greater than or equal to an over temperature threshold; or less than or equal to an under temperature threshold. π‘οΈNVME_SMART_CW_NDR_MASKβ mask to get the NVM subsystem reliability has been degraded due to significant media related errors or any internal error that degrades NVM subsystem reliability. πNVME_SMART_CW_AMRO_MASKβ mask to get the all of the media has been placed in read only mode. The controller shall not set this bit if the read-only condition on the media is a result of a change in the write protection state of a namespace. πNVME_SMART_CW_VMBF_MASKβ mask to get the volatile memory backup device has failed. This field is only valid if the controller has a volatile memory backup solution. πNVME_SMART_CW_PMRRO_MASKβ mask to get the Persistent Memory Region has become read-only or unreliable. πͺοΈNVME_SMART_CRIT_SPAREβ if set, then the available spare capacity has fallen below the threshold. πNVME_SMART_CRIT_TEMPERATUREβ if set, then a temperature is either greater than or equal to an over temperature threshold; or less than or equal to an under temperature threshold. π₯΅π₯ΆNVME_SMART_CRIT_DEGRADEDβ if set, then the NVM subsystem reliability has been degraded due to significant media related errors or any internal error that degrades NVM subsystem reliability. πNVME_SMART_CRIT_MEDIAβ if set, then all of the media has been placed in read only mode. The controller shall not set this bit if the read-only condition on the media is a result of a change in the write protection state of a namespace. βNVME_SMART_CRIT_VOLATILE_MEMORYβ if set, then the volatile memory backup device has failed. This field is only valid if the controller has a volatile memory backup solution. πͺ«NVME_SMART_CRIT_PMR_ROβ if set, then the Persistent Memory Region has become read-only or unreliable. π«
Not me telling you that if a<italic>SHIFT</italic>one is your vibe you shift to get the thing, and if a<italic>MASK</italic>one is your vibe you mask to get the thing, and if a<italic>CRIT</italic>one is your vibe it's just "if set, thenβ¦" periodt. The AMRO and MEDIA ones both carry that "controller shall not set this bit" caveat β do not lose that, it's load-bearing!! π«Ά
That's the whole page, every constant, every caveat, nothing dropped, we ate and left no crumbs. π
Byeee bestie β this was the enum nvme_smart_crit page (July 2026 β¨) from the libnvme(2) API Manual (section 2, API Manual, the whole libnvme girlie). Go forth and read your SMART critical warnings responsibly. πππ¦
π¦ 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