Return-Path: <owner-ips@ece.cmu.edu>
X-Sieve: cmu-sieve 2.0
Return-Path: <owner-ips@ece.cmu.edu>
Received: (from majordom@localhost)
	by ece.cmu.edu (8.11.0/8.10.2) id h0EGG5205308
	for ips-outgoing; Tue, 14 Jan 2003 11:16:05 -0500 (EST)
X-Authentication-Warning: ece.cmu.edu: majordom set sender to owner-ips@ece.cmu.edu using -f
Received: from mail.ivivity.com ([64.238.111.99])
	by ece.cmu.edu (8.11.0/8.10.2) with ESMTP id h0EGFwW05293
	for <ips@ece.cmu.edu>; Tue, 14 Jan 2003 11:16:02 -0500 (EST)
Received: by ATLOPS with Internet Mail Service (5.5.2653.19)
	id <Y12VHSH2>; Tue, 14 Jan 2003 11:15:56 -0500
Message-ID: <AEC4671C8179D61194DE0002B328BDD20B56@ATLOPS>
From: Eddy Quicksall <eddy_quicksall@ivivity.com>
To: Julian Satran <Julian_Satran@il.ibm.com>
Cc: Black_David@emc.com, dcuddihy@attotech.com,
   "Elliott, Robert (Server Storage)" <Elliott@hp.com>, ips@ece.cmu.edu
Subject: RE: iSCSI: Implicit Termination of Tasks
Date: Tue, 14 Jan 2003 11:15:48 -0500
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.5.2653.19)
Content-Type: multipart/alternative;
	boundary="----_=_NextPart_001_01C2BBE8.3330FB10"
Sender: owner-ips@ece.cmu.edu
Precedence: bulk

This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

------_=_NextPart_001_01C2BBE8.3330FB10
Content-Type: text/plain;
	charset="iso-8859-1"

Yes and this is where I've been coming from since I started this thread. 6.5
should be changed as Bob pointed out below. I can't tell from your response
"This is perfectly reasonable" if you are agreeing that Bob's suggestion is
reasonable or if the current wording is reasonable.
 
Please clear that up.
 
Eddy

-----Original Message-----
From: Julian Satran [mailto:Julian_Satran@il.ibm.com]
Sent: Tuesday, January 14, 2003 10:34 AM
To: Eddy_Quicksall@iVivity.com
Cc: Black_David@emc.com; dcuddihy@attotech.com; Elliott, Robert (Server
Storage); ips@ece.cmu.edu
Subject: RE: iSCSI: Implicit Termination of Tasks



Eddy, 

Setting the UA is a purely SCSI matter and so is the code used. There is no
iSCSI state surviving and we assume that the isCSI initiator 
produces some termination code for the SCSI initiator. It is not clear to me
than anything besides "ACA active" code is needed. 
If the target messes with command from other initiators (single
queue-per-target)  those should be ready to accept the consequences of a
common queue. 
UA is used (IMHO) mostly in cases of reset - that kill commands in other
queues even when the operation is queue-per-initiator. 

Julo 



"Eddy Quicksall" <Eddy_Quicksall@iVivity.com> 


14/01/03 16:39 


Please respond to
<Eddy_Quicksall@iVivity.com>



To
Julian Satran/Haifa/IBM@IBMIL 

cc
<Black_David@emc.com>, <dcuddihy@attotech.com>, <ips@ece.cmu.edu>, "Elliott,
Robert \(Server Storage\)" <Elliott@hp.com> 

Subject
RE: iSCSI: Implicit Termination of Tasks

	




>>nothing specific has to survive for ACA 
  
For ACA, doesn't the next command get the UA then the additional commands
get ACA Active until ACA is cleared (all assuming NACA, the ACA attribute
and QErr are being used appropriately)? 
  
So, doesn't the UA have to survive? 
  
Eddy 
-----Original Message-----
From: Julian Satran [mailto:Julian_Satran@il.ibm.com]
Sent: Tuesday, January 14, 2003 3:50 AM
To: Elliott, Robert (Server Storage)
Cc: Black_David@emc.com; dcuddihy@attotech.com; Eddy Quicksall;
ips@ece.cmu.edu
Subject: RE: iSCSI: Implicit Termination of Tasks


