Skip to content

Commit

Permalink
scsi: target: Use standard SAM status types
Browse files Browse the repository at this point in the history
target_complete_cmd() and friends requires a SAM status type, so passing
GOOD here is actually wrong.

Link: https://lore.kernel.org/r/20210427083046.31620-40-hare@suse.de
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
  • Loading branch information
Hannes Reinecke authored and Martin K. Petersen committed Jun 1, 2021
1 parent a7479a8 commit 14b40c1
Show file tree
Hide file tree
Showing 7 changed files with 22 additions and 22 deletions.
6 changes: 3 additions & 3 deletions drivers/target/target_core_alua.c
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ target_emulate_report_referrals(struct se_cmd *cmd)

transport_kunmap_data_sg(cmd);

target_complete_cmd(cmd, GOOD);
target_complete_cmd(cmd, SAM_STAT_GOOD);
return 0;
}

Expand Down Expand Up @@ -255,7 +255,7 @@ target_emulate_report_target_port_groups(struct se_cmd *cmd)
}
transport_kunmap_data_sg(cmd);

target_complete_cmd_with_length(cmd, GOOD, rd_len + 4);
target_complete_cmd_with_length(cmd, SAM_STAT_GOOD, rd_len + 4);
return 0;
}

Expand Down Expand Up @@ -424,7 +424,7 @@ target_emulate_set_target_port_groups(struct se_cmd *cmd)
out:
transport_kunmap_data_sg(cmd);
if (!rc)
target_complete_cmd(cmd, GOOD);
target_complete_cmd(cmd, SAM_STAT_GOOD);
return rc;
}

Expand Down
2 changes: 1 addition & 1 deletion drivers/target/target_core_iblock.c
Original file line number Diff line number Diff line change
Expand Up @@ -474,7 +474,7 @@ iblock_execute_zero_out(struct block_device *bdev, struct se_cmd *cmd)
if (ret)
return TCM_LOGICAL_UNIT_COMMUNICATION_FAILURE;

target_complete_cmd(cmd, GOOD);
target_complete_cmd(cmd, SAM_STAT_GOOD);
return 0;
}

Expand Down
8 changes: 4 additions & 4 deletions drivers/target/target_core_pr.c
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,7 @@ target_scsi2_reservation_release(struct se_cmd *cmd)
out_unlock:
spin_unlock(&dev->dev_reservation_lock);
out:
target_complete_cmd(cmd, GOOD);
target_complete_cmd(cmd, SAM_STAT_GOOD);
return 0;
}

Expand Down Expand Up @@ -297,7 +297,7 @@ target_scsi2_reservation_reserve(struct se_cmd *cmd)
spin_unlock(&dev->dev_reservation_lock);
out:
if (!ret)
target_complete_cmd(cmd, GOOD);
target_complete_cmd(cmd, SAM_STAT_GOOD);
return ret;
}

Expand Down Expand Up @@ -3676,7 +3676,7 @@ target_scsi3_emulate_pr_out(struct se_cmd *cmd)
}

if (!ret)
target_complete_cmd(cmd, GOOD);
target_complete_cmd(cmd, SAM_STAT_GOOD);
return ret;
}

Expand Down Expand Up @@ -4073,7 +4073,7 @@ target_scsi3_emulate_pr_in(struct se_cmd *cmd)
}

if (!ret)
target_complete_cmd(cmd, GOOD);
target_complete_cmd(cmd, SAM_STAT_GOOD);
return ret;
}

Expand Down
2 changes: 1 addition & 1 deletion drivers/target/target_core_pscsi.c
Original file line number Diff line number Diff line change
Expand Up @@ -1044,7 +1044,7 @@ static void pscsi_req_done(struct request *req, blk_status_t status)
struct se_cmd *cmd = req->end_io_data;
struct pscsi_plugin_task *pt = cmd->priv;
int result = scsi_req(req)->result;
u8 scsi_status = status_byte(result) << 1;
u8 scsi_status = result & 0xff;

if (scsi_status != SAM_STAT_GOOD) {
pr_debug("PSCSI Status Byte exception at cmd: %p CDB:"
Expand Down
10 changes: 5 additions & 5 deletions drivers/target/target_core_sbc.c
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ sbc_emulate_readcapacity(struct se_cmd *cmd)
transport_kunmap_data_sg(cmd);
}

target_complete_cmd_with_length(cmd, GOOD, 8);
target_complete_cmd_with_length(cmd, SAM_STAT_GOOD, 8);
return 0;
}

