public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: Kurt Garloff <garloff@suse.de>
To: Willem Riede <wrlk@riede.org>
Cc: linux-scsi@vger.kernel.org
Subject: Re: Scsi error handler strategy question
Date: Mon, 5 Jan 2004 10:44:26 +0100	[thread overview]
Message-ID: <20040105094426.GJ6671@tpkurt.garloff.de> (raw)
In-Reply-To: <20040104232425.GM4339@linnie.riede.org>

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

Hi Willem,

On Sun, Jan 04, 2004 at 06:24:25PM -0500, Willem Riede wrote:
> But here is my first question: is there typically any need to wait 
> some time between doing the host/bus/device reset and the first TUR?
> Is there a standard that governs how fast devices have to be done
> resetting to the point that they can respond to commands (if only to
> say they're not ready?

Ths SCSI-2 standard does not say anything about this. 
However, it seems to be assumed that a device has recovered enough 
to respond to commands like INQUIRY and TUR after the normal 
parallel SCSI selection timeout of 250ms.

In practice, we many devices need more time to recover.
If you look at the SCSI scanning code, there are timeouts of a few
(6) seconds. They are only needed because of devices needing time to 
recover after a reset.

> When the first TUR completes, the CC/UA expected flag takes care of
> the reported sense 06:29:00 (power on reset or device reset occurred).
> So far so good. Second TUR issued. That one typically gets 02:04:01
> (not ready - in the process of becoming ready) reported. The error
> handler is programmed to retry TUR once if it sees this.

Good.

> Second question: if the device firmware takes some time to re-initiate
> the device, this code can be returned multiple times. So am I allowed
> to submit a patch to increase that retry count? What would be a good
> number? Hard to say in general, as this depends on what devices you
> have and how fast commands get executed :-(

TUR tends to be answered immediately. So you should wait a second 
before retrying. Allowing for 32 retries does not seem exxagerated then,
as we know that the device is expected to come back.

> Finally, at least my device, the OnStream DI-30, will eventually want 
> to report 06:28:00 (not ready to ready transition, medium may have
> changed). The error handler considers that an error, and is guaranteed
> to take the device offline, just as it came back to life :-(
> 
> Am I allowed to submit a patch that will also retry on that condition?

I'd support it.

Regards,
-- 
Kurt Garloff  <garloff@suse.de>                            Cologne, DE 
SUSE LINUX AG, Nuernberg, DE                          SUSE Labs (Head)

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

  parent reply	other threads:[~2004-01-05  9:44 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-04 23:24 Scsi error handler strategy question Willem Riede
2004-01-05  2:42 ` Andre Hedrick
2004-01-05  2:55   ` Willem Riede
2004-01-05  9:44 ` Kurt Garloff [this message]
2004-01-18 15:20 ` Scsi error handler strategy question - now with [PATCH] Willem Riede

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=20040105094426.GJ6671@tpkurt.garloff.de \
    --to=garloff@suse.de \
    --cc=linux-scsi@vger.kernel.org \
    --cc=wrlk@riede.org \
    /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