Remove the BIP_IP_CHECKSUM as sd can just look at the per-disk
checksum type instead.

Signed-off-by: Christoph Hellwig <h...@lst.de>
Reviewed-by: Bart Van Assche <bvanass...@acm.org>
Reviewed-by: Kanchan Joshi <josh...@samsung.com>
Reviewed-by: Chaitanya Kulkarni <k...@nvidia.com>
---
 block/bio-integrity.c | 3 ---
 drivers/scsi/sd.c     | 6 +++---
 include/linux/bio.h   | 5 ++---
 3 files changed, 5 insertions(+), 9 deletions(-)

diff --git a/block/bio-integrity.c b/block/bio-integrity.c
index af7f71d16114de..c69da65759af89 100644
--- a/block/bio-integrity.c
+++ b/block/bio-integrity.c
@@ -488,9 +488,6 @@ bool bio_integrity_prep(struct bio *bio)
        bip->bip_flags |= BIP_BLOCK_INTEGRITY;
        bip_set_seed(bip, bio->bi_iter.bi_sector);
 
-       if (bi->flags & BLK_INTEGRITY_IP_CHECKSUM)
-               bip->bip_flags |= BIP_IP_CHECKSUM;
-
        /* Map it */
        offset = offset_in_page(buf);
        for (i = 0; i < nr_pages && len > 0; i++) {
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index b477383ccc3b2a..e21b7df5c31b0d 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -43,7 +43,7 @@
 #include <linux/idr.h>
 #include <linux/interrupt.h>
 #include <linux/init.h>
-#include <linux/blkdev.h>
+#include <linux/blk-integrity.h>
 #include <linux/blkpg.h>
 #include <linux/blk-pm.h>
 #include <linux/delay.h>
@@ -799,12 +799,12 @@ static unsigned char sd_setup_protect_cmnd(struct 
scsi_cmnd *scmd,
                                           unsigned int dix, unsigned int dif)
 {
        struct request *rq = scsi_cmd_to_rq(scmd);
-       struct bio *bio = rq->bio;
+       struct blk_integrity *bi = &rq->q->integrity;
        unsigned int prot_op = sd_prot_op(rq_data_dir(rq), dix, dif);
        unsigned int protect = 0;
 
        if (dix) {                              /* DIX Type 0, 1, 2, 3 */
-               if (bio_integrity_flagged(bio, BIP_IP_CHECKSUM))
+               if (bi->flags & BLK_INTEGRITY_IP_CHECKSUM)
                        scmd->prot_flags |= SCSI_PROT_IP_CHECKSUM;
                scmd->prot_flags |= SCSI_PROT_GUARD_CHECK;
        }
diff --git a/include/linux/bio.h b/include/linux/bio.h
index ec5dcf8635ac66..3295dd6021659b 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -324,9 +324,8 @@ static inline void bio_next_folio(struct folio_iter *fi, 
struct bio *bio)
 enum bip_flags {
        BIP_BLOCK_INTEGRITY     = 1 << 0, /* block layer owns integrity data */
        BIP_MAPPED_INTEGRITY    = 1 << 1, /* ref tag has been remapped */
-       BIP_IP_CHECKSUM         = 1 << 4, /* IP checksum */
-       BIP_INTEGRITY_USER      = 1 << 5, /* Integrity payload is user address 
*/
-       BIP_COPY_USER           = 1 << 6, /* Kernel bounce buffer in use */
+       BIP_INTEGRITY_USER      = 1 << 2, /* Integrity payload is user address 
*/
+       BIP_COPY_USER           = 1 << 3, /* Kernel bounce buffer in use */
 };
 
 /*
-- 
2.43.0


Reply via email to