On 06/06/2013 07:49 AM, Ren Mingxin wrote:
Hi, Hannes:
I have two questions about the comments:
On 06/05/2013 03:10 PM, Hannes Reinecke wrote:
Document the various error codes returned on I/O failure.
Signed-off-by: Hannes Reinecke<hare@xxxxxxx>
---
drivers/scsi/scsi_error.c | 7 +++++--
drivers/scsi/scsi_lib.c | 11 +++++++++++
2 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c
index f43de1e..443b0e3 100644
--- a/drivers/scsi/scsi_error.c
+++ b/drivers/scsi/scsi_error.c
@@ -229,8 +229,11 @@ static inline void scsi_eh_prt_fail_stats(struct
Scsi_Host *shost,
* scsi_check_sense - Examine scsi cmd sense
* @scmd: Cmd to have sense checked.
*
- * Return value:
- * SUCCESS or FAILED or NEEDS_RETRY or TARGET_ERROR
+ * Possible return values:
+ * SUCCESS
+ * FAILED
+ * NEEDS_RETRY
+ * TARGET_ERROR
This is more likely to be a historical non-update issue -
there is another possible return value 'ADD_TO_MLQUEUE' which may be
returned by the handler check_sense() or the case of this
scsi_check_sense() below, right?
switch (sshdr.sense_key) {
case HARDWARE_ERROR:
if (scmd->device->retry_hwerror)
return ADD_TO_MLQUEUE;
Blast. You are correct. Will be fixing it up.
*
* Notes:
* When a deferred error is detected the current command has
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
index 86d5220..12bfa73 100644
--- a/drivers/scsi/scsi_lib.c
+++ b/drivers/scsi/scsi_lib.c
@@ -700,6 +700,17 @@ void scsi_release_buffers(struct scsi_cmnd *cmd)
}
EXPORT_SYMBOL(scsi_release_buffers);
+/**
+ * __scsi_error_from_host_byte - translate SCSI error code into errno
+ * @cmd: SCSI command (unused)
+ * @result: scsi error code
+ *
+ * Translate SCSI error code into standard UNIX errno.
+ * Return values:
+ * -ENOLINK temporary transport failure
+ * -EREMOTEIO permanent target failure, do not retry
+ * -EBADE permanent nexus failure, retry on other path
Sorry, I'm afraid that I'm not clear why '-EIO' is not listed here...
Perhaps some of them are not necessary to document for some reasons?
Hmm. What with EIO being the default I've seen no need to document this.
But yes, you are right, it should be documented.
Cheers,
Hannes
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html