summaryrefslogtreecommitdiffstats
path: root/block/blk-mq.c
diff options
context:
space:
mode:
authorMing Lei <ming.lei@redhat.com>2017-11-04 12:39:57 -0600
committerJens Axboe <axboe@kernel.dk>2017-11-04 12:39:57 -0600
commit244c65a3ccaa06fd15cc940315606674d3108b2f (patch)
tree916726520be4ddc2b878837ba486ad25d9c8b7f5 /block/blk-mq.c
parenta6a252e6491443c1c18eab7e254daee63d4a7a04 (diff)
downloadlinux-244c65a3ccaa06fd15cc940315606674d3108b2f.tar.gz
linux-244c65a3ccaa06fd15cc940315606674d3108b2f.tar.bz2
linux-244c65a3ccaa06fd15cc940315606674d3108b2f.zip
blk-mq: move blk_mq_put_driver_tag*() into blk-mq.h
We need this helper to put the driver tag for flush rq, since we will not share tag in the flush request sequence in the following patch in case that I/O scheduler is applied. Signed-off-by: Ming Lei <ming.lei@redhat.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/blk-mq.c')
-rw-r--r--block/blk-mq.c32
1 files changed, 0 insertions, 32 deletions
diff --git a/block/blk-mq.c b/block/blk-mq.c
index 021562bd5d2c..14f6886fbec8 100644
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -996,38 +996,6 @@ done:
return rq->tag != -1;
}
-static void __blk_mq_put_driver_tag(struct blk_mq_hw_ctx *hctx,
- struct request *rq)
-{
- blk_mq_put_tag(hctx, hctx->tags, rq->mq_ctx, rq->tag);
- rq->tag = -1;
-
- if (rq->rq_flags & RQF_MQ_INFLIGHT) {
- rq->rq_flags &= ~RQF_MQ_INFLIGHT;
- atomic_dec(&hctx->nr_active);
- }
-}
-
-static void blk_mq_put_driver_tag_hctx(struct blk_mq_hw_ctx *hctx,
- struct request *rq)
-{
- if (rq->tag == -1 || rq->internal_tag == -1)
- return;
-
- __blk_mq_put_driver_tag(hctx, rq);
-}
-
-static void blk_mq_put_driver_tag(struct request *rq)
-{
- struct blk_mq_hw_ctx *hctx;
-
- if (rq->tag == -1 || rq->internal_tag == -1)
- return;
-
- hctx = blk_mq_map_queue(rq->q, rq->mq_ctx->cpu);
- __blk_mq_put_driver_tag(hctx, rq);
-}
-
/*
* If we fail getting a driver tag because all the driver tags are already
* assigned and on the dispatch list, BUT the first entry does not have a