Commit 7652113c2f508b1c8176640dcd034730fe79bc48
Committed by
Jens Axboe
1 parent
adbe6991ef
Exists in
smarc-imx_3.14.28_1.0.0_ga
and in
1 other branch
If the queue is dying then we only call the rq->end_io callout.
This leaves bios setup on the request, because the caller assumes when the blk_execute_rq_nowait/blk_execute_rq call has completed that the rq->bios have been cleaned up. This patch has blk_execute_rq_nowait use __blk_end_request_all to free bios and also call rq->end_io. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Showing 1 changed file with 2 additions and 2 deletions Side-by-side Diff
block/blk-exec.c
... | ... | @@ -68,9 +68,9 @@ |
68 | 68 | spin_lock_irq(q->queue_lock); |
69 | 69 | |
70 | 70 | if (unlikely(blk_queue_dying(q))) { |
71 | + rq->cmd_flags |= REQ_QUIET; | |
71 | 72 | rq->errors = -ENXIO; |
72 | - if (rq->end_io) | |
73 | - rq->end_io(rq, rq->errors); | |
73 | + __blk_end_request_all(rq, rq->errors); | |
74 | 74 | spin_unlock_irq(q->queue_lock); |
75 | 75 | return; |
76 | 76 | } |