blk-mq: merge blk_mq_alloc_reserved_request into blk_mq_alloc_request
authorChristoph Hellwig <hch@lst.de>
Tue, 27 May 2014 18:59:46 +0000 (20:59 +0200)
committerJens Axboe <axboe@fb.com>
Wed, 28 May 2014 15:49:19 +0000 (09:49 -0600)
Instead of having two almost identical copies of the same code just let
the callers pass in the reserved flag directly.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
block/blk-core.c
block/blk-mq.c
include/linux/blk-mq.h

index 29d5fbafd94a78e8f150cf47dbd30fdad8af85fe..d87be5b4e5548a651e135775714e8117955a2466 100644 (file)
@@ -1173,7 +1173,7 @@ static struct request *blk_old_get_request(struct request_queue *q, int rw,
 struct request *blk_get_request(struct request_queue *q, int rw, gfp_t gfp_mask)
 {
        if (q->mq_ops)
-               return blk_mq_alloc_request(q, rw, gfp_mask);
+               return blk_mq_alloc_request(q, rw, gfp_mask, false);
        else
                return blk_old_get_request(q, rw, gfp_mask);
 }
index 67066ecc79c06c3c902319e8122081a52316d621..63d581d72a70d6e420263820c2f164c5d8a8bbff 100644 (file)
@@ -294,35 +294,21 @@ static struct request *blk_mq_alloc_request_pinned(struct request_queue *q,
        return rq;
 }
 
-struct request *blk_mq_alloc_request(struct request_queue *q, int rw, gfp_t gfp)
+struct request *blk_mq_alloc_request(struct request_queue *q, int rw, gfp_t gfp,
+               bool reserved)
 {
        struct request *rq;
 
        if (blk_mq_queue_enter(q))
                return NULL;
 
-       rq = blk_mq_alloc_request_pinned(q, rw, gfp, false);
+       rq = blk_mq_alloc_request_pinned(q, rw, gfp, reserved);
        if (rq)
                blk_mq_put_ctx(rq->mq_ctx);
        return rq;
 }
 EXPORT_SYMBOL(blk_mq_alloc_request);
 
-struct request *blk_mq_alloc_reserved_request(struct request_queue *q, int rw,
-                                             gfp_t gfp)
-{
-       struct request *rq;
-
-       if (blk_mq_queue_enter(q))
-               return NULL;
-
-       rq = blk_mq_alloc_request_pinned(q, rw, gfp, true);
-       if (rq)
-               blk_mq_put_ctx(rq->mq_ctx);
-       return rq;
-}
-EXPORT_SYMBOL(blk_mq_alloc_reserved_request);
-
 static void __blk_mq_free_request(struct blk_mq_hw_ctx *hctx,
                                  struct blk_mq_ctx *ctx, struct request *rq)
 {
index b9a74a386dbcde0154cce2f1c73e4aa1de572a27..2bd82f39912897cfc97d8032272ff899aaa43e36 100644 (file)
@@ -160,8 +160,8 @@ void blk_mq_insert_request(struct request *, bool, bool, bool);
 void blk_mq_run_queues(struct request_queue *q, bool async);
 void blk_mq_free_request(struct request *rq);
 bool blk_mq_can_queue(struct blk_mq_hw_ctx *);
-struct request *blk_mq_alloc_request(struct request_queue *q, int rw, gfp_t gfp);
-struct request *blk_mq_alloc_reserved_request(struct request_queue *q, int rw, gfp_t gfp);
+struct request *blk_mq_alloc_request(struct request_queue *q, int rw,
+               gfp_t gfp, bool reserved);
 struct request *blk_mq_tag_to_rq(struct blk_mq_tags *tags, unsigned int tag);
 
 struct blk_mq_hw_ctx *blk_mq_map_queue(struct request_queue *, const int ctx_index);