summaryrefslogtreecommitdiffstats
path: root/block/blk-mq-tag.c
diff options
context:
space:
mode:
authorSagi Grimberg <sagi@grimberg.me>2017-02-27 10:04:39 -0700
committerJens Axboe <axboe@fb.com>2017-03-02 08:56:04 -0700
commit415b806de5576b656f3ff94366589af9a161d0c8 (patch)
treedda8a6c89aa8d332990a5c9259888725badf7299 /block/blk-mq-tag.c
parentd3af3ecdc62c46fa67ce7a681f173acb1d750e33 (diff)
downloadlinux-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.c2
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);