public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: Hannes Reinecke <hare@suse.de>
To: dgilbert@interlog.com
Cc: James Bottomley <jbottomley@suse.de>,
	linux-scsi@vger.kernel.org, jaxboe@fusionio.com,
	michaelc@cs.wisc.edu, agk@redhat.com,
	Mike Snitzer <snitzer@redhat.com>
Subject: Re: [PATCH v4 1/3] scsi: Detailed I/O errors
Date: Tue, 18 Jan 2011 13:01:52 +0100	[thread overview]
Message-ID: <4D358130.6040508@suse.de> (raw)
In-Reply-To: <4D357AA3.5070509@interlog.com>

On 01/18/2011 12:33 PM, Douglas Gilbert wrote:
> On 11-01-18 10:13 AM, Hannes Reinecke wrote:
>> Instead of just passing 'EIO' for any I/O error we should be
>> notifying the upper layers with more details about the cause
>> of this error.
>>
>> Update the possible I/O errors to:
>>
>> - ENOLINK: Link failure between host and target
>> - EIO: Retryable I/O error
>> - EREMOTEIO: Non-retryable I/O error
>> - EBADE: I/O error restricted to the I_T_L nexus
>>
>> 'Retryable' in this context means that an I/O error _might_ be
>> restricted to the I_T_L nexus (vulgo: path), so retrying on another
>> nexus / path might succeed.
>>
>> 'Non-retryable' in general refers to a target failure, so this
>> error will always be generated regardless of the I_T_L nexus
>> it was send on.
>>
>> I/O errors restricted to the I_T_L nexus might be retried
>> on another nexus / path, but they should _not_ be queued
>> if no paths are available.
> 
> Hannes,
> I don't know if it is applicable to this patch but with
> SAS when the uplink from an expander is being stressed
> (i.e. it temporarily doesn't have enough bandwidth) then
> a sense key of ABORTED COMMAND may be generated. In my
> experience retrying such a command succeeds.
> 
I guess this should be handled by scsi EH, as there
should be some sensible ASC/ASCQ values to go with
it.

This patchset is primarily for fixing up multipathing,
which has the habit of retrying failed I/Os on the
next path. For some errors this is just pointless
(eg MEDIUM ERROR), for some errors this is the desired
behaviour (namely transport errors), and for others
this is positively damaging (persistent reservation
failures).
Just plain EIO simply don't cover the whole range :-)

> 
> BTW might "vulgo" be "ergo" [Latin: therefore]?
> 
Nope. Correct etymology is from 'sermo vulgaris',
ie the language of the common people.
But maybe I should remove it for the next
round to avoid confusion.

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		      zSeries & Storage
hare@suse.de			      +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Markus Rex, HRB 16746 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2011-01-18 11:55 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-18  9:13 [PATCH v4 0/3] differentiate between I/O errors Hannes Reinecke
2011-01-18  9:13 ` [PATCH v4 1/3] scsi: Detailed " Hannes Reinecke
2011-01-18 11:33   ` Douglas Gilbert
2011-01-18 12:01     ` Hannes Reinecke [this message]
2011-01-27 22:35       ` Mike Snitzer
2011-01-27 22:41         ` James Bottomley
2011-01-27 22:54           ` Mike Snitzer
2011-01-28  8:12             ` Jens Axboe
2011-01-28 13:11           ` Alasdair G Kergon
2011-01-18  9:13 ` [PATCH v4 2/3] dm mpath: propagate target errors immediately Hannes Reinecke
2011-01-18  9:13 ` [PATCH v4 3/3] block: improve detail in I/O error messages Hannes Reinecke
2011-01-27 22:51   ` Mike Snitzer

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=4D358130.6040508@suse.de \
    --to=hare@suse.de \
    --cc=agk@redhat.com \
    --cc=dgilbert@interlog.com \
    --cc=jaxboe@fusionio.com \
    --cc=jbottomley@suse.de \
    --cc=linux-scsi@vger.kernel.org \
    --cc=michaelc@cs.wisc.edu \
    --cc=snitzer@redhat.com \
    /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