path: root/block/blk-mq-tag.h
diff options
authorSagi Grimberg <>2017-02-27 10:04:39 -0700
committerJens Axboe <>2017-03-02 08:56:04 -0700
commit415b806de5576b656f3ff94366589af9a161d0c8 (patch)
treedda8a6c89aa8d332990a5c9259888725badf7299 /block/blk-mq-tag.h
parentd3af3ecdc62c46fa67ce7a681f173acb1d750e33 (diff)
blk-mq-sched: Allocate sched reserved tags as specified in the original queue tagset
Signed-off-by: Sagi Grimberg <> 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 <>
Diffstat (limited to 'block/blk-mq-tag.h')
1 files changed, 6 insertions, 0 deletions
diff --git a/block/blk-mq-tag.h b/block/blk-mq-tag.h
index 63497423c5cd..5cb51e53cc03 100644
--- a/block/blk-mq-tag.h
+++ b/block/blk-mq-tag.h
@@ -85,4 +85,10 @@ static inline void blk_mq_tag_set_rq(struct blk_mq_hw_ctx *hctx,
hctx->tags->rqs[tag] = rq;
+static inline bool blk_mq_tag_is_reserved(struct blk_mq_tags *tags,
+ unsigned int tag)
+ return tag < tags->nr_reserved_tags;