blk_execute_rq(9)
π blk_execute_rq β the kernel API manual, bestie edition β¨
okay so you're reading blk_execute_rq(9) from the Kernel API Manual and honestly? it's giving "one job, does it flawlessly" energy. let's get into it π«Ά
πΈ NAME πΈ
blk_execute_rq β insert a request into queue for execution. that's it. that's the whole vibe. no cap.
β¨ SYNOPSIS β¨
blk_status_t blk_execute_rq (struct request *rq , bool at_head );
look at that signature. clean. iconic. two args and a blk_status_t return, periodt. π
π ARGUMENTS π
rqβ the request to insert. this is the main character, the whole point, the one we're shipping off to the queue πat_headβ insert request at head or tail of queue. literally just telling it where to cut in line, bestie π§
π¦ DESCRIPTION π¦
so here's the tea β: you insert a fully prepared request at the back of the I/O scheduler queue for execution, and then you wait for completion. not me just sitting here waiting for my request to finish like π β but that's the deal, it's a blocking call through and through.
key word: fully prepared. don't come to this function half-ready, she expects the request to be done up already. π
β RETURN β
the return value is the blk_status_t result that was provided to blk_mq_end_request. so whatever status got handed over at the end, that's what you get back. no surprises, no drama, just the status passed straight through π
π SEE ALSO π
bestie the cross-reference list is long and honestly we respect the hustle π β also, kernel file ./block/blk-mq.c:
blk_mq_wait_quiesce_done(9)blk_mq_quiesce_queue(9)blk_update_request(9)blk_mq_complete_request(9)blk_mq_start_request(9)blk_execute_rq_nowait(9)blk_mq_delay_run_hw_queue(9)blk_mq_run_hw_queue(9)blk_mq_run_hw_queues(9)blk_mq_delay_run_hw_queues(9)blk_mq_request_bypass_insert(9)blk_mq_try_issue_directly(9)blk_mq_submit_bio(9)blk_insert_cloned_request(9)blk_rq_unprep_clone(9)blk_rq_prep_clone(9)blk_mq_destroy_queue(9)
go read them all, i'll wait π
ngl if you got this far you're lowkey a kernel girlie now. proud of you fr fr π
anyway that's the page!! this little love letter lives in ./block, dated October 2026, and it's filed under blk_execute_rq(9) β slay, go execute some requests responsibly β¨ππ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms