Commit ba989a01 authored by Ming Lei's avatar Ming Lei Committed by Jens Axboe

block: kyber: fix domain token leak during requeue

When requeuing request, the domain token should have been freed
before re-inserting the request to io scheduler. Otherwise, the
assigned domain token will be leaked, and IO hang can be caused.

Cc: Paolo Valente <paolo.valente@linaro.org>
Cc: Omar Sandoval <osandov@fb.com>
Cc: stable@vger.kernel.org
Reviewed-by: default avatarBart Van Assche <bart.vanassche@wdc.com>
Signed-off-by: default avatarMing Lei <ming.lei@redhat.com>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 105976f5
...@@ -833,6 +833,7 @@ static struct elevator_type kyber_sched = { ...@@ -833,6 +833,7 @@ static struct elevator_type kyber_sched = {
.limit_depth = kyber_limit_depth, .limit_depth = kyber_limit_depth,
.prepare_request = kyber_prepare_request, .prepare_request = kyber_prepare_request,
.finish_request = kyber_finish_request, .finish_request = kyber_finish_request,
.requeue_request = kyber_finish_request,
.completed_request = kyber_completed_request, .completed_request = kyber_completed_request,
.dispatch_request = kyber_dispatch_request, .dispatch_request = kyber_dispatch_request,
.has_work = kyber_has_work, .has_work = kyber_has_work,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment