blk-mq: let blk_mq_tag_to_rq() take blk_mq_tags as the main parameter

We currently pass in the hardware queue, and get the tags from there.
But from scsi-mq, with a shared tag space, it's a lot more convenient
to pass in the blk_mq_tags instead as the hardware queue isn't always
directly available. So instead of having to re-map to a given
hardware queue from rq->mq_ctx, just pass in the tags structure.

Signed-off-by: Jens Axboe <[email protected]>
This commit is contained in:
Jens Axboe 2014-06-04 10:23:49 -06:00
commit 0e62f51f87
3 changed files with 16 additions and 9 deletions

View file

@ -193,7 +193,9 @@ static void mtip_put_int_command(struct driver_data *dd, struct mtip_cmd *cmd)
static struct request *mtip_rq_from_tag(struct driver_data *dd,
unsigned int tag)
{
return blk_mq_tag_to_rq(dd->queue->queue_hw_ctx[0], tag);
struct blk_mq_hw_ctx *hctx = dd->queue->queue_hw_ctx[0];
return blk_mq_tag_to_rq(hctx->tags, tag);
}
static struct mtip_cmd *mtip_cmd_from_tag(struct driver_data *dd,