ENUM RNBD_IO_FLAGS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ enum rnbd_io_flags(9) πŸ¦‹

okay bestie, welcome to the Kernel API Manual ✨ this page is literally all about enum rnbd_io_flags, and no cap, it's the whole vibe of "RNBD request types from rq_flag_bits" β€” that's the NAME energy right there πŸ’… so like, every request type and flag the RNBD stack cares about? it's giving main character energy, fr fr.


✨ SYNOPSIS ✨

okay so here's the whole enum, copied exactly, do NOT come for me about formatting, this is canon:

enum rnbd_io_flags {
    RNBD_OP_READ ,
    RNBD_OP_WRITE ,
    RNBD_OP_FLUSH ,
    RNBD_OP_DISCARD ,
    RNBD_OP_SECURE_ERASE ,
    RNBD_OP_WRITE_ZEROES ,
    RNBD_F_SYNC ,
    RNBD_F_FUA ,
    RNBD_F_PREFLUSH ,
    RNBD_F_NOUNMAP

};

like, that's the entire lineup 🫢 and yes there's a blank line before the closing brace, that's just how it is, she's quirky πŸ’€


πŸŽ€ Constants πŸŽ€

okay now for the part you actually came for, the constants themselves, one by one, no skipping, i would never πŸ™ˆ

  • RNBD_OP_READ β€” reads sectors from the device πŸ“– like, literally pulling data off the thing.
  • RNBD_OP_WRITE β€” writes sectors to the device ✍️ the classic, the icon, the legend.
  • RNBD_OP_FLUSH β€” flushes the volatile write cache 🚽 (not literally but also kind of literally). volatile data? gotta go, bestie.
  • RNBD_OP_DISCARD β€” discards sectors πŸ—‘οΈ bye bye blocks, you won't be missed.
  • RNBD_OP_SECURE_ERASE β€” securely erases sectors πŸ”’ and yes the "securely" is doing heavy lifting there, it's not just a regular delete, it's a secure one, periodt.
  • RNBD_OP_WRITE_ZEROES β€” writes zeroes to sectors β­• turning sectors into zeroes, that's the whole job, and honestly? she ate.
  • RNBD_F_SYNC β€” the request is sync (sync write or read) πŸ”„ like, it waits. it's not doing the chaotic async thing.
  • RNBD_F_FUA β€” forced unit access πŸ’₯ that's what FUA stands for, and that's the entire description, don't ask me for more, i only report what the page says 🫑
  • RNBD_F_PREFLUSH β€” this one is the flag for a cache flush 🧼 request for cache flush, exactly, i'm not adding anything, i would never invent behaviour.
  • RNBD_F_NOUNMAP β€” do not free blocks when zeroing 🚫 lowkey the most important one to get right, because it's a "do NOT" and you know how those go.
πŸ’€ reminder that these are flags and op codes for RNBD requests β€” the page does NOT tell me any extra behaviour beyond the one-liners above, so i'm not out here guessing. iykyk.

🌈 SEE ALSO 🌈

okay the little family of related pages, all from the kernel file ./drivers/block/rnbd/rnbd-proto.h:

  • enum rnbd_msg_type(9)
  • struct rnbd_msg_hdr(9)
  • struct rnbd_msg_sess_info(9)
  • struct rnbd_msg_sess_info_rsp(9)
  • struct rnbd_msg_open(9)
  • struct rnbd_msg_close(9)
  • struct rnbd_msg_open_rsp(9)
  • struct rnbd_msg_io(9)

like, go read those too, they're all in the same friend group πŸ’–


and that's the page, bestie! πŸŽ€ this came to you from ./drivers/block/rnbd, dated October 2026, and it's the enum rnbd_io_flags(9) page you just read β€” slay, bye, go read your kernel headers πŸ’œπŸ¦‹

πŸ“¦ where this page comes from