target/pscsi: remove pscsi_get_bio
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>
This commit is contained in:
Родитель
46a2d4ccc4
Коммит
7655db8093
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче