blk_flush_complete_seq(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ blk_flush_complete_seq(9) πŸŽ€

okay so bestie, welcome to the Kernel API Manual ✨ this one's a little function with a big job and she's literally the closer of the flush-sequence friend group πŸ’…


πŸ’– NAME πŸ’–

blk_flush_complete_seq β€” complete the flush sequence. that's it, that's the whole vibe 🫢


✨ SYNOPSIS ✨

void blk_flush_complete_seq (struct request *rq , struct blk_flush_queue
*fq , unsigned int seq , blk_status_t error );

no cap, she returns void β€” no little gift back, just vibes and side effects 🌸


πŸ¦‹ ARGUMENTS πŸ¦‹

  • rq β€” the PREFLUSH/FUA request that's being sequenced. she's the main character here πŸ‘‘
  • fq β€” the flush queue. literally the group chat she lives in πŸ’¬
  • seq β€” the sequences to complete, aka a mask of REQ_FSEQ_*. and yes, it can be zero β€” zero is a valid mask, we don't shame her πŸ™ˆ
  • error β€” whether an error occurred. a blk_status_t, so she's got range 😭

🌈 DESCRIPTION 🌈

so rq just completed the seq part of its flush sequence (slay πŸ’…). this function records that completion and then triggers the next step β€” like, she logs the W and then hits "next" for the whole pipeline πŸ”₯


πŸ”’ CONTEXT πŸ”’

gets called with the spinlock held, specifically:

spin_lock_irq(fq->mq_flush_lock)

so yeah, you're already inside the lock bestie, don't go grabbing it again 😭 that's an own-goal fr fr


🌸 SEE ALSO 🌸

  • the kernel file ./block/blk-flush.c β€” the source of truth, go read her πŸ“
  • blk_kick_flush(9) β€” her bestie who kicks things off ⭐
  • blkdev_issue_flush(9) β€” the one who actually issues the flush 🧚

ok and one last thing β€” the lock in CONTEXT is not a suggestion, it's the whole assignment. hold it, do the work, carry on πŸ’œ

that's the page!! written up in ./block, dated October 2026, and she answers to the name blk_flush_complete_seq(9) β€” mwah, bye bestie πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from