diff options
author | Sagi Grimberg <sagi@grimberg.me> | 2017-02-27 18:04:39 +0100 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2017-03-02 16:56:04 +0100 |
commit | 415b806de5576b656f3ff94366589af9a161d0c8 (patch) | |
tree | dda8a6c89aa8d332990a5c9259888725badf7299 /block/blk-mq-sched.c | |
parent | nvme: allocate nvme_queue in correct node (diff) | |
download | linux-415b806de5576b656f3ff94366589af9a161d0c8.tar.xz linux-415b806de5576b656f3ff94366589af9a161d0c8.zip |
blk-mq-sched: Allocate sched reserved tags as specified in the original queue tagset
Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Modified by me to also check at driver tag allocation time if the
original request was reserved, so we can be sure to allocate a
properly reserved tag at that point in time, too.
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'block/blk-mq-sched.c')
-rw-r--r-- | block/blk-mq-sched.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/block/blk-mq-sched.c b/block/blk-mq-sched.c index 98c7b061781e..46ca965fff5c 100644 --- a/block/blk-mq-sched.c +++ b/block/blk-mq-sched.c @@ -454,7 +454,8 @@ int blk_mq_sched_setup(struct request_queue *q) */ ret = 0; queue_for_each_hw_ctx(q, hctx, i) { - hctx->sched_tags = blk_mq_alloc_rq_map(set, i, q->nr_requests, 0); + hctx->sched_tags = blk_mq_alloc_rq_map(set, i, + q->nr_requests, set->reserved_tags); if (!hctx->sched_tags) { ret = -ENOMEM; break; |