summaryrefslogtreecommitdiffstats
path: root/block/blk-mq.c
diff options
context:
space:
mode:
authorBart Van Assche <bvanassche@acm.org>2014-10-30 14:45:11 +0100
committerChristoph Hellwig <hch@lst.de>2014-11-12 11:16:09 +0100
commit205fb5f5ba1d8edcf18009998ed05b80b7d186af (patch)
tree4f703687be0330fae7e7789f0a4534973535fd0a /block/blk-mq.c
parentf1569ff1d5ae0ca8598956be632947a88f540e2a (diff)
downloadlinux-205fb5f5ba1d8edcf18009998ed05b80b7d186af.tar.gz
linux-205fb5f5ba1d8edcf18009998ed05b80b7d186af.tar.bz2
linux-205fb5f5ba1d8edcf18009998ed05b80b7d186af.zip
blk-mq: add blk_mq_unique_tag()
The queuecommand() callback functions in SCSI low-level drivers need to know which hardware context has been selected by the block layer. Since this information is not available in the request structure, and since passing the hctx pointer directly to the queuecommand callback function would require modification of all SCSI LLDs, add a function to the block layer that allows to query the hardware context index. Signed-off-by: Bart Van Assche <bvanassche@acm.org> Acked-by: Jens Axboe <axboe@kernel.dk> Reviewed-by: Sagi Grimberg <sagig@mellanox.com> Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'block/blk-mq.c')
-rw-r--r--block/blk-mq.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/block/blk-mq.c b/block/blk-mq.c
index 68929bad9a6a..b5896d436fc9 100644
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -2024,6 +2024,8 @@ static int blk_mq_alloc_rq_maps(struct blk_mq_tag_set *set)
*/
int blk_mq_alloc_tag_set(struct blk_mq_tag_set *set)
{
+ BUILD_BUG_ON(BLK_MQ_MAX_DEPTH > 1 << BLK_MQ_UNIQUE_TAG_BITS);
+
if (!set->nr_hw_queues)
return -EINVAL;
if (!set->queue_depth)