public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: Douglas Gilbert <dougg@torque.net>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: James Bottomley <James.Bottomley@SteelEye.com>,
	Martin Peschke <mpeschke@de.ibm.com>,
	Radovan Garabik <garabik@kassiopeia.juls.savba.sk>,
	SCSI development list <linux-scsi@vger.kernel.org>
Subject: Re: [PATCH as468] Retry supposedly "unrecoverable" hardware errors
Date: Thu, 17 Feb 2005 15:06:12 +1000	[thread overview]
Message-ID: <42142644.6080005@torque.net> (raw)
In-Reply-To: <42141D3D.9080800@torque.net>

[-- Attachment #1: Type: text/plain, Size: 1470 bytes --]

Douglas Gilbert wrote:
> Alan Stern wrote:
> 
>> James:
>>
>> This is an updated and unmangled version of the patch sent in by 
>> Martin Peschke.  Apparently some drives report Hardware Error sense 
>> for problems which do improve after retrying, so the patch retries 
>> these supposedly "unrecoverable" errors for such devices.
> 
> 
> Recent SPC-3 and SBC-2 drafts treat the sense keys of
> MEDIUM ERROR and HARDWARE ERROR in a similar way.
> Both can return an "info" field which has the same
> meaning (lba of first failure). The distinction is that
> MEDIUM ERROR is a little more precise (at least for
> magnetic rotating media) **. For flash ram the distinction
> is moot.
> 
> I believe MEDIUM ERROR and HARDWARE ERROR should be
> treated the same way in scsi_check_sense() (i.e.
> both return NEEDS_RETRY). That way an extra black list
> category is avoided.
> 
> 
> ** HARDWARE ERROR is returned in cases of self diagnostic
> failure and lack of available blocks for reassignment.
> It seems valid for a device to return a HARDWARE ERROR
> sense key both for these cases and unrecoverable data
> errors (and ignore MEDIUM ERROR).

... after a bit further thought, a retry (arguably) is only
needed when an unrecoverable (data) error is detected. If we
assume the "info" field indicates an unrecoverable error
then the following patch combines the processing of
MEDIUM and HARDWARE ERROR sense keys without the need for
a black list category.

Doug Gilbert


[-- Attachment #2: scsi_error2611rc4he.diff --]
[-- Type: text/x-patch, Size: 753 bytes --]

--- linux/drivers/scsi/scsi_error.c	2005-02-13 20:46:31.000000000 +1000
+++ linux/drivers/scsi/scsi_error.c2611rc4he	2005-02-17 14:55:44.000000000 +1000
@@ -279,6 +279,7 @@
 static int scsi_check_sense(struct scsi_cmnd *scmd)
 {
 	struct scsi_sense_hdr sshdr;
+	u64 info;
 
 	if (! scsi_command_normalize_sense(scmd, &sshdr))
 		return FAILED;	/* no valid sense data */
@@ -348,12 +349,15 @@
 		return SUCCESS;
 
 	case MEDIUM_ERROR:
-		return NEEDS_RETRY;
-
+	case HARDWARE_ERROR:
+		if (scsi_get_sense_info_fld(scmd->sense_buffer,
+					    sizeof(scmd->sense_buffer), &info))
+			return NEEDS_RETRY;
+		else
+			return SUCCESS;
 	case ILLEGAL_REQUEST:
 	case BLANK_CHECK:
 	case DATA_PROTECT:
-	case HARDWARE_ERROR:
 	default:
 		return SUCCESS;
 	}

  reply	other threads:[~2005-02-17  5:05 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20050210134432.GA12229@kassiopeia.juls.savba.sk>
2005-02-11 16:00 ` [usb-storage] Re: MPIO HS200 Gigabox weird behaviour again Alan Stern
2005-02-11 16:18   ` James Bottomley
2005-02-11 18:31     ` Alan Stern
2005-02-11 19:07       ` Patrick Mansfield
2005-02-11 19:41         ` Alan Stern
2005-02-16 14:37       ` Radovan Garabik
2005-02-16 16:53         ` [PATCH as468] Retry supposedly "unrecoverable" hardware errors Alan Stern
2005-02-17  4:27           ` Douglas Gilbert
2005-02-17  5:06             ` Douglas Gilbert [this message]
2005-02-17 15:20               ` Alan Stern
2005-02-17 15:11             ` James Bottomley
2005-02-18  0:49               ` Douglas Gilbert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=42142644.6080005@torque.net \
    --to=dougg@torque.net \
    --cc=James.Bottomley@SteelEye.com \
    --cc=garabik@kassiopeia.juls.savba.sk \
    --cc=linux-scsi@vger.kernel.org \
    --cc=mpeschke@de.ibm.com \
    --cc=stern@rowland.harvard.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox