diff options
author | Sagi Grimberg <sagi@grimberg.me> | 2017-02-27 10:04:39 -0700 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2017-03-02 08:56:04 -0700 |
commit | 415b806de5576b656f3ff94366589af9a161d0c8 (patch) | |
tree | dda8a6c89aa8d332990a5c9259888725badf7299 /block/blk-mq-tag.c | |
parent | d3af3ecdc62c46fa67ce7a681f173acb1d750e33 (diff) | |
download | linux-stable-415b806de5576b656f3ff94366589af9a161d0c8.tar.gz linux-stable-415b806de5576b656f3ff94366589af9a161d0c8.tar.bz2 linux-stable-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-tag.c')
-rw-r--r-- | block/blk-mq-tag.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/block/blk-mq-tag.c b/block/blk-mq-tag.c index 54c84363c1b2..e48bc2c72615 100644 --- a/block/blk-mq-tag.c +++ b/block/blk-mq-tag.c @@ -181,7 +181,7 @@ found_tag: void blk_mq_put_tag(struct blk_mq_hw_ctx *hctx, struct blk_mq_tags *tags, struct blk_mq_ctx *ctx, unsigned int tag) { - if (tag >= tags->nr_reserved_tags) { + if (!blk_mq_tag_is_reserved(tags, tag)) { const int real_tag = tag - tags->nr_reserved_tags; BUG_ON(real_tag >= tags->nr_tags); |