Loading block/t10-pi.c +3 −6 Original line number Diff line number Diff line Loading @@ -28,9 +28,6 @@ typedef __be16 (csum_fn) (void *, unsigned int); static const __be16 APP_ESCAPE = (__force __be16) 0xffff; static const __be32 REF_ESCAPE = (__force __be32) 0xffffffff; static __be16 t10_pi_crc_fn(void *data, unsigned int len) { return cpu_to_be16(crc_t10dif(data, len)); Loading Loading @@ -82,7 +79,7 @@ static blk_status_t t10_pi_verify(struct blk_integrity_iter *iter, switch (type) { case 1: case 2: if (pi->app_tag == APP_ESCAPE) if (pi->app_tag == T10_PI_APP_ESCAPE) goto next; if (be32_to_cpu(pi->ref_tag) != Loading @@ -95,8 +92,8 @@ static blk_status_t t10_pi_verify(struct blk_integrity_iter *iter, } break; case 3: if (pi->app_tag == APP_ESCAPE && pi->ref_tag == REF_ESCAPE) if (pi->app_tag == T10_PI_APP_ESCAPE && pi->ref_tag == T10_PI_REF_ESCAPE) goto next; break; } Loading drivers/scsi/lpfc/lpfc_scsi.c +3 −2 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ #include <linux/export.h> #include <linux/delay.h> #include <asm/unaligned.h> #include <linux/t10-pi.h> #include <linux/crc-t10dif.h> #include <net/checksum.h> Loading Loading @@ -2934,8 +2935,8 @@ lpfc_calc_bg_err(struct lpfc_hba *phba, struct lpfc_scsi_buf *lpfc_cmd) * First check to see if a protection data * check is valid */ if ((src->ref_tag == 0xffffffff) || (src->app_tag == 0xffff)) { if ((src->ref_tag == T10_PI_REF_ESCAPE) || (src->app_tag == T10_PI_APP_ESCAPE)) { start_ref_tag++; goto skipit; } Loading drivers/scsi/qla2xxx/qla_isr.c +4 −4 Original line number Diff line number Diff line Loading @@ -1950,9 +1950,9 @@ qla2x00_handle_dif_error(srb_t *sp, struct sts_entry_24xx *sts24) * For type 3: ref & app tag is all 'f's * For type 0,1,2: app tag is all 'f's */ if ((a_app_tag == 0xffff) && if ((a_app_tag == T10_PI_APP_ESCAPE) && ((scsi_get_prot_type(cmd) != SCSI_PROT_DIF_TYPE3) || (a_ref_tag == 0xffffffff))) { (a_ref_tag == T10_PI_REF_ESCAPE))) { uint32_t blocks_done, resid; sector_t lba_s = scsi_get_lba(cmd); Loading Loading @@ -1994,9 +1994,9 @@ qla2x00_handle_dif_error(srb_t *sp, struct sts_entry_24xx *sts24) spt = page_address(sg_page(sg)) + sg->offset; spt += j; spt->app_tag = 0xffff; spt->app_tag = T10_PI_APP_ESCAPE; if (scsi_get_prot_type(cmd) == SCSI_PROT_DIF_TYPE3) spt->ref_tag = 0xffffffff; spt->ref_tag = T10_PI_REF_ESCAPE; } return 0; Loading drivers/target/target_core_sbc.c +1 −1 Original line number Diff line number Diff line Loading @@ -1450,7 +1450,7 @@ sbc_dif_verify(struct se_cmd *cmd, sector_t start, unsigned int sectors, (unsigned long long)sector, sdt->guard_tag, sdt->app_tag, be32_to_cpu(sdt->ref_tag)); if (sdt->app_tag == cpu_to_be16(0xffff)) { if (sdt->app_tag == T10_PI_APP_ESCAPE) { dsg_off += block_size; goto next; } Loading include/linux/t10-pi.h +2 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,8 @@ struct t10_pi_tuple { __be32 ref_tag; /* Target LBA or indirect LBA */ }; #define T10_PI_APP_ESCAPE cpu_to_be16(0xffff) #define T10_PI_REF_ESCAPE cpu_to_be32(0xffffffff) extern const struct blk_integrity_profile t10_pi_type1_crc; extern const struct blk_integrity_profile t10_pi_type1_ip; Loading Loading
block/t10-pi.c +3 −6 Original line number Diff line number Diff line Loading @@ -28,9 +28,6 @@ typedef __be16 (csum_fn) (void *, unsigned int); static const __be16 APP_ESCAPE = (__force __be16) 0xffff; static const __be32 REF_ESCAPE = (__force __be32) 0xffffffff; static __be16 t10_pi_crc_fn(void *data, unsigned int len) { return cpu_to_be16(crc_t10dif(data, len)); Loading Loading @@ -82,7 +79,7 @@ static blk_status_t t10_pi_verify(struct blk_integrity_iter *iter, switch (type) { case 1: case 2: if (pi->app_tag == APP_ESCAPE) if (pi->app_tag == T10_PI_APP_ESCAPE) goto next; if (be32_to_cpu(pi->ref_tag) != Loading @@ -95,8 +92,8 @@ static blk_status_t t10_pi_verify(struct blk_integrity_iter *iter, } break; case 3: if (pi->app_tag == APP_ESCAPE && pi->ref_tag == REF_ESCAPE) if (pi->app_tag == T10_PI_APP_ESCAPE && pi->ref_tag == T10_PI_REF_ESCAPE) goto next; break; } Loading
drivers/scsi/lpfc/lpfc_scsi.c +3 −2 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ #include <linux/export.h> #include <linux/delay.h> #include <asm/unaligned.h> #include <linux/t10-pi.h> #include <linux/crc-t10dif.h> #include <net/checksum.h> Loading Loading @@ -2934,8 +2935,8 @@ lpfc_calc_bg_err(struct lpfc_hba *phba, struct lpfc_scsi_buf *lpfc_cmd) * First check to see if a protection data * check is valid */ if ((src->ref_tag == 0xffffffff) || (src->app_tag == 0xffff)) { if ((src->ref_tag == T10_PI_REF_ESCAPE) || (src->app_tag == T10_PI_APP_ESCAPE)) { start_ref_tag++; goto skipit; } Loading
drivers/scsi/qla2xxx/qla_isr.c +4 −4 Original line number Diff line number Diff line Loading @@ -1950,9 +1950,9 @@ qla2x00_handle_dif_error(srb_t *sp, struct sts_entry_24xx *sts24) * For type 3: ref & app tag is all 'f's * For type 0,1,2: app tag is all 'f's */ if ((a_app_tag == 0xffff) && if ((a_app_tag == T10_PI_APP_ESCAPE) && ((scsi_get_prot_type(cmd) != SCSI_PROT_DIF_TYPE3) || (a_ref_tag == 0xffffffff))) { (a_ref_tag == T10_PI_REF_ESCAPE))) { uint32_t blocks_done, resid; sector_t lba_s = scsi_get_lba(cmd); Loading Loading @@ -1994,9 +1994,9 @@ qla2x00_handle_dif_error(srb_t *sp, struct sts_entry_24xx *sts24) spt = page_address(sg_page(sg)) + sg->offset; spt += j; spt->app_tag = 0xffff; spt->app_tag = T10_PI_APP_ESCAPE; if (scsi_get_prot_type(cmd) == SCSI_PROT_DIF_TYPE3) spt->ref_tag = 0xffffffff; spt->ref_tag = T10_PI_REF_ESCAPE; } return 0; Loading
drivers/target/target_core_sbc.c +1 −1 Original line number Diff line number Diff line Loading @@ -1450,7 +1450,7 @@ sbc_dif_verify(struct se_cmd *cmd, sector_t start, unsigned int sectors, (unsigned long long)sector, sdt->guard_tag, sdt->app_tag, be32_to_cpu(sdt->ref_tag)); if (sdt->app_tag == cpu_to_be16(0xffff)) { if (sdt->app_tag == T10_PI_APP_ESCAPE) { dsg_off += block_size; goto next; } Loading
include/linux/t10-pi.h +2 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,8 @@ struct t10_pi_tuple { __be32 ref_tag; /* Target LBA or indirect LBA */ }; #define T10_PI_APP_ESCAPE cpu_to_be16(0xffff) #define T10_PI_REF_ESCAPE cpu_to_be32(0xffffffff) extern const struct blk_integrity_profile t10_pi_type1_crc; extern const struct blk_integrity_profile t10_pi_type1_ip; Loading