]> git.baikalelectronics.ru Git - kernel.git/commitdiff
dm-crypt: remove clone_init
authorChristoph Hellwig <hch@lst.de>
Mon, 24 Jan 2022 09:10:54 +0000 (10:10 +0100)
committerJens Axboe <axboe@kernel.dk>
Wed, 2 Feb 2022 14:49:59 +0000 (07:49 -0700)
Just open code it next to the bio allocations, which saves a few lines
of code, prepares for future changes and allows to remove the duplicate
bi_opf assignment for the bio_clone_fast case in kcryptd_io_read.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20220124091107.642561-7-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/md/dm-crypt.c

index 20abe3486aba17b522232fd091a5c4c746145c52..3c5ecd35d34831811bfdedb192c1a308ac713a5b 100644 (file)
@@ -234,7 +234,7 @@ static volatile unsigned long dm_crypt_pages_per_client;
 #define DM_CRYPT_MEMORY_PERCENT                        2
 #define DM_CRYPT_MIN_PAGES_PER_CLIENT          (BIO_MAX_VECS * 16)
 
-static void clone_init(struct dm_crypt_io *, struct bio *);
+static void crypt_endio(struct bio *clone);
 static void kcryptd_queue_crypt(struct dm_crypt_io *io);
 static struct scatterlist *crypt_get_sg_data(struct crypt_config *cc,
                                             struct scatterlist *sg);
@@ -1673,7 +1673,10 @@ retry:
                mutex_lock(&cc->bio_alloc_lock);
 
        clone = bio_alloc_bioset(GFP_NOIO, nr_iovecs, &cc->bs);
-       clone_init(io, clone);
+       clone->bi_private = io;
+       clone->bi_end_io = crypt_endio;
+       bio_set_dev(clone, cc->dev->bdev);
+       clone->bi_opf = io->base_bio->bi_opf;
 
        remaining_size = size;
 
@@ -1826,16 +1829,6 @@ static void crypt_endio(struct bio *clone)
        crypt_dec_pending(io);
 }
 
-static void clone_init(struct dm_crypt_io *io, struct bio *clone)
-{
-       struct crypt_config *cc = io->cc;
-
-       clone->bi_private = io;
-       clone->bi_end_io  = crypt_endio;
-       bio_set_dev(clone, cc->dev->bdev);
-       clone->bi_opf     = io->base_bio->bi_opf;
-}
-
 static int kcryptd_io_read(struct dm_crypt_io *io, gfp_t gfp)
 {
        struct crypt_config *cc = io->cc;
@@ -1850,10 +1843,12 @@ static int kcryptd_io_read(struct dm_crypt_io *io, gfp_t gfp)
        clone = bio_clone_fast(io->base_bio, gfp, &cc->bs);
        if (!clone)
                return 1;
+       clone->bi_private = io;
+       clone->bi_end_io = crypt_endio;
+       bio_set_dev(clone, cc->dev->bdev);
 
        crypt_inc_pending(io);
 
-       clone_init(io, clone);
        clone->bi_iter.bi_sector = cc->start + io->sector;
 
        if (dm_crypt_integrity_io_alloc(io, clone)) {