We only have an internal helper for checking a tag value. Add an exported helper that takes a request and hardware queue, and check against the driver tags. Signed-off-by: Jens Axboe <axboe@xxxxxx> --- block/blk-mq-tag.c | 6 ++++++ include/linux/blk-mq.h | 1 + 2 files changed, 7 insertions(+) diff --git a/block/blk-mq-tag.c b/block/blk-mq-tag.c index d0be72ccb091..0a04b5c14076 100644 --- a/block/blk-mq-tag.c +++ b/block/blk-mq-tag.c @@ -476,3 +476,9 @@ u32 blk_mq_unique_tag(struct request *rq) (rq->tag & BLK_MQ_UNIQUE_TAG_MASK); } EXPORT_SYMBOL(blk_mq_unique_tag); + +bool blk_mq_rq_is_reserved(struct blk_mq_hw_ctx *hctx, struct request *rq) +{ + return blk_mq_tag_is_reserved(hctx->tags, rq->tag); +} +EXPORT_SYMBOL_GPL(blk_mq_rq_is_reserved); diff --git a/include/linux/blk-mq.h b/include/linux/blk-mq.h index 32bd8eb5ba67..13e51520fa27 100644 --- a/include/linux/blk-mq.h +++ b/include/linux/blk-mq.h @@ -224,6 +224,7 @@ static inline u16 blk_mq_unique_tag_to_tag(u32 unique_tag) return unique_tag & BLK_MQ_UNIQUE_TAG_MASK; } +bool blk_mq_rq_is_reserved(struct blk_mq_hw_ctx *hctx, struct request *rq); int blk_mq_request_started(struct request *rq); void blk_mq_start_request(struct request *rq); -- 2.7.4