libnvme(9)

πŸ“¦ version 3.2, in arch rolling

πŸ’… libnvme(9) β€” enum nvme_id_ns_dlfeat ✨

okay so this is a page from the libnvme API manual (that's the 9 in libnvme(9), bestie β€” section 9, kernel/API land 🧚), and it's all about one little enum. it's giving "small but mighty" fr fr.


🌸 NAME 🌸

enum nvme_id_ns_dlfeat β€” literally this field tells you all about the features that affect deallocating logical blocks for this namespace. yes queen, deallocation lore πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

enum nvme_id_ns_dlfeat {
    NVME_NS_DLFEAT_RB ,
    NVME_NS_DLFEAT_RB_NR ,
    NVME_NS_DLFEAT_RB_ALL_0S ,
    NVME_NS_DLFEAT_RB_ALL_FS ,
    NVME_NS_DLFEAT_WRITE_ZEROES ,
    NVME_NS_DLFEAT_CRC_GUARD

};

six constants, one enum, zero notes of hesitation πŸ’–


πŸ‘‘ Constants πŸ‘‘

okay so here's the whole cast, main character energy each and every one:

  • NVME_NS_DLFEAT_RB β€” this one is the mask you use to get the value of the read behavior. it's the bouncer at the club, like you don't see the value directly, you go through her πŸŽ€
  • NVME_NS_DLFEAT_RB_NR β€” read behavior is not reported. that's it, that's the whole vibe. no data, no tea, nothing to spill πŸ™ˆ
  • NVME_NS_DLFEAT_RB_ALL_0S β€” a deallocated logical block returns all bytes cleared to 0h. so basically everything comes back as zeros, squeaky clean ✨
  • NVME_NS_DLFEAT_RB_ALL_FS β€” a deallocated logical block returns all bytes set to FFh. opposite twin energy, everything comes back as ones πŸ”₯
  • NVME_NS_DLFEAT_WRITE_ZEROES β€” if this bit is set, it indicates that the controller supports the Deallocate bit in the Write Zeroes command for this namespace. so like, the controller can do the thing 🫢
  • NVME_NS_DLFEAT_CRC_GUARD β€” if set, it indicates that the Guard field for deallocated logical blocks that contain protection information is set to the CRC for the value read from the deallocated logical block and its metadata. yes that's a whole mouthful, but every single word matters, don't skip it 🧚
quick reminder bestie: these flags only indicate stuff β€” they're reporting what the namespace/controller does, not something you go flip yourself. read them, don't rewrite them πŸ’€

and that's the page!! no cap, that little enum ate and left zero crumbs πŸ‘‘

signing off from the API Manual, libnvme(9), dated October 2026 β€” stay iconic, stay deallocated, mwah πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from