Expand Down Expand Up @@ -130,7 +130,7 @@ sbc_emulate_readcapacity_16(struct se_cmd *cmd)
transport_kunmap_data_sg(cmd);
}

target_complete_cmd_with_length(cmd, GOOD, 32);
target_complete_cmd_with_length(cmd, SAM_STAT_GOOD, 32);
return 0;
}

Expand Down Expand Up @@ -202,14 +202,14 @@ sbc_execute_write_same_unmap(struct se_cmd *cmd)
return ret;
}

target_complete_cmd(cmd, GOOD);
target_complete_cmd(cmd, SAM_STAT_GOOD);
return 0;
}

static sense_reason_t
sbc_emulate_noop(struct se_cmd *cmd)
{
target_complete_cmd(cmd, GOOD);
target_complete_cmd(cmd, SAM_STAT_GOOD);
return 0;
}

Expand Down Expand Up @@ -1245,7 +1245,7 @@ sbc_execute_unmap(struct se_cmd *cmd)
err:
transport_kunmap_data_sg(cmd);
if (!ret)
target_complete_cmd(cmd, GOOD);
target_complete_cmd(cmd, SAM_STAT_GOOD);
return ret;
}

Expand Down
14 changes: 7 additions & 7 deletions drivers/target/target_core_spc.c
Original file line number Diff line number Diff line change
Expand Up @@ -781,7 +781,7 @@ spc_emulate_inquiry(struct se_cmd *cmd)
kfree(buf);

if (!ret)
target_complete_cmd_with_length(cmd, GOOD, len);
target_complete_cmd_with_length(cmd, SAM_STAT_GOOD, len);
return ret;
}

Expand Down Expand Up @@ -1135,7 +1135,7 @@ static sense_reason_t spc_emulate_modesense(struct se_cmd *cmd)
transport_kunmap_data_sg(cmd);
}

target_complete_cmd_with_length(cmd, GOOD, length);
target_complete_cmd_with_length(cmd, SAM_STAT_GOOD, length);
return 0;
}

Expand All @@ -1153,7 +1153,7 @@ static sense_reason_t spc_emulate_modeselect(struct se_cmd *cmd)
int i;

if (!cmd->data_length) {
target_complete_cmd(cmd, GOOD);
target_complete_cmd(cmd, SAM_STAT_GOOD);
return 0;
}

Expand Down Expand Up @@ -1196,7 +1196,7 @@ static sense_reason_t spc_emulate_modeselect(struct se_cmd *cmd)
transport_kunmap_data_sg(cmd);

if (!ret)
target_complete_cmd(cmd, GOOD);
target_complete_cmd(cmd, SAM_STAT_GOOD);
return ret;
}

Expand Down Expand Up @@ -1229,7 +1229,7 @@ static sense_reason_t spc_emulate_request_sense(struct se_cmd *cmd)
memcpy(rbuf, buf, min_t(u32, sizeof(buf), cmd->data_length));
transport_kunmap_data_sg(cmd);

target_complete_cmd(cmd, GOOD);
target_complete_cmd(cmd, SAM_STAT_GOOD);
return 0;
}

Expand Down Expand Up @@ -1296,15 +1296,15 @@ sense_reason_t spc_emulate_report_luns(struct se_cmd *cmd)
transport_kunmap_data_sg(cmd);
}

target_complete_cmd_with_length(cmd, GOOD, 8 + lun_count * 8);
target_complete_cmd_with_length(cmd, SAM_STAT_GOOD, 8 + lun_count * 8);
return 0;
}
EXPORT_SYMBOL(spc_emulate_report_luns);

static sense_reason_t
spc_emulate_testunitready(struct se_cmd *cmd)
{
target_complete_cmd(cmd, GOOD);
target_complete_cmd(cmd, SAM_STAT_GOOD);
return 0;
}

Expand Down
2 changes: 1 addition & 1 deletion drivers/target/target_core_xcopy.c
Original file line number Diff line number Diff line change
Expand Up @@ -998,7 +998,7 @@ static sense_reason_t target_rcr_operating_parameters(struct se_cmd *se_cmd)
put_unaligned_be32(42, &p[0]);

transport_kunmap_data_sg(se_cmd);
target_complete_cmd(se_cmd, GOOD);
target_complete_cmd(se_cmd, SAM_STAT_GOOD);

return TCM_NO_SENSE;
}
Expand Down

0 comments on commit 14b40c1

Please sign in to comment.