Remove pscsi_get_bio and simplify the code flow in the only caller.

Signed-off-by: Christoph Hellwig <[email protected]>
Acked-by: Martin K. Petersen <[email protected]>
---
 drivers/target/target_core_pscsi.c | 28 ++--------------------------
 1 file changed, 2 insertions(+), 26 deletions(-)

diff --git a/drivers/target/target_core_pscsi.c 
b/drivers/target/target_core_pscsi.c
index ff292b75e23f9..77bd3af4b2bf8 100644
--- a/drivers/target/target_core_pscsi.c
+++ b/drivers/target/target_core_pscsi.c
@@ -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 @@ pscsi_map_sg(struct se_cmd *cmd, struct scatterlist *sgl, 
u32 sgl_nents,
                                        goto fail;
                                }
 
-                               /*
-                                * Clear the pointer so that another bio will
-                                * be allocated with pscsi_get_bio() above.
-                                */
-                               bio = NULL;
                                goto new_bio;
                        }
 
-- 
2.30.2

--
dm-devel mailing list
[email protected]
https://listman.redhat.com/mailman/listinfo/dm-devel

Reply via email to