blk-mq: fold blk_cloned_rq_check_limits into blk_insert_cloned_request
authorChristoph Hellwig <hch@lst.de>
Tue, 15 Feb 2022 10:05:37 +0000 (11:05 +0100)
committerJens Axboe <axboe@kernel.dk>
Thu, 17 Feb 2022 02:39:09 +0000 (19:39 -0700)
Fold blk_cloned_rq_check_limits into its only caller.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Mike Snitzer <snitzer@redhat.com>
Link: https://lore.kernel.org/r/20220215100540.3892965-3-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-mq.c

index db62d34..fc13293 100644 (file)
@@ -2842,26 +2842,14 @@ void blk_mq_submit_bio(struct bio *bio)
 
 #ifdef CONFIG_BLK_MQ_STACKING
 /**
- * blk_cloned_rq_check_limits - Helper function to check a cloned request
- *                              for the new queue limits
- * @q:  the queue
- * @rq: the request being checked
- *
- * Description:
- *    @rq may have been made based on weaker limitations of upper-level queues
- *    in request stacking drivers, and it may violate the limitation of @q.
- *    Since the block layer and the underlying device driver trust @rq
- *    after it is inserted to @q, it should be checked against @q before
- *    the insertion using this generic function.
- *
- *    Request stacking drivers like request-based dm may change the queue
- *    limits when retrying requests on other queues. Those requests need
- *    to be checked against the new queue limits again during dispatch.
+ * blk_insert_cloned_request - Helper for stacking drivers to submit a request
+ * @q:  the queue to submit the request
+ * @rq: the request being queued
  */
-static blk_status_t blk_cloned_rq_check_limits(struct request_queue *q,
-                                     struct request *rq)
+blk_status_t blk_insert_cloned_request(struct request_queue *q, struct request *rq)
 {
        unsigned int max_sectors = blk_queue_get_max_sectors(q, req_op(rq));
+       blk_status_t ret;
 
        if (blk_rq_sectors(rq) > max_sectors) {
                /*
@@ -2893,22 +2881,6 @@ static blk_status_t blk_cloned_rq_check_limits(struct request_queue *q,
                return BLK_STS_IOERR;
        }
 
-       return BLK_STS_OK;
-}
-
-/**
- * blk_insert_cloned_request - Helper for stacking drivers to submit a request
- * @q:  the queue to submit the request
- * @rq: the request being queued
- */
-blk_status_t blk_insert_cloned_request(struct request_queue *q, struct request *rq)
-{
-       blk_status_t ret;
-
-       ret = blk_cloned_rq_check_limits(q, rq);
-       if (ret != BLK_STS_OK)
-               return ret;
-
        if (rq->q->disk &&
            should_fail_request(rq->q->disk->part0, blk_rq_bytes(rq)))
                return BLK_STS_IOERR;