[PATCH 6/6] target: use bio_integrity_intervals() helper
Caleb Sander Mateos <[email protected]> Fri, 3 Apr 2026 13:41:09 -0600
| Newsgroups | org.kernel.vger.target-devel,org.infradead.lists.linux-nvme,org.kernel.vger.linux-block,org.kernel.vger.linux-kernel,org.kernel.vger.linux-scsi |
|---|---|
| Message-ID | <[email protected]> |
Use bio_integrity_intervals() to convert bio->bi_iter.bi_sector to integrity intervals to reduce code duplication. Make the same change in the nvmet code that appears to have been copied from the target code. Signed-off-by: Caleb Sander Mateos <[email protected]> --- drivers/nvme/target/io-cmd-bdev.c | 3 +-- drivers/target/target_core_iblock.c | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/nvme/target/io-cmd-bdev.c b/drivers/nvme/target/io-cmd-bdev.c index f2d9e8901df4..dcf273360015 100644 --- a/drivers/nvme/target/io-cmd-bdev.c +++ b/drivers/nvme/target/io-cmd-bdev.c @@ -218,12 +218,11 @@ static int nvmet_bdev_alloc_bip(struct nvmet_req *req, struct bio *bio, pr_err("Unable to allocate bio_integrity_payload\n"); return PTR_ERR(bip); } /* virtual start sector must be in integrity interval units */ - bip_set_seed(bip, bio->bi_iter.bi_sector >> - (bi->interval_exp - SECTOR_SHIFT)); + bip_set_seed(bip, bio_integrity_intervals(bi, bio->bi_iter.bi_sector)); resid = bio_integrity_bytes(bi, bio_sectors(bio)); while (resid > 0 && sg_miter_next(miter)) { len = min_t(size_t, miter->length, resid); rc = bio_integrity_add_page(bio, miter->page, len, diff --git a/drivers/target/target_core_iblock.c b/drivers/target/target_core_iblock.c index 1087d1d17c36..434ef2b0b120 100644 --- a/drivers/target/target_core_iblock.c +++ b/drivers/target/target_core_iblock.c @@ -706,12 +706,11 @@ iblock_alloc_bip(struct se_cmd *cmd, struct bio *bio, pr_err("Unable to allocate bio_integrity_payload\n"); return PTR_ERR(bip); } /* virtual start sector must be in integrity interval units */ - bip_set_seed(bip, bio->bi_iter.bi_sector >> - (bi->interval_exp - SECTOR_SHIFT)); + bip_set_seed(bip, bio_integrity_intervals(bi, bio->bi_iter.bi_sector)); pr_debug("IBLOCK BIP Size: %u Sector: %llu\n", bip->bip_iter.bi_size, (unsigned long long)bip->bip_iter.bi_sector); resid = bio_integrity_bytes(bi, bio_sectors(bio)); -- 2.45.2