mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 21:21:41 +00:00
dm crypt: use bio_add_page()
Use bio_add_page(), the standard interface for adding a page to a bio, rather than open-coding the same. It should be noted that the 'clone' bio that is allocated using bio_alloc_bioset(), in crypt_alloc_buffer(), does _not_ set the bio's BIO_CLONED flag. As such, bio_add_page()'s early return for true bio clones (those with BIO_CLONED set) isn't applicable. Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Ming Lei <tom.leiming@gmail.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
This commit is contained in:
parent
cacc7b0556
commit
0dae7fe597
@ -994,7 +994,6 @@ static struct bio *crypt_alloc_buffer(struct dm_crypt_io *io, unsigned size)
|
||||
gfp_t gfp_mask = GFP_NOWAIT | __GFP_HIGHMEM;
|
||||
unsigned i, len, remaining_size;
|
||||
struct page *page;
|
||||
struct bio_vec *bvec;
|
||||
|
||||
retry:
|
||||
if (unlikely(gfp_mask & __GFP_DIRECT_RECLAIM))
|
||||
@ -1019,12 +1018,7 @@ retry:
|
||||
|
||||
len = (remaining_size > PAGE_SIZE) ? PAGE_SIZE : remaining_size;
|
||||
|
||||
bvec = &clone->bi_io_vec[clone->bi_vcnt++];
|
||||
bvec->bv_page = page;
|
||||
bvec->bv_len = len;
|
||||
bvec->bv_offset = 0;
|
||||
|
||||
clone->bi_iter.bi_size += len;
|
||||
bio_add_page(clone, page, len, 0);
|
||||
|
||||
remaining_size -= len;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user