aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/scsi/scsi_eh.h
diff options
context:
space:
mode:
authorBart Van Assche <bvanassche@acm.org>2021-04-15 15:08:11 -0700
committerMartin K. Petersen <martin.petersen@oracle.com>2021-04-15 22:44:40 -0400
commitb8e162f9e7e2da6e823a4984d6aa0523e278babf (patch)
treefcc0568d9fd33460ed837277c91c72858fe3a408 /include/scsi/scsi_eh.h
parentscsi: core: Modify the scsi_send_eh_cmnd() return value for the SDEV_BLOCK case (diff)
downloadwireguard-linux-b8e162f9e7e2da6e823a4984d6aa0523e278babf.tar.xz
wireguard-linux-b8e162f9e7e2da6e823a4984d6aa0523e278babf.zip
scsi: core: Introduce enum scsi_disposition
Improve readability of the code in the SCSI core by introducing an enumeration type for the values used internally that decide how to continue processing a SCSI command. The eh_*_handler return values have not been changed because that would involve modifying all SCSI drivers. The output of the following command has been inspected to verify that no out-of-range values are assigned to a variable of type enum scsi_disposition: KCFLAGS=-Wassign-enum make CC=clang W=1 drivers/scsi/ Link: https://lore.kernel.org/r/20210415220826.29438-6-bvanassche@acm.org Cc: Christoph Hellwig <hch@lst.de> Cc: Johannes Thumshirn <johannes.thumshirn@wdc.com> Cc: Hannes Reinecke <hare@suse.de> Cc: Daniel Wagner <dwagner@suse.de> Signed-off-by: Bart Van Assche <bvanassche@acm.org> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'include/scsi/scsi_eh.h')
-rw-r--r--include/scsi/scsi_eh.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/scsi/scsi_eh.h b/include/scsi/scsi_eh.h
index 6bd5ed695a5e..468094254b3c 100644
--- a/include/scsi/scsi_eh.h
+++ b/include/scsi/scsi_eh.h
@@ -17,7 +17,7 @@ extern void scsi_report_device_reset(struct Scsi_Host *, int, int);
extern int scsi_block_when_processing_errors(struct scsi_device *);
extern bool scsi_command_normalize_sense(const struct scsi_cmnd *cmd,
struct scsi_sense_hdr *sshdr);
-extern int scsi_check_sense(struct scsi_cmnd *);
+extern enum scsi_disposition scsi_check_sense(struct scsi_cmnd *);
static inline bool scsi_sense_is_deferred(const struct scsi_sense_hdr *sshdr)
{