]> git.baikalelectronics.ru Git - kernel.git/commitdiff
target/pscsi: remove pscsi_get_bio
authorChristoph Hellwig <hch@lst.de>
Wed, 6 Apr 2022 06:12:26 +0000 (08:12 +0200)
committerJens Axboe <axboe@kernel.dk>
Mon, 18 Apr 2022 01:29:41 +0000 (19:29 -0600)
Remove pscsi_get_bio and simplify the code flow in the only caller.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Martin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Link: https://lore.kernel.org/r/20220406061228.410163-4-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/target/target_core_pscsi.c

index ff292b75e23f907f859b951f9c07944adb33b268..77bd3af4b2bf83a1dbd81f81972bdfd4bf31ad83 100644 (file)
@@ -821,23 +821,6 @@ static void pscsi_bi_endio(struct bio *bio)
        bio_put(bio);
 }
 
-static inline struct bio *pscsi_get_bio(int nr_vecs)
-{
-       struct bio *bio;
-       /*
-        * Use bio_malloc() following the comment in for bio -> struct request
-        * in block/blk-core.c:blk_make_request()
-        */
-       bio = bio_kmalloc(GFP_KERNEL, nr_vecs);
-       if (!bio) {
-               pr_err("PSCSI: bio_kmalloc() failed\n");
-               return NULL;
-       }
-       bio->bi_end_io = pscsi_bi_endio;
-
-       return bio;
-}
-
 static sense_reason_t
 pscsi_map_sg(struct se_cmd *cmd, struct scatterlist *sgl, u32 sgl_nents,
                struct request *req)
@@ -878,12 +861,10 @@ pscsi_map_sg(struct se_cmd *cmd, struct scatterlist *sgl, u32 sgl_nents,
                        if (!bio) {
 new_bio:
                                nr_vecs = bio_max_segs(nr_pages);
-                               /*
-                                * Calls bio_kmalloc() and sets bio->bi_end_io()
-                                */
-                               bio = pscsi_get_bio(nr_vecs);
+                               bio = bio_kmalloc(GFP_KERNEL, nr_vecs);
                                if (!bio)
                                        goto fail;
+                               bio->bi_end_io = pscsi_bi_endio;
 
                                if (rw)
                                        bio_set_op_attrs(bio, REQ_OP_WRITE, 0);
@@ -912,11 +893,6 @@ new_bio:
                                        goto fail;
                                }
 
-                               /*
-                                * Clear the pointer so that another bio will
-                                * be allocated with pscsi_get_bio() above.
-                                */
-                               bio = NULL;
                                goto new_bio;
                        }