Rob, 

This is perfectly reasonable. 
The clearing effects will wipe-out anyhow whatever was specific to the code
for session termination 
and nothing specific has to survive for ACA. 

Regards, 
Julo 


"Elliott, Robert (Server Storage)" <Elliott@hp.com> 


14/01/03 09:59 




To
"Eddy Quicksall" <eddy_quicksall@ivivity.com>, <dcuddihy@attotech.com>,
<ips@ece.cmu.edu>, Julian Satran/Haifa/IBM@IBMIL, <Black_David@emc.com> 

cc

Subject
RE: iSCSI: Implicit Termination of Tasks


	





A few comments on this thread:

* Autosense protocols simply do not have CA.  At the T10 CAP meeting
this week, Ralph Weber is proposing removing all references to CA from
SAM-3 (see 03-002r2 on http://www.t10.org).  As soon as a command
completes, it is assumed that the status and sense data will be returned
together.  If they can't be delivered, it doesn't matter.

* the clearing effects table in FCP-2 was removed because it had several
incorrect entries and was missing quite a few additional SCSI items that
are also affected by logouts.  T10 proposals 02-143r3 and 02-232r2 have
the details and include large tables listing all the considered SCSI
effects.  These proposals have been incorporated into the latest SAM-3,
SPC-3, SBC-2, and SSC-2 standards.

* Most protocols don't detail how their hypothetical SCSI layer confirms
the abort of tasks to the protocol layer by specifying a CHECK
CONDITION, much less one with a specific sense key and additional sense
code.  This level of detail is internal only and seems irrelevent to the
iSCSI wire protocol. Specifying a "unit attention" sense key could cause
particular confusion, since unit attentions are supposed to be cleared
once reported.  

On the iSCSI wire, the goal is to generate a unit attention with an
additional sense code whose ASC field is 29h (e.g. I_T NEXUS LOSS, POWER
ON OCCURRED, etc.) on the next command.

To minimize changes to iSCSI at this point, I recommend changing
the wording like this (changed text noted between _ characters)
so only status is mentioned and it is only mentioned as an example:

If the tasks terminated in the above cases a), b, c) and d)are SCSI
tasks, they must be internally terminated _with CHECK CONDITION
status with a sense key of unit attention and ASC/ASCQ values of
0x6E/0x00 (COMMAND TO LOGICAL UNIT FAILED)_. This status is only
meaningful for appropriately handling the internal SCSI state and
SCSI side effects with respect to ordering (e.g., queued commands
and ACA) because this status is never communicated back as a
terminating status to the initiator.

To:
If the tasks terminated in the above cases a), b, c) and d) are SCSI
tasks, they must be internally terminated _as if with CHECK CONDITION
status_.  This status is only
meaningful for appropriately handling the internal SCSI state and
SCSI side effects with respect to ordering (e.g., queued commands
and ACA) because this status is never communicated back as a
terminating status to the initiator.

---
Rob Elliott, HP Industry Standard Server Storage
elliott@hp.com 

-----Original Message-----
From: Eddy Quicksall [mailto:eddy_quicksall@ivivity.com] 
Sent: Thursday, January 09, 2003 2:39 PM
To: dcuddihy@attotech.com; ips@ece.cmu.edu
Subject: RE: iSCSI: Implicit Termination of Tasks


The way I figured it would work is that the UA would get set and would
get reported when the next command arrives.

Consider this:

connection 0 and 1 are all quite
connection 0 has a command x on the wire
connection 0 is lost
the UA is set
command y comes in connection 1
command y gets the UA or ACA Active

That way the upper layer at the initiator can figure out how to recover.

Is this not the idea?

Eddy

-----Original Message-----
From: dcuddihy@attotech.com [mailto:dcuddihy@attotech.com]
Sent: Thursday, January 09, 2003 3:05 PM
To: ips@ece.cmu.edu
Subject: RE: iSCSI: Implicit Termination of Tasks


David,

Regarding Autosense clearing the CA:

