scsi: core: Kill message byte

Remove last vestiges of SCSI status message bytes.

Link: https://lore.kernel.org/r/20210427083046.31620-39-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>
This commit is contained in:
Hannes Reinecke 2021-04-27 10:30:44 +02:00 committed by Martin K. Petersen
parent 54cf31d07a
commit a7479a8477
3 changed files with 5 additions and 39 deletions

View file

@ -1172,9 +1172,9 @@ Members of interest:
of 0 implies a successfully completed command (and all of 0 implies a successfully completed command (and all
data (if any) has been transferred to or from the SCSI data (if any) has been transferred to or from the SCSI
target device). 'result' is a 32 bit unsigned integer that target device). 'result' is a 32 bit unsigned integer that
can be viewed as 4 related bytes. The SCSI status value is can be viewed as 2 related bytes. The SCSI status value is
in the LSB. See include/scsi/scsi.h status_byte(), in the LSB. See include/scsi/scsi.h status_byte() and
msg_byte() and host_byte() macros and related constants. host_byte() macros and related constants.
sense_buffer sense_buffer
- an array (maximum size: SCSI_SENSE_BUFFERSIZE bytes) that - an array (maximum size: SCSI_SENSE_BUFFERSIZE bytes) that
should be written when the SCSI status (LSB of 'result') should be written when the SCSI status (LSB of 'result')

View file

@ -591,10 +591,7 @@ static blk_status_t scsi_result_to_blk_status(struct scsi_cmnd *cmd, int result)
{ {
switch (host_byte(result)) { switch (host_byte(result)) {
case DID_OK: case DID_OK:
/* if (scsi_status_is_good(result))
* Also check the other bytes than the status byte in result
*/
if (scsi_status_is_good(result) && (result & ~0xff) == 0)
return BLK_STS_OK; return BLK_STS_OK;
return BLK_STS_IOERR; return BLK_STS_IOERR;
case DID_TRANSPORT_FAILFAST: case DID_TRANSPORT_FAILFAST:

View file

@ -124,37 +124,6 @@
scsi_hostbyte_name(DID_TRANSPORT_DISRUPTED), \ scsi_hostbyte_name(DID_TRANSPORT_DISRUPTED), \
scsi_hostbyte_name(DID_TRANSPORT_FAILFAST)) scsi_hostbyte_name(DID_TRANSPORT_FAILFAST))
#define scsi_msgbyte_name(result) { result, #result }
#define show_msgbyte_name(val) \
__print_symbolic(val, \
scsi_msgbyte_name(COMMAND_COMPLETE), \
scsi_msgbyte_name(EXTENDED_MESSAGE), \
scsi_msgbyte_name(SAVE_POINTERS), \
scsi_msgbyte_name(RESTORE_POINTERS), \
scsi_msgbyte_name(DISCONNECT), \
scsi_msgbyte_name(INITIATOR_ERROR), \
scsi_msgbyte_name(ABORT_TASK_SET), \
scsi_msgbyte_name(MESSAGE_REJECT), \
scsi_msgbyte_name(NOP), \
scsi_msgbyte_name(MSG_PARITY_ERROR), \
scsi_msgbyte_name(LINKED_CMD_COMPLETE), \
scsi_msgbyte_name(LINKED_FLG_CMD_COMPLETE), \
scsi_msgbyte_name(TARGET_RESET), \
scsi_msgbyte_name(ABORT_TASK), \
scsi_msgbyte_name(CLEAR_TASK_SET), \
scsi_msgbyte_name(INITIATE_RECOVERY), \
scsi_msgbyte_name(RELEASE_RECOVERY), \
scsi_msgbyte_name(CLEAR_ACA), \
scsi_msgbyte_name(LOGICAL_UNIT_RESET), \
scsi_msgbyte_name(SIMPLE_QUEUE_TAG), \
scsi_msgbyte_name(HEAD_OF_QUEUE_TAG), \
scsi_msgbyte_name(ORDERED_QUEUE_TAG), \
scsi_msgbyte_name(IGNORE_WIDE_RESIDUE), \
scsi_msgbyte_name(ACA), \
scsi_msgbyte_name(QAS_REQUEST), \
scsi_msgbyte_name(BUS_DEVICE_RESET), \
scsi_msgbyte_name(ABORT))
#define scsi_statusbyte_name(result) { result, #result } #define scsi_statusbyte_name(result) { result, #result }
#define show_statusbyte_name(val) \ #define show_statusbyte_name(val) \
__print_symbolic(val, \ __print_symbolic(val, \
@ -316,7 +285,7 @@ DECLARE_EVENT_CLASS(scsi_cmd_done_timeout_template,
__print_hex(__get_dynamic_array(cmnd), __entry->cmd_len), __print_hex(__get_dynamic_array(cmnd), __entry->cmd_len),
"DRIVER_OK", "DRIVER_OK",
show_hostbyte_name(((__entry->result) >> 16) & 0xff), show_hostbyte_name(((__entry->result) >> 16) & 0xff),
show_msgbyte_name(((__entry->result) >> 8) & 0xff), "COMMAND_COMPLETE",
show_statusbyte_name(__entry->result & 0xff)) show_statusbyte_name(__entry->result & 0xff))
); );