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.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 '')
-rw-r--r-- | block/blk-mq.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/block/blk-mq.c b/block/blk-mq.c index d84c66fb37b7..4df5fb42c74f 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -852,6 +852,9 @@ done: return true; } + if (blk_mq_tag_is_reserved(data.hctx->sched_tags, rq->internal_tag)) + data.flags |= BLK_MQ_REQ_RESERVED; + rq->tag = blk_mq_get_tag(&data); if (rq->tag >= 0) { if (blk_mq_tag_busy(data.hctx)) { |