block: mark blk_rq_bio_prep as inline [Linux 5.3]

This Linux kernel change "block: mark blk_rq_bio_prep as inline" is included in the Linux 5.3 release. This change is authored by Christoph Hellwig <hch [at] lst.de> on Thu Jun 6 12:29:04 2019 +0200. The commit for this change in Linux stable tree is 1aa0a13 (patch).

block: mark blk_rq_bio_prep as inline

This function just has a few trivial assignments, has two callers with
one of them being in the fastpath.

Reviewed-by: Hannes Reinecke <hare@suse.com>
Reviewed-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>

There are 24 lines of Linux source code added/deleted in this change. Code changes to Linux kernel are as follows.

 block/blk-core.c | 11 -----------
 block/blk.h      | 13 ++++++++++++-
 2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/block/blk-core.c b/block/blk-core.c
index ccba87b..e1b7711 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -1428,17 +1428,6 @@ bool blk_update_request(struct request *req, blk_status_t error,
 }
 EXPORT_SYMBOL_GPL(blk_update_request);

-void blk_rq_bio_prep(struct request *rq, struct bio *bio, unsigned int nr_segs)
-{
-   rq->nr_phys_segments = nr_segs;
-   rq->__data_len = bio->bi_iter.bi_size;
-   rq->bio = rq->biotail = bio;
-   rq->ioprio = bio_prio(bio);
-
-   if (bio->bi_disk)
-       rq->rq_disk = bio->bi_disk;
-}
-
 #if ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE
 /**
  * rq_flush_dcache_pages - Helper function to flush all pages in a request
diff --git a/block/blk.h b/block/blk.h
index c62e801..de6b2e1 100644
--- a/block/blk.h
+++ b/block/blk.h
@@ -51,7 +51,6 @@ struct blk_flush_queue *blk_alloc_flush_queue(struct request_queue *q,
        int node, int cmd_size, gfp_t flags);
 void blk_free_flush_queue(struct blk_flush_queue *q);

-void blk_rq_bio_prep(struct request *rq, struct bio *bio, unsigned int nr_segs);
 void blk_freeze_queue(struct request_queue *q);

 static inline void blk_queue_enter_live(struct request_queue *q)
@@ -100,6 +99,18 @@ static inline bool bvec_gap_to_prev(struct request_queue *q,
    return __bvec_gap_to_prev(q, bprv, offset);
 }

+static inline void blk_rq_bio_prep(struct request *rq, struct bio *bio,
+       unsigned int nr_segs)
+{
+   rq->nr_phys_segments = nr_segs;
+   rq->__data_len = bio->bi_iter.bi_size;
+   rq->bio = rq->biotail = bio;
+   rq->ioprio = bio_prio(bio);
+
+   if (bio->bi_disk)
+       rq->rq_disk = bio->bi_disk;
+}
+
 #ifdef CONFIG_BLK_DEV_INTEGRITY
 void blk_flush_integrity(void);
 bool __bio_integrity_endio(struct bio *);

Leave a Reply

Your email address will not be published. Required fields are marked *