Re: [PATCH 1/3] scsi: Document enhanced error codes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux