From: Douglas Gilbert <dougg@torque.net>
To: Patrick Mansfield <patmans@us.ibm.com>
Cc: James Bottomley <James.Bottomley@SteelEye.com>,
Andrew Vasquez <andrew.vasquez@qlogic.com>,
SCSI Mailing List <linux-scsi@vger.kernel.org>
Subject: Re: Mid-layer handling of NOT_READY conditions...
Date: Sun, 30 Jan 2005 12:33:40 +1000 [thread overview]
Message-ID: <41FC4784.8060905@torque.net> (raw)
In-Reply-To: <20050129193421.GA7573@us.ibm.com>
Patrick Mansfield wrote:
> On Sat, Jan 29, 2005 at 10:44:41AM -0600, James Bottomley wrote:
>
>>On Fri, 2005-01-28 at 21:46 -0800, Andrew Vasquez wrote:
>>
>>>Returning back DID_IMM_RETRY for these 'transport' related conditions
>>>would of course help in this issue -- but at the same time bring with it
>>>several side-effects which may not be desirable.
>>>
>>>So, beyond this particular circumstance, what would be considered a
>>>'proper' return status for this type of event?
>>
>>Well, the correct return, since this is a condition from the storage, is
>>simply the check condition and the sense code (rather than having the
>>driver interpret it).
>
>
> But the transport hit a failure, not the storage device.
>
> I thought Andrew hit this sequence:
>
> - pull / replace cable
>
> - IO resumes but gets NOT_READY (the device could be logging back
> into the fibre or such)
>
> - a FC transport problem is hit, DID_BUSY_BUSY is returned, but
> scmd->retries has already been exhausted by the NOT_READY
>
> Did I misread something?
Patrick,
I was also thinking of commenting on this. It depends on
where the failure is:
a) between the device server (target) and a logical unit (lu)
b) in the service delivery subsystem between the
initiator (port) and the target (port).
James's explanation covers case a) (i.e. the device server
should constuct appropriate sense data and a SCSI status
in response to the current and future SCSI commands.
In case b) the reponse is transport dependent.
For example, in the case of SAS there are two further
situations:
1) the failure occurs on a direct connect between the
initiator (port) and the target (port) [e.g. between
a HBA port and a target port on a disk].
Then a low level state machine (phy/link layer) on
the HBA will notice the problem
2) the failure occurs between an expander and an end
device (e.g. a tape drive). Then the expander issues
a BROADCAST(CHANGE) link layer primitive which the
initiator(s) will receive. In reponse to this the
initiator(s) should do another discovery process
to find the new topology (via SMP).
Also both of these situations are detected in real time
(more or less), not when the next command is issued.
New SCSI commands will fail relatively quickly when
the SAS HBA fails to open a connection to the target.
SCSI commands "in flight" to an effected target should
trigger connection timeouts in the initiator.
Doug Gilbert
next prev parent reply other threads:[~2005-01-30 2:33 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-28 23:24 Mid-layer handling of NOT_READY conditions Andrew Vasquez
2005-01-29 5:46 ` Andrew Vasquez
2005-01-29 16:16 ` Matthew Wilcox
2005-01-29 16:44 ` James Bottomley
2005-01-29 19:34 ` Patrick Mansfield
2005-01-30 1:40 ` James Bottomley
2005-01-30 2:33 ` Douglas Gilbert [this message]
2005-01-31 7:47 ` Andrew Vasquez
-- strict thread matches above, loose matches on Subject: below --
2005-01-31 9:46 Mid-Layer handling of NOT READY conditions EXT / DEVOTEAM VAROQUI Christophe
2005-01-31 14:07 goggin, edward
2005-01-31 16:56 Mid-layer handling of NOT_READY conditions James.Smart
2005-01-31 17:36 ` Patrick Mansfield
2005-02-01 7:21 ` Andrew Vasquez
2005-01-31 18:22 ` Andrew Vasquez
2005-01-31 19:07 James.Smart
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=41FC4784.8060905@torque.net \
--to=dougg@torque.net \
--cc=James.Bottomley@SteelEye.com \
--cc=andrew.vasquez@qlogic.com \
--cc=linux-scsi@vger.kernel.org \
--cc=patmans@us.ibm.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.