public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley@steeleye.com>
To: "Infante, Jon" <Jon.Infante@Emulex.Com>
Cc: Linux SCSI Reflector <linux-scsi@vger.kernel.org>
Subject: RE: suspending I/Os to a device
Date: 23 Apr 2004 19:28:30 -0400	[thread overview]
Message-ID: <1082762917.1615.17.camel@mulgrave> (raw)
In-Reply-To: <8D43EFD7CCBDB24980134BE078C227E704E37A82@xcm.emulex.com>

On Fri, 2004-04-23 at 18:12, Infante, Jon wrote:
> Here is the senerio I am trying to handle within our Fibre Channel driver.
> In Fibre Channel, it is possible for the Target, or HBA, to be disconnected
> from one port on a switch and plugged into another port on the same (or even
> a different) switch. This transitition can happen with live traffic and the
> scsi subsystem / driver is supposed to recover gracefully, without failing
> all I/Os back up to applications that are running. In order to accomplish
> this, there is a configurable timer, that tells the driver how long to wait
> (at the Fibre Channel level), when a device disappears, to give it a chance
> to come back. Some OEMs / environments set this to a couple seconds, some a
> to couple of minutes.

Actually, there is no interface because no-one has had any prior
requirements for this.

This is effectively a FC specific thing, and I believe you know because
you get a lip event telling you the target has gone, so it sounds like
the ideal thing to handle in the FC transport class (since it would
apply to all FC HBAs) The target reconnect timeout would then be a
transport class property and we'd start failing I/Os when it expired.  I
would guess there needs to be an additional state in the device state
model like SUSPEND (QUIESCE doesn't quite fit because it allows the
pending queue to drain and the error handler to operate), but we can
accomodate that.

By default, I would think the reconnect timeout should be zero because
most FC operates in a multi-path environment and you want path failure
notifications as fast as possible, so users requiring this feature would
need to set the timeout.

James



  reply	other threads:[~2004-04-23 23:29 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-04-23 22:12 suspending I/Os to a device Infante, Jon
2004-04-23 23:28 ` James Bottomley [this message]
2004-04-26 16:40   ` Patrick Mansfield
  -- strict thread matches above, loose matches on Subject: below --
2004-08-06 19:36 Paul.Ely
2004-08-02 21:22 Ely, Paul
2004-07-28 16:19 Ely, Paul
2004-07-26 19:11 Ely, Paul
2004-07-28 14:41 ` James Bottomley
2004-07-23 13:26 Ely, Paul
2004-07-22 20:16 Ely, Paul
2004-07-23  4:36 ` Nathan Bryant
2004-07-19 20:04 Ely, Paul
2004-07-12 20:53 Ely, Paul
2004-07-17 12:24 ` Christoph Hellwig
2004-05-05 19:00 Smart, James
2004-04-26 17:12 Infante, Jon
2004-04-26 21:26 ` 'Patrick Mansfield'
2004-04-23 16:28 Ely, Paul
2004-04-23 15:59 Infante, Jon

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=1082762917.1615.17.camel@mulgrave \
    --to=james.bottomley@steeleye.com \
    --cc=Jon.Infante@Emulex.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