summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnuj Gupta <anuj20.g@samsung.com>2024-06-26 13:06:52 +0300
committerJens Axboe <axboe@kernel.dk>2024-06-28 23:34:54 +0300
commit3991657ae7074c3c497bf095093178bed37ea1b4 (patch)
tree16a7e4e3977fc07abd2136364d7afc9d219487c6
parent5b026e34120766408e76ba19a0e33a9dc996f9f0 (diff)
downloadlinux-3991657ae7074c3c497bf095093178bed37ea1b4.tar.xz
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>
-rw-r--r--block/bio-integrity.c2
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;
}