libnvme(2)

πŸ’– NAME πŸ’–

enum nvme_id_ctrl_vwc β€” the volatile write cache, bestie. Yes we're talking about the controller's little cache situation ✨


🌸 SYNOPSIS 🌸

enum nvme_id_ctrl_vwc {
    NVME_CTRL_VWC_PRESENT ,
    NVME_CTRL_VWC_FLUSH

};

okay so it's literally just two constants, no drama, and yet they're lowkey important πŸ‘‘


πŸŽ€ Constants πŸŽ€

  • NVME_CTRL_VWC_PRESENT β€” if this bit is set, it means a volatile write cache is present on this controller, periodt. And here's the tea: if there IS a volatile write cache, then the host is the one who decides whether it's enabled, by sending a Set Features command with the value NVME_FEAT_FID_VOLATILE_WC. So the host has main character energy here, not the drive 🫢
  • NVME_CTRL_VWC_FLUSH β€” this one's a mask, and its whole job is to pull out the value that tells you the flush command behavior πŸ’…

ngl bestie, that's the whole enum. Two constants, zero plot twists, and yet your storage stack will absolutely notice if you get them wrong 😭

and that's a wrap on the enum nvme_id_ctrl_vwc page from the libnvme API Manual (section 2), page date July 2026 πŸ¦‹ slay, go forth and read those controller bits, iykyk πŸ’œ

πŸ“¦ where this page comes from