dm-crypt: remove clone_init
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>
This commit is contained in:
parent
53db984e00
commit
3f868c09ea
@ -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)) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user