From: James Smart <James.Smart@Emulex.Com>
To: "dgilbert@interlog.com" <dgilbert@interlog.com>
Cc: Christof Schmitt <christof.schmitt@de.ibm.com>,
"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>
Subject: Re: FCP target reset
Date: Tue, 4 Aug 2009 12:03:57 -0400 [thread overview]
Message-ID: <4A785BED.7070608@emulex.com> (raw)
In-Reply-To: <4A7847E4.8090304@interlog.com>
Douglas Gilbert wrote:
> It looks like "target reset" is being phased out of SCSI
> terminology and being partially replaced by "hard reset".
Well, there's still an "I_T Nexus Reset" within the TMF area, which FCP-4
provides no mapping for, but does define how to create a I_T Nexus loss event.
Headache is there's history... SPI BDRs did full target resets and killed i/o
for all initiators. Target Reset and FCP-2 gave same kind of semantic. FCP-3
and later tried to make initiators better citizens and isolate reset semantics
if possible. Unfortunately, there's lots of users that equate FC to SCSI, SCSI
to SPI, and assume SPI-like semantics. So changing things just to be
standard-compliant always seems to upset someone (and it's usually the most
critical someone).
> The third paragraph in the introduction of draft SAM-5
> (sam5r02.pdf section 1.1) states:
>
> "The following concepts from previous versions of this
> standard are made obsolete by this standard:
> a) support for the SPI-5 SCSI transport protocol;
> b) Contingent Allegiance;
> c) the TARGET RESET task management function;
> d) basic task management model;
> e) untagged tasks; and
> f) linked command function."
>
> The TARGET RESET task management function last appeared
> in SAM-2 (ANSI INCITS 366-2003).
>
> A "hard reset" is associated with a power cycle at an
> initiator, target or somewhere in between. There is no
> SCSI task management function to generate a hard reset.
>
> Some transports have the ability to generate hard resets
> via non-SCSI protocols. For example in SAS a target can
> be reset with a SMP PHY CONTROL request to an expander
> phy attached to a phy on that target. SAS also has a lower
> order "link reset" which is invisible at the SCSI protocol
> level.
>
> So is there a "hard reset" hook somewhere in FCP-3 ?
Only mapping in FCP-4 is Loop-based. Nothing for non-Loop.
All other events correspond to I_T Nexus Loss and center around login/logout.
For the target_reset entry point, I assume generating something for an I_T
Nexus Loss should be fine. However, it goes against those SPI-isms mentioned
above and can also be a real pain for the driver (discovery sucks). Given all
the history, the OEM test scripts, and bars we've passed to date, I'm very
hesitant to move away from Target Reset.
If we're really going to solve it, it probably requires more than the simple
heirarchial device/tgt/bus/adapter reset escalation entry points (ex: does bus
reset hard-reset all targets, or just terminate local I_T nexus related ios ?)
- and another can of worms.
-- james s
next prev parent reply other threads:[~2009-08-04 16:04 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-03 16:23 FCP target reset Christof Schmitt
2009-08-03 20:38 ` James Smart
2009-08-04 8:46 ` Christof Schmitt
2009-08-04 14:38 ` Douglas Gilbert
2009-08-04 16:03 ` James Smart [this message]
2009-08-04 16:20 ` James Bottomley
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=4A785BED.7070608@emulex.com \
--to=james.smart@emulex.com \
--cc=christof.schmitt@de.ibm.com \
--cc=dgilbert@interlog.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