public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley@steeleye.com>
To: Masao Fukuchi <fukuchi.masao@jp.fujitsu.com>
Cc: SCSI Mailing List <linux-scsi@vger.kernel.org>,
	Eric Dean Moore <Emoore@lsil.com>
Subject: Re: [RFC][PATCH]SCSI signal(I/O) failure causes no response
Date: 14 Apr 2004 10:28:25 -0500	[thread overview]
Message-ID: <1081956506.10872.41.camel@mulgrave> (raw)
In-Reply-To: <200404140107.AA03169@fukuchi.jp.fujitsu.com>

On Tue, 2004-04-13 at 20:07, Masao Fukuchi wrote:
> 1.Fusion MPT driver issues read command to its firmware.
>   (our server has LSI53C1030 as SCSI adapter)
>   Then the firmware returns protocol error for the command.
>   Fusion MPT driver makes DID_RESET status by protocol error 
>   and sends it to SCSI midlayer.
> 
> 2.SCSI midlayer analyzes the status from LLD.
>   SCSI midlayer schedules command retry because the status is just
>   DID_RESET status.
>   (When the status has DID_RESET plus some sense code, the retry
>    sequence depends on the sense code. But when the status has only
>    DID_RESET, SCSI midlayer schedules command retry)
> 
> Sequence 1. and 2. are repeated infinitely and it causes no response.
> 
> To prevent this problem, I proposed Eric Moore to change the DID_RESET
> status to DID_SOFT_ERROR in fusion MPT driver.
> But he suggested me to change SCSI midlayer to prevent infinite loop.

Well, there clearly is a problem, because we can't retry no-rety
commands that return DID_RESET (like tape commands or fastfail).

However, DID_RESET is supposed to be returned for events where it was
determined that the command was lost because the bus or device was reset
(either as part of error handling or because an external entity issued
the reset).  Since these events, if they originate externally, can be
beyond the control of the device, making retryable commands subject to
the retry limit would be asking for unnecessary I/O errors because of
something we couldn't do anything about.

Why is the LSI driver returning DID_RESET for the problem (i.e. is it
some type of external bus reset, or is something else going on)?

James



  reply	other threads:[~2004-04-14 15:28 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-04-14  1:07 [RFC][PATCH]SCSI signal(I/O) failure causes no response Masao Fukuchi
2004-04-14 15:28 ` James Bottomley [this message]
  -- strict thread matches above, loose matches on Subject: below --
2004-04-14 15:23 Moore, Eric Dean
2004-04-14 15:56 Moore, Eric Dean
2004-04-15  5:24 ` Masao Fukuchi
2004-04-23  4:44 ` Jeremy Higdon
2004-04-15 14:51 Moore, Eric Dean
2004-04-16  1:29 ` Masao Fukuchi

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=1081956506.10872.41.camel@mulgrave \
    --to=james.bottomley@steeleye.com \
    --cc=Emoore@lsil.com \
    --cc=fukuchi.masao@jp.fujitsu.com \
    --cc=linux-scsi@vger.kernel.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