scsi_try_to_abort_cmd() should only return
SUCCESS, FAILED, or FAST_IO_FAIL. So document
that in the function description and simplify the
logging message.

Suggested-by: Christoph Hellwig <h...@infradead.org>
Reviewed-by: Robert Elliott <elli...@hp.com>
Reviewed-by: Christoph Hellwig <h...@infradead.org>
Signed-off-by: Hannes Reinecke <h...@suse.de>
---
 drivers/scsi/scsi_error.c | 24 +++++++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)

diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c
index c485f28..9209407 100644
--- a/drivers/scsi/scsi_error.c
+++ b/drivers/scsi/scsi_error.c
@@ -157,8 +157,9 @@ scmd_eh_abort_handler(struct work_struct *work)
                } else {
                        SCSI_LOG_ERROR_RECOVERY(3,
                                scmd_printk(KERN_INFO, scmd,
-                                           "scmd %p abort failed, rtn %d\n",
-                                           scmd, rtn));
+                                           "scmd %p abort %s\n", scmd,
+                                           (rtn == FAST_IO_FAIL) ?
+                                           "not send" : "failed"));
                }
        }
 
@@ -869,7 +870,24 @@ static int scsi_try_bus_device_reset(struct scsi_cmnd 
*scmd)
        return rtn;
 }
 
-static int scsi_try_to_abort_cmd(struct scsi_host_template *hostt, struct 
scsi_cmnd *scmd)
+/**
+ * scsi_try_to_abort_cmd - Ask host to abort a SCSI command
+ * @scmd:      SCSI cmd used to send a target reset
+ *
+ * Return value:
+ *     SUCCESS, FAILED, or FAST_IO_FAIL
+ *
+ * Notes:
+ *    SUCCESS does not necessarily indicate that the command
+ *    has been aborted; it only indicates that the LLDDs
+ *    has cleared all references to that command.
+ *    LLDDs should return FAILED only if an abort was required
+ *    but could not be executed. LLDDs should return FAST_IO_FAIL
+ *    if the device is temporarily unavailable (eg due to a
+ *    link down on FibreChannel)
+ */
+static int scsi_try_to_abort_cmd(struct scsi_host_template *hostt,
+                                struct scsi_cmnd *scmd)
 {
        if (!hostt->eh_abort_handler)
                return FAILED;
-- 
1.8.5.2

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to