Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dm: Use bvec_iter for dm_bio_record()

This patch doesn't itself have any functional changes, but immutable
biovecs are going to add a bi_bvec_done member to bi_iter, which will
need to be saved too here.

Signed-off-by: Kent Overstreet <kmo@daterainc.com>
Cc: Alasdair Kergon <agk@redhat.com>
Cc: dm-devel@redhat.com
Reviewed-by: Mike Snitzer <snitzer@redhat.com>

+3 -9
+3 -9
drivers/md/dm-bio-record.h
··· 28 28 }; 29 29 30 30 struct dm_bio_details { 31 - sector_t bi_sector; 32 31 struct block_device *bi_bdev; 33 - unsigned int bi_size; 34 - unsigned short bi_idx; 35 32 unsigned long bi_flags; 33 + struct bvec_iter bi_iter; 36 34 struct dm_bio_vec_details bi_io_vec[BIO_MAX_PAGES]; 37 35 }; 38 36 ··· 38 40 { 39 41 unsigned i; 40 42 41 - bd->bi_sector = bio->bi_iter.bi_sector; 42 43 bd->bi_bdev = bio->bi_bdev; 43 - bd->bi_size = bio->bi_iter.bi_size; 44 - bd->bi_idx = bio->bi_iter.bi_idx; 45 44 bd->bi_flags = bio->bi_flags; 45 + bd->bi_iter = bio->bi_iter; 46 46 47 47 for (i = 0; i < bio->bi_vcnt; i++) { 48 48 bd->bi_io_vec[i].bv_len = bio->bi_io_vec[i].bv_len; ··· 52 56 { 53 57 unsigned i; 54 58 55 - bio->bi_iter.bi_sector = bd->bi_sector; 56 59 bio->bi_bdev = bd->bi_bdev; 57 - bio->bi_iter.bi_size = bd->bi_size; 58 - bio->bi_iter.bi_idx = bd->bi_idx; 59 60 bio->bi_flags = bd->bi_flags; 61 + bio->bi_iter = bd->bi_iter; 60 62 61 63 for (i = 0; i < bio->bi_vcnt; i++) { 62 64 bio->bi_io_vec[i].bv_len = bd->bi_io_vec[i].bv_len;