BIO FLAGS.(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… Bio flags. πŸ’…

Kernel API Manual Β· section 9 Β· ok bestie sit down, we're talking bio flags


✨ DESCRIPTION ✨

okay so listen 🫢 β€” for certain flags set on user bios, if the user bio hasn't been acknowledged yet, then setting those flags on our own bio(s) for that request might legit help the underlying layers better fulfill what the user bio actually needs. That's the whole vibe.

This constant right here contains the aggregate of those flags. VDO strips all the other flags, because those ones convey incorrect information. not me being picky, it's just facts πŸ’…

⚠️ heads up: these flags are always irrelevant if we've already finished the user bio, because they're only hints about IO importance. periodt. If VDO has finished the user bio, any remaining IO literally doesn't care how important finishing the finished bio was.

ngl, bio.c has the complete list of flags we believe may be set 🌸 β€” the list below explains the action taken with each of those flags VDO could receive:

πŸ¦‹ the flags, one by one πŸ¦‹

  • REQ_SYNC β€” passed down if the user bio is not yet completed, since it indicates the user bio completion is required for further work to be done by the issuer. slay, respect the dependency chain ✨
  • REQ_META β€” passed down if the user bio is not yet completed, since it may mean the lower layer treats it as more urgent, similar to REQ_SYNC. highkey same energy πŸ’œ
  • REQ_PRIO β€” passed down if the user bio is not yet completed, since it indicates the user bio is important. main character bio fr fr πŸ‘‘
  • REQ_NOMERGE β€” set only if the incoming bio was split; irrelevant to VDO IO. that's it, that's the whole flag πŸ™ˆ
  • REQ_IDLE β€” set if the incoming bio had more IO quickly following; VDO's IO pattern doesn't match incoming IO, so this flag is incorrect for it. like bestie that's not our vibe 😭
  • REQ_FUA β€” handled separately, and irrelevant to VDO IO otherwise. moved to its own group chat πŸ’…
  • REQ_RAHEAD β€” passed down, as, for reads, it indicates trivial importance. low-stakes, still invited πŸ“
  • REQ_BACKGROUND β€” not passed down, as VIOs are a limited resource and VDO needs them recycled ASAP to service heavy load, which is the only place where REQ_BACKGROUND might aid in load prioritization. scarce resource behavior, we're gatekeeping πŸŽ€

πŸ’– SEE ALSO πŸ’–

Kernel file ./drivers/md/dm-vio/data-vio.c β€” wait no, it's ./drivers/md/dm-vdo/data-vio.c 🧚 β€” plus Introduction(9), and the whole squad:


🌸 and that's the page!! 🌸 brought to you by the fine people over at ./drivers/md/dm-vdo, dated October 2026 β€” ily, go read your bios, mwah πŸ’‹βœ¨πŸ¦‹

πŸ“¦ where this page comes from