mirror of
https://github.com/lkl/linux.git
synced 2025-12-19 08:03:01 +09:00
bio-integrity: update the payload size in bio_integrity_add_page()
Previously, the bip's bi_size has been set before an integrity pages were added. If a problem occurs in the process of adding pages for bip, the bi_size mismatch problem must be dealt with. When the page is successfully added to bvec, the bi_size is updated. The parts affected by the change were also contained in this commit. Cc: Christoph Hellwig <hch@lst.de> Cc: Martin K. Petersen <martin.petersen@oracle.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jinyoung Choi <j-young.choi@samsung.com> Tested-by: "Martin K. Petersen" <martin.petersen@oracle.com> Reviewed-by: "Martin K. Petersen" <martin.petersen@oracle.com> Link: https://lore.kernel.org/r/20230803024956epcms2p38186a17392706650c582d38ef3dbcd32@epcms2p3 Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
committed by
Jens Axboe
parent
7c8998f75d
commit
80814b8e35
@@ -137,6 +137,7 @@ int bio_integrity_add_page(struct bio *bio, struct page *page,
|
||||
|
||||
bvec_set_page(&bip->bip_vec[bip->bip_vcnt], page, len, offset);
|
||||
bip->bip_vcnt++;
|
||||
bip->bip_iter.bi_size += len;
|
||||
|
||||
return len;
|
||||
}
|
||||
@@ -244,7 +245,6 @@ bool bio_integrity_prep(struct bio *bio)
|
||||
}
|
||||
|
||||
bip->bip_flags |= BIP_BLOCK_INTEGRITY;
|
||||
bip->bip_iter.bi_size = len;
|
||||
bip_set_seed(bip, bio->bi_iter.bi_sector);
|
||||
|
||||
if (bi->flags & BLK_INTEGRITY_IP_CHECKSUM)
|
||||
|
||||
Reference in New Issue
Block a user