OSDN Git Service

scsi/core: Change the return type of scsi_noretry_cmd() into bool
authorBart Van Assche <bvanassche@acm.org>
Thu, 14 Jul 2022 18:07:06 +0000 (11:07 -0700)
committerJens Axboe <axboe@kernel.dk>
Thu, 14 Jul 2022 18:14:32 +0000 (12:14 -0600)
This patch prepares for introducing the new blk_opf_t type in the SCSI core.
Since the value returned by scsi_noretry_cmd() is only used in boolean
expressions, this patch does not change any functionality.

Cc: Martin K. Petersen <martin.petersen@oracle.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Ming Lei <ming.lei@redhat.com>
Cc: Hannes Reinecke <hare@suse.de>
Cc: John Garry <john.garry@huawei.com>
Cc: Mike Christie <michael.christie@oracle.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Link: https://lore.kernel.org/r/20220714180729.1065367-41-bvanassche@acm.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/scsi/scsi_error.c
drivers/scsi/scsi_priv.h

index 266ce41..b776cef 100644 (file)
@@ -1779,7 +1779,7 @@ static void scsi_eh_offline_sdevs(struct list_head *work_q,
  * scsi_noretry_cmd - determine if command should be failed fast
  * @scmd:      SCSI cmd to examine.
  */
-int scsi_noretry_cmd(struct scsi_cmnd *scmd)
+bool scsi_noretry_cmd(struct scsi_cmnd *scmd)
 {
        struct request *req = scsi_cmd_to_rq(scmd);
 
@@ -1789,19 +1789,19 @@ int scsi_noretry_cmd(struct scsi_cmnd *scmd)
        case DID_TIME_OUT:
                goto check_type;
        case DID_BUS_BUSY:
-               return req->cmd_flags & REQ_FAILFAST_TRANSPORT;
+               return !!(req->cmd_flags & REQ_FAILFAST_TRANSPORT);
        case DID_PARITY:
-               return req->cmd_flags & REQ_FAILFAST_DEV;
+               return !!(req->cmd_flags & REQ_FAILFAST_DEV);
        case DID_ERROR:
                if (get_status_byte(scmd) == SAM_STAT_RESERVATION_CONFLICT)
-                       return 0;
+                       return false;
                fallthrough;
        case DID_SOFT_ERROR:
-               return req->cmd_flags & REQ_FAILFAST_DRIVER;
+               return !!(req->cmd_flags & REQ_FAILFAST_DRIVER);
        }
 
        if (!scsi_status_is_check_condition(scmd->result))
-               return 0;
+               return false;
 
 check_type:
        /*
@@ -1809,9 +1809,9 @@ check_type:
         * the check condition was retryable.
         */
        if (req->cmd_flags & REQ_FAILFAST_DEV || blk_rq_is_passthrough(req))
-               return 1;
+               return true;
 
-       return 0;
+       return false;
 }
 
 /**
index 6eeaa0a..429663b 100644 (file)
@@ -82,7 +82,7 @@ void scsi_eh_ready_devs(struct Scsi_Host *shost,
                        struct list_head *done_q);
 int scsi_eh_get_sense(struct list_head *work_q,
                      struct list_head *done_q);
-int scsi_noretry_cmd(struct scsi_cmnd *scmd);
+bool scsi_noretry_cmd(struct scsi_cmnd *scmd);
 void scsi_eh_done(struct scsi_cmnd *scmd);
 
 /* scsi_lib.c */