scsi: target: Rename cmd.bad_sector to cmd.sense_info
authorDavid Disseldorp <ddiss@suse.de>
Sat, 31 Oct 2020 23:32:09 +0000 (00:32 +0100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 5 Nov 2020 03:02:19 +0000 (22:02 -0500)
cmd.bad_sector currently gets packed into the sense INFORMATION field for
TCM_LOGICAL_BLOCK_{GUARD,APP_TAG,REF_TAG}_CHECK_FAILED errors, which carry
an .add_sector_info flag in the sense_detail_table to ensure this.

In preparation for propagating a byte offset on COMPARE AND WRITE
TCM_MISCOMPARE_VERIFY error, rename cmd.bad_sector to cmd.sense_info and
sense_detail.add_sector_info to sense_detail.add_sense_info so that it
better reflects the sense INFORMATION field destination.

[ddiss: update previously overlooked ib_isert]

Link: https://lore.kernel.org/r/20201031233211.5207-3-ddiss@suse.de
Reviewed-by: Mike Christie <michael.christie@oracle.com>
Signed-off-by: David Disseldorp <ddiss@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/infiniband/ulp/isert/ib_isert.c
drivers/target/target_core_sbc.c
drivers/target/target_core_transport.c
include/target/target_core_base.h

index 436e17f1d0e53cd64da9101abe6efeaf781a3c42..a3ba0c4d0d3964ff7ce0039a30fd49864d1890ad 100644 (file)
@@ -1528,12 +1528,12 @@ isert_check_pi_status(struct se_cmd *se_cmd, struct ib_mr *sig_mr)
                }
                sec_offset_err = mr_status.sig_err.sig_err_offset;
                do_div(sec_offset_err, block_size);
-               se_cmd->bad_sector = sec_offset_err + se_cmd->t_task_lba;
+               se_cmd->sense_info = sec_offset_err + se_cmd->t_task_lba;
 
                isert_err("PI error found type %d at sector 0x%llx "
                          "expected 0x%x vs actual 0x%x\n",
                          mr_status.sig_err.err_type,
-                         (unsigned long long)se_cmd->bad_sector,
+                         (unsigned long long)se_cmd->sense_info,
                          mr_status.sig_err.expected,
                          mr_status.sig_err.actual);
                ret = 1;
index 6e8b8d30938f6f12509578406537147b541fccfb..5f77dd95f1b9da7081d65b236fa5f8ea6e27c9b5 100644 (file)
@@ -1439,7 +1439,7 @@ sbc_dif_verify(struct se_cmd *cmd, sector_t start, unsigned int sectors,
                        if (rc) {
                                kunmap_atomic(daddr - dsg->offset);
                                kunmap_atomic(paddr - psg->offset);
-                               cmd->bad_sector = sector;
+                               cmd->sense_info = sector;
                                return rc;
                        }
 next:
index caa3a7b348268bd727201441ff2ab071a4244e2c..c6f45c12d564ba8907d23797e849da3e17e21a70 100644 (file)
@@ -3098,7 +3098,7 @@ struct sense_detail {
        u8 key;
        u8 asc;
        u8 ascq;
-       bool add_sector_info;
+       bool add_sense_info;
 };
 
 static const struct sense_detail sense_detail_table[] = {
@@ -3201,19 +3201,19 @@ static const struct sense_detail sense_detail_table[] = {
                .key = ABORTED_COMMAND,
                .asc = 0x10,
                .ascq = 0x01, /* LOGICAL BLOCK GUARD CHECK FAILED */
-               .add_sector_info = true,
+               .add_sense_info = true,
        },
        [TCM_LOGICAL_BLOCK_APP_TAG_CHECK_FAILED] = {
                .key = ABORTED_COMMAND,
                .asc = 0x10,
                .ascq = 0x02, /* LOGICAL BLOCK APPLICATION TAG CHECK FAILED */
-               .add_sector_info = true,
+               .add_sense_info = true,
        },
        [TCM_LOGICAL_BLOCK_REF_TAG_CHECK_FAILED] = {
                .key = ABORTED_COMMAND,
                .asc = 0x10,
                .ascq = 0x03, /* LOGICAL BLOCK REFERENCE TAG CHECK FAILED */
-               .add_sector_info = true,
+               .add_sense_info = true,
        },
        [TCM_COPY_TARGET_DEVICE_NOT_REACHABLE] = {
                .key = COPY_ABORTED,
@@ -3293,10 +3293,10 @@ static void translate_sense_reason(struct se_cmd *cmd, sense_reason_t reason)
        cmd->scsi_status = SAM_STAT_CHECK_CONDITION;
        cmd->scsi_sense_length  = TRANSPORT_SENSE_BUFFER;
        scsi_build_sense_buffer(desc_format, buffer, key, asc, ascq);
-       if (sd->add_sector_info)
+       if (sd->add_sense_info)
                WARN_ON_ONCE(scsi_set_sense_information(buffer,
                                                        cmd->scsi_sense_length,
-                                                       cmd->bad_sector) < 0);
+                                                       cmd->sense_info) < 0);
 }
 
 int
index 549947d407cfd2f55455748ebde55d3d4860b531..7ee2bee46b3a879309c6e16bfa7d73524c1a6486 100644 (file)
@@ -540,7 +540,7 @@ struct se_cmd {
        struct scatterlist      *t_prot_sg;
        unsigned int            t_prot_nents;
        sense_reason_t          pi_err;
-       sector_t                bad_sector;
+       u64                     sense_info;
        int                     cpuid;
 };