diff options
author | Anuj Gupta <anuj20.g@samsung.com> | 2024-06-26 15:36:52 +0530 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2024-06-28 14:34:54 -0600 |
commit | 3991657ae7074c3c497bf095093178bed37ea1b4 (patch) | |
tree | 16a7e4e3977fc07abd2136364d7afc9d219487c6 /block | |
parent | 5b026e34120766408e76ba19a0e33a9dc996f9f0 (diff) |
block: set bip_vcnt correctly
Set the bip_vcnt correctly in bio_integrity_init_user and
bio_integrity_copy_user. If the bio gets split at a later point,
this value is required to set the right bip_vcnt in the cloned bio.
Signed-off-by: Anuj Gupta <anuj20.g@samsung.com>
Signed-off-by: Kanchan Joshi <joshi.k@samsung.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20240626100700.3629-3-anuj20.g@samsung.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block')
-rw-r--r-- | block/bio-integrity.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/block/bio-integrity.c b/block/bio-integrity.c index ad296849aa2a..eb3d7bbe1fe8 100644 --- a/block/bio-integrity.c +++ b/block/bio-integrity.c @@ -254,6 +254,7 @@ static int bio_integrity_copy_user(struct bio *bio, struct bio_vec *bvec, bip->bip_flags |= BIP_INTEGRITY_USER | BIP_COPY_USER; bip->bip_iter.bi_sector = seed; + bip->bip_vcnt = nr_vecs; return 0; free_bip: bio_integrity_free(bio); @@ -275,6 +276,7 @@ static int bio_integrity_init_user(struct bio *bio, struct bio_vec *bvec, bip->bip_flags |= BIP_INTEGRITY_USER; bip->bip_iter.bi_sector = seed; bip->bip_iter.bi_size = len; + bip->bip_vcnt = nr_vecs; return 0; } |