The problem that I have with this is that the CA should get cleared when
the sense data is reported, not when the sense data is generated.  In
this case, the autosense cannot be reported (the port is logged out), so
the CA may not be cleared. It doesn't seem to me that generating a sense
data response, even for an interface in which autosense is mandatory,
implicitly clears a CA.

By the way, there was a question of Request Sense commands enqueued when
a termination occurs .. my understanding is that the sense data need not
be saved for a subsequent request sense command if it has been reported
via autosense, so the request sense returns NO_SENSE.

Regarding FCP handling of port logout and ACA:

For us, ACA is a non-issue-- we don't support it, but it should be
cleared only for the initiator which generated the log event.  (ACA
support seems to be a point of contention among SCSI implementers... I
know it's in all the specs, but I have yet to see it implemented.)

Rev 7A of FCP-2 has a nice chart of how task managment is affected via
the various log events.  I'm not why it was removed in rev 8, but "FCP-2
Rev 7A (1/1/2001)" Table 4 might help.

regards,

david




David J Cuddihy
Principal Engineer
ATTO Technology, Inc.
http://www.attotech.com/fcbridge.html
dcuddihy@attotech.com

------------------------------------------------------------------------
----
---------------------


------------------------------------------------------------------------
----
---------------------

David,

> Forgive me for being confused, but what is the reason for the Check 
> Condition being issued?

Good question ...

> Say a target implements a blocking CA, (TST 0 Qerr 0) which would
disallow
> other initiator's tasks from running until the check condition could 
> be reported, or another command from the CA'd initiator completes with

> good status.  An internal, non- reported check-condition would cause 
> all other initiators' tasks to be blocked until  someone times out and

> issues a lun reset to the device, or a command from the first 
> initiator completed (not likely, since that initiator logged out and
all its tasks have been
> terminated ).    All this caused by bad behavior on behalf of one
> initiator.

That shouldn't happen.  iSCSI REQUIRES use of Autosense, which will
immediately clear the CA by generating a response to report the sense.
That response gets bit-bucketed as undeliverable for the implicit
termination scenarios in Section 6.5, but its generation clears the CA.
Not the most obvious thing to do/explain, though ...

> Implicit termination is handled in FCP without the check condition 
> being issued... all the tasks from the 'logged out' initiator are 
> terminated, reservations cleared, etc.  and a UA is generated for that

> initiator. Every other initiator goes along with no problem, including

> those sharing the lun with the initiator who abruptly logged out.  
> Seems to work.

That looks like a cleaner way to accomplish this and avoids some of the
confusion over what ASC/ASCQ values to use.  Does FCP also avoid ACA in
this circumstance (assuming that NACA is set to use ACA), and if so, can
you suggest some specific text for iSCSI?

Thanks,
--David
----------------------------------------------------
David L. Black, Senior Technologist
EMC Corporation, 176 South St., Hopkinton, MA  01748
+1 (508) 293-7953 **NEW**     FAX: +1 (508) 293-7786
black_david@emc.com        Mobile: +1 (978) 394-7754
----------------------------------------------------





------_=_NextPart_001_01C2BBE8.3330FB10
Content-Type: text/html;
	charset="iso-8859-1"

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">


<META content="MSHTML 6.00.2800.1126" name=GENERATOR></HEAD>
<BODY>
<DIV><SPAN class=525131216-14012003><FONT face=Arial color=#0000ff size=2>Yes 
and this is where I've been coming from since I started this thread. 6.5 should 
be changed as Bob pointed out below. I can't tell from your response "This is 
perfectly reasonable" if you are agreeing that Bob's suggestion is reasonable or 
if the current wording is reasonable.</FONT></SPAN></DIV>
<DIV><SPAN class=525131216-14012003><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=525131216-14012003><FONT face=Arial color=#0000ff size=2>Please 
clear that up.</FONT></SPAN></DIV>
<DIV><SPAN class=525131216-14012003><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=525131216-14012003><FONT face=Arial color=#0000ff 
size=2>Eddy</FONT></SPAN></DIV>
<BLOCKQUOTE>
  <DIV class=OutlookMessageHeader dir=ltr align=left><FONT face=Tahoma 
  size=2>-----Original Message-----<BR><B>From:</B> Julian Satran 
  [mailto:Julian_Satran@il.ibm.com]<BR><B>Sent:</B> Tuesday, January 14, 2003 
  10:34 AM<BR><B>To:</B> Eddy_Quicksall@iVivity.com<BR><B>Cc:</B> 
  Black_David@emc.com; dcuddihy@attotech.com; Elliott, Robert (Server Storage); 
  ips@ece.cmu.edu<BR><B>Subject:</B> RE: iSCSI: Implicit Termination of 
  Tasks<BR><BR></FONT></DIV><BR><FONT face=sans-serif size=2>Eddy,</FONT> 
  <BR><BR><FONT face=sans-serif size=2>Setting the UA is a purely SCSI matter 
  and so is the code used. There is no iSCSI state surviving and we assume that 
  the isCSI initiator</FONT> <BR><FONT face=sans-serif size=2>produces some 
  termination code for the SCSI initiator. It is not clear to me than anything 
  besides "ACA active" code is needed.</FONT> <BR><FONT face=sans-serif 
  size=2>If the target messes with command from other initiators (single 
  queue-per-target) &nbsp;those should be ready to accept the consequences of a 
  common queue.</FONT> <BR><FONT face=sans-serif size=2>UA is used (IMHO) mostly 
  in cases of reset - that kill commands in other queues even when the operation 
  is queue-per-initiator.</FONT> <BR><BR><FONT face=sans-serif 
  size=2>Julo</FONT> <BR><BR><BR>
  <TABLE width="100%">
    <TBODY>
    <TR vAlign=top>
      <TD width="40%"><FONT face=sans-serif size=1><B>"Eddy Quicksall" 
        &lt;Eddy_Quicksall@iVivity.com&gt;</B> </FONT>
        <P><FONT face=sans-serif size=1>14/01/03 16:39</FONT> 
        <TABLE border=1>
          <TBODY>
          <TR vAlign=top>
            <TD bgColor=white>
              <DIV align=center><FONT face=sans-serif size=1>Please respond 
              to<BR>&lt;Eddy_Quicksall@iVivity.com&gt;</FONT></DIV></TR></TBODY></TABLE><BR></P>
      <TD width="59%">
        <TABLE width="100%">
          <TBODY>
          <TR>
            <TD>
              <DIV align=right><FONT face=sans-serif size=1>To</FONT></DIV>
            <TD vAlign=top><FONT face=sans-serif size=1>Julian 
              Satran/Haifa/IBM@IBMIL</FONT> 
          <TR>
            <TD>
              <DIV align=right><FONT face=sans-serif size=1>cc</FONT></DIV>
            <TD vAlign=top><FONT face=sans-serif 
              size=1>&lt;Black_David@emc.com&gt;, &lt;dcuddihy@attotech.com&gt;, 
              &lt;ips@ece.cmu.edu&gt;, "Elliott, Robert \(Server Storage\)" 
              &lt;Elliott@hp.com&gt;</FONT> 
          <TR>
            <TD>
              <DIV align=right><FONT face=sans-serif size=1>Subject</FONT></DIV>
            <TD vAlign=top><FONT face=sans-serif size=1>RE: iSCSI: Implicit 
              Termination of Tasks</FONT></TR></TBODY></TABLE><BR>
        <TABLE>
          <TBODY>
          <TR vAlign=top>
            <TD>
            <TD></TR></TBODY></TABLE><BR></TR></TBODY></TABLE><BR><BR><BR><FONT face=Arial 
  color=blue size=2>&gt;&gt;nothing specific has to survive for ACA</FONT> 
  <BR><FONT size=3>&nbsp;</FONT> <BR><FONT face=Arial color=blue size=2>For ACA, 
  doesn't the next command get the UA then the additional commands get ACA 
  Active until ACA is cleared (all assuming NACA, the ACA attribute and QErr are 
  being used appropriately)?</FONT> <BR><FONT size=3>&nbsp;</FONT> <BR><FONT 
  face=Arial color=blue size=2>So, doesn't the UA have to survive?</FONT> 
  <BR><FONT size=3>&nbsp;</FONT> <BR><FONT face=Arial color=blue 
  size=2>Eddy</FONT> <BR><FONT face=Tahoma size=2>-----Original 
  Message-----<B><BR>From:</B> Julian Satran 
  [mailto:Julian_Satran@il.ibm.com]<B><BR>Sent:</B> Tuesday, January 14, 2003 
  3:50 AM<B><BR>To:</B> Elliott, Robert (Server Storage)<B><BR>Cc:</B> 
  Black_David@emc.com; dcuddihy@attotech.com; Eddy Quicksall; 
  ips@ece.cmu.edu<B><BR>Subject:</B> RE: iSCSI: Implicit Termination of 
  Tasks<BR></FONT><BR><FONT face=sans-serif size=2><BR>Rob,</FONT><FONT size=3> 
  <BR></FONT><FONT face=sans-serif size=2><BR>This is perfectly reasonable. 
  <BR>The clearing effects will wipe-out anyhow whatever was specific to the 
  code for session termination</FONT><FONT size=3> </FONT><FONT face=sans-serif 
  size=2><BR>and nothing specific has to survive for ACA.</FONT><FONT size=3> 
  <BR></FONT><FONT face=sans-serif size=2><BR>Regards,</FONT><FONT size=3> 
  </FONT><FONT face=sans-serif size=2><BR>Julo</FONT><FONT size=3> 
  <BR><BR></FONT>
  <TABLE width="100%">
    <TBODY>
    <TR vAlign=top>
      <TD width="27%"><FONT face=sans-serif size=1><B>"Elliott, Robert (Server 
        Storage)" &lt;Elliott@hp.com&gt;</B> </FONT>
        <P><FONT face=sans-serif size=1>14/01/03 09:59</FONT><FONT size=3> 
        </FONT></P>
      <TD width="72%"><BR>
        <TABLE width="100%">
          <TBODY>
          <TR>
            <TD width="13%">
              <DIV align=right><FONT face=sans-serif size=1>To</FONT></DIV>
            <TD vAlign=top width="86%"><FONT face=sans-serif size=1>"Eddy 
              Quicksall" &lt;eddy_quicksall@ivivity.com&gt;, 
              &lt;dcuddihy@attotech.com&gt;, &lt;ips@ece.cmu.edu&gt;, Julian 
              Satran/Haifa/IBM@IBMIL, &lt;Black_David@emc.com&gt;</FONT><FONT 
              size=3> </FONT>
          <TR>
            <TD>
              <DIV align=right><FONT face=sans-serif size=1>cc</FONT></DIV>
            <TD vAlign=top>
          <TR>
            <TD>
              <DIV align=right><FONT face=sans-serif size=1>Subject</FONT></DIV>
            <TD vAlign=top><FONT face=sans-serif size=1>RE: iSCSI: Implicit 
              Termination of Tasks</FONT></TR></TBODY></TABLE><BR><BR>
        <TABLE width="100%">
          <TBODY>
          <TR vAlign=top>
            <TD width="49%">
            <TD width="50%"></TR></TBODY></TABLE><BR></TR></TBODY></TABLE><BR><FONT 
  size=3><BR><BR></FONT><FONT size=2><TT><BR>A few comments on this 
  thread:<BR><BR>* Autosense protocols simply do not have CA. &nbsp;At the T10 
  CAP meeting<BR>this week, Ralph Weber is proposing removing all references to 
  CA from<BR>SAM-3 (see 03-002r2 on http://www.t10.org). &nbsp;As soon as a 
  command<BR>completes, it is assumed that the status and sense data will be 
  returned<BR>together. &nbsp;If they can't be delivered, it doesn't 
  matter.<BR><BR>* the clearing effects table in FCP-2 was removed because it 
  had several<BR>incorrect entries and was missing quite a few additional SCSI 
  items that<BR>are also affected by logouts. &nbsp;T10 proposals 02-143r3 and 
  02-232r2 have<BR>the details and include large tables listing all the 
  considered SCSI<BR>effects. &nbsp;These proposals have been incorporated into 
  the latest SAM-3,<BR>SPC-3, SBC-2, and SSC-2 standards.<BR><BR>* Most 
  protocols don't detail how their hypothetical SCSI layer confirms<BR>the abort 
  of tasks to the protocol layer by specifying a CHECK<BR>CONDITION, much less 
  one with a specific sense key and additional sense<BR>code. &nbsp;This level 
  of detail is internal only and seems irrelevent to the<BR>iSCSI wire protocol. 
  Specifying a "unit attention" sense key could cause<BR>particular confusion, 
  since unit attentions are supposed to be cleared<BR>once reported. 
  &nbsp;<BR><BR>On the iSCSI wire, the goal is to generate a unit attention with 
  an<BR>additional sense code whose ASC field is 29h (e.g. I_T NEXUS LOSS, 
  POWER<BR>ON OCCURRED, etc.) on the next command.<BR><BR>To minimize changes to 
  iSCSI at this point, I recommend changing<BR>the wording like this (changed 
  text noted between _ characters)<BR>so only status is mentioned and it is only 
  mentioned as an example:<BR><BR>If the tasks terminated in the above cases a), 
  b, c) and d)are SCSI<BR>tasks, they must be internally terminated _with CHECK 
  CONDITION<BR>status with a sense key of unit attention and ASC/ASCQ values 
  of<BR>0x6E/0x00 (COMMAND TO LOGICAL UNIT FAILED)_. This status is 
  only<BR>meaningful for appropriately handling the internal SCSI state 
  and<BR>SCSI side effects with respect to ordering (e.g., queued 
  commands<BR>and ACA) because this status is never communicated back as 
  a<BR>terminating status to the initiator.<BR><BR>To:<BR>If the tasks 
  terminated in the above cases a), b, c) and d) are SCSI<BR>tasks, they must be 
  internally terminated _as if with CHECK CONDITION<BR>status_. &nbsp;This 
  status is only<BR>meaningful for appropriately handling the internal SCSI 
  state and<BR>SCSI side effects with respect to ordering (e.g., queued 
  commands<BR>and ACA) because this status is never communicated back as 
  a<BR>terminating status to the initiator.<BR><BR>---<BR>Rob Elliott, HP 
  Industry Standard Server Storage<BR>elliott@hp.com <BR><BR>-----Original 
  Message-----<BR>From: Eddy Quicksall [mailto:eddy_quicksall@ivivity.com] 
  <BR>Sent: Thursday, January 09, 2003 2:39 PM<BR>To: dcuddihy@attotech.com; 
  ips@ece.cmu.edu<BR>Subject: RE: iSCSI: Implicit Termination of 
  Tasks<BR><BR><BR>The way I figured it would work is that the UA would get set 
  and would<BR>get reported when the next command arrives.<BR><BR>Consider 
  this:<BR><BR>connection 0 and 1 are all quite<BR>connection 0 has a command x 
  on the wire<BR>connection 0 is lost<BR>the UA is set<BR>command y comes in 
  connection 1<BR>command y gets the UA or ACA Active<BR><BR>That way the upper 
  layer at the initiator can figure out how to recover.<BR><BR>Is this not the 
  idea?<BR><BR>Eddy<BR><BR>-----Original Message-----<BR>From: 
  dcuddihy@attotech.com [mailto:dcuddihy@attotech.com]<BR>Sent: Thursday, 
  January 09, 2003 3:05 PM<BR>To: ips@ece.cmu.edu<BR>Subject: RE: iSCSI: 
  Implicit Termination of Tasks<BR><BR><BR>David,<BR><BR>Regarding Autosense 
  clearing the CA:<BR><BR>The problem that I have with this is that the CA 
  should get cleared when<BR>the sense data is reported, not when the sense data 
  is generated. &nbsp;In<BR>this case, the autosense cannot be reported (the 
  port is logged out), so<BR>the CA may not be cleared. It doesn't seem to me 
  that generating a sense<BR>data response, even for an interface in which 
  autosense is mandatory,<BR>implicitly clears a CA.<BR><BR>By the way, there 
  was a question of Request Sense commands enqueued when<BR>a termination occurs 
  .. my understanding is that the sense data need not<BR>be saved for a 
  subsequent request sense command if it has been reported<BR>via autosense, so 
  the request sense returns NO_SENSE.<BR><BR>Regarding FCP handling of port 
  logout and ACA:<BR><BR>For us, ACA is a non-issue-- we don't support it, but 
  it should be<BR>cleared only for the initiator which generated the log event. 
  &nbsp;(ACA<BR>support seems to be a point of contention among SCSI 
  implementers... I<BR>know it's in all the specs, but I have yet to see it 
  implemented.)<BR><BR>Rev 7A of FCP-2 has a nice chart of how task managment is 
  affected via<BR>the various log events. &nbsp;I'm not why it was removed in 
  rev 8, but "FCP-2<BR>Rev 7A (1/1/2001)" Table 4 might 
  help.<BR><BR>regards,<BR><BR>david<BR><BR><BR><BR><BR>David J 
  Cuddihy<BR>Principal Engineer<BR>ATTO Technology, 
  Inc.<BR>http://www.attotech.com/fcbridge.html<BR>dcuddihy@attotech.com<BR><BR>------------------------------------------------------------------------<BR>----<BR>---------------------<BR><BR><BR>------------------------------------------------------------------------<BR>----<BR>---------------------<BR><BR>David,<BR><BR>&gt; 
  Forgive me for being confused, but what is the reason for the Check <BR>&gt; 
  Condition being issued?<BR><BR>Good question ...<BR><BR>&gt; Say a target 
  implements a blocking CA, (TST 0 Qerr 0) which would<BR>disallow<BR>&gt; other 
  initiator's tasks from running until the check condition could <BR>&gt; be 
  reported, or another command from the CA'd initiator completes 
  with<BR><BR>&gt; good status. &nbsp;An internal, non- reported check-condition 
  would cause <BR>&gt; all other initiators' tasks to be blocked until 
  &nbsp;someone times out and<BR><BR>&gt; issues a lun reset to the device, or a 
  command from the first <BR>&gt; initiator completed (not likely, since that 
  initiator logged out and<BR>all its tasks have been<BR>&gt; terminated ). 
  &nbsp; &nbsp;All this caused by bad behavior on behalf of one<BR>&gt; 
  initiator.<BR><BR>That shouldn't happen. &nbsp;iSCSI REQUIRES use of 
  Autosense, which will<BR>immediately clear the CA by generating a response to 
  report the sense.<BR>That response gets bit-bucketed as undeliverable for the 
  implicit<BR>termination scenarios in Section 6.5, but its generation clears 
  the CA.<BR>Not the most obvious thing to do/explain, though ...<BR><BR>&gt; 
  Implicit termination is handled in FCP without the check condition <BR>&gt; 
  being issued... all the tasks from the 'logged out' initiator are <BR>&gt; 
  terminated, reservations cleared, etc. &nbsp;and a UA is generated for 
  that<BR><BR>&gt; initiator. Every other initiator goes along with no problem, 
  including<BR><BR>&gt; those sharing the lun with the initiator who abruptly 
  logged out. &nbsp;<BR>&gt; Seems to work.<BR><BR>That looks like a cleaner way 
  to accomplish this and avoids some of the<BR>confusion over what ASC/ASCQ 
  values to use. &nbsp;Does FCP also avoid ACA in<BR>this circumstance (assuming 
  that NACA is set to use ACA), and if so, can<BR>you suggest some specific text 
  for 
  iSCSI?<BR><BR>Thanks,<BR>--David<BR>----------------------------------------------------<BR>David 
  L. Black, Senior Technologist<BR>EMC Corporation, 176 South St., Hopkinton, MA 
  &nbsp;01748<BR>+1 (508) 293-7953 **NEW** &nbsp; &nbsp; FAX: +1 (508) 
  293-7786<BR>black_david@emc.com &nbsp; &nbsp; &nbsp; &nbsp;Mobile: +1 (978) 
  394-7754<BR>----------------------------------------------------<BR></TT></FONT><FONT 
  size=3><BR></FONT><BR></BLOCKQUOTE></BODY></HTML>

------_=_NextPart_001_01C2BBE8.3330FB10--
