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 h08GrAm17080
	for ips-outgoing; Wed, 8 Jan 2003 11:53:10 -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 h08Gr4W17069;
	Wed, 8 Jan 2003 11:53:04 -0500 (EST)
Received: by ATLOPS with Internet Mail Service (5.5.2653.19)
	id <Y12VHPC3>; Wed, 8 Jan 2003 11:53:03 -0500
Message-ID: <AEC4671C8179D61194DE0002B328BDD20AE6@ATLOPS>
From: Eddy Quicksall <eddy_quicksall@ivivity.com>
To: Julian Satran <Julian_Satran@il.ibm.com>,
   "David J. Brown"
	 <david.brown@trebia.com>
Cc: Black_David@emc.com, ips@ece.cmu.edu, owner-ips@ece.cmu.edu
Subject: RE: iSCSI: Implicit Termination of Tasks
Date: Wed, 8 Jan 2003 11:53:03 -0500 
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.5.2653.19)
Content-Type: multipart/alternative;
	boundary="----_=_NextPart_001_01C2B736.688FB280"
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_01C2B736.688FB280
Content-Type: text/plain;
	charset="iso-8859-1"

The "with respect to ordering" should probably be removed as it may be
misleading to some cases not yet thought of.
 
Eddy

-----Original Message-----
From: Julian Satran [mailto:Julian_Satran@il.ibm.com]
Sent: Wednesday, January 08, 2003 10:55 AM
To: David J. Brown
Cc: Black_David@emc.com; ips@ece.cmu.edu; owner-ips@ece.cmu.edu
Subject: RE: iSCSI: Implicit Termination of Tasks



oops - thanks - Julo 



"David J. Brown" <david.brown@trebia.com> 


08/01/03 17:04 


To
Julian Satran/Haifa/IBM@IBMIL, Black_David@emc.com 

cc
ips@ece.cmu.edu, owner-ips@ece.cmu.edu 

Subject
RE: iSCSI: Implicit Termination of Tasks

	




Minor nit:  Please change "active tasks in three cases" to "active tasks in
four cases". 
  
dj 
-----Original Message-----
From: Julian Satran [mailto:Julian_Satran@il.ibm.com]
Sent: Wednesday, January 08, 2003 1:59 AM
To: Black_David@emc.com
Cc: david.brown@trebia.com; ips@ece.cmu.edu; owner-ips@ece.cmu.edu
Subject: RE: iSCSI: Implicit Termination of Tasks


How about the following text: 

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. 

Please pay attention to the fact that the statement about the status not
being returned is unchanged. 

10.14.5 now reads also: 

Implicit termination of tasks 

A target implicitly terminates the active tasks in three cases due to iSCSI
protocol: 

When a connection is implicitly or explicitly logged out with the reason
code of "Close the connection" and there are active tasks allegiant to that
connection. 
               
When a connection fails and eventually the connection state times out (state
transition M1 in Section 7.2.2 State Transition Descriptions for Initiators
and Targets) and there are active tasks allegiant to that connection. 
               
When a successful recovery Logout is performed while there are active tasks
allegiant to that connection, and those tasks eventually time out after the
Time2Wait and Time2Retain periods without allegiance reassignment. 
               
When a connection is implicitly or explicitly logged out with the reason
code of "Close the session" and there are active tasks in that session. 
               

If the tasks terminated in any of the above cases 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. 

Julo 





Black_David@emc.com 
Sent by: owner-ips@ece.cmu.edu 


08/01/03 03:57 




To
david.brown@trebia.com, ips@ece.cmu.edu 

cc

Subject
RE: iSCSI: Implicit Termination of Tasks


	





Folks,

We need to drive this issue to closure.  The gory details of the
cross-initiator effects of task termination with CHECK CONDITION
are summarized in Table 25 of Section 5.9.1.2 of SAM-2, and the
next four subsections describe how this affects new tasks.  As
David Brown pointed out, the important behavior to note is that
when TST is 0, any such termination affects *all* tasks regardless
of initiator, and if it results in an ACA, that affects
*all* existing and new tasks until the ACA cleared.  FWIW, iSCSI's
requirement that autosense MUST be used eliminates the possibility
of a new task being created while CA is in effect as the CA is
immediately cleared by autosense.

Given this, especially its ACA aspects, and the fact that iSCSI needs
to support ACA, the distinction currently made in Section 6.5 between
connection closure and session closure seems wrong - I'm inclined
to agree with David Brown and Eddy Quicksall that all four cases
in Section 6.5 need to implicitly terminate the tasks with CHECK
CONDITION for consistency, and I also think that David Brown's
add text observing that there may be cross-initiator side effects
depending on how CA and ACA are handled is reasonable, but I would
limit it to about what I just wrote plus advice to consult SAM-2.

Anyone want to disagree?

Thanks,
--David


> I don't understand why the generation of CHECK CONDITIONs is immaterial
when
> a session is closed.  When a check condition generates a CA or ACA, it can
> affect tasks from other initiators, too.  Look at the TST and QErr bits in
> the Control mode page.
> 
> If the TST bit, in the Control mode page, is zero and the QErr data field,
> in the same mode page, contains 01b, then a check condition causes all
tasks
> from all initiators to be aborted.
> 
> If TST is zero and QErr is not 01b, then all tasks from other initiators
are
> temporarily blocked by a CA or ACA.  The situation in which an ACA was
> generated and the session was closed is particularly problematic, because
> the initiator that caused the ACA is gone.  One of the other initiators
> would need to reset the unit, or send a PERSISTENT RESERVE OUT, to clear
the
> ACA.
> 
> It wouldn't have done any harm to make the last paragraph of 6.5 apply to
> clause (d), namely session closure.  It certainly would have been helped
if
> the paragraph referred to CA and ACA explicitly.  Such a statement would
> have made clear the underlying assumption, namely that a check condition
> never affects other initiators, as long as the target 
> implements autosense.
> 
> Bottom line: If I understand the SAM and SPC specs correctly, the current
> draft of the iSCSI spec is incorrect.  Clause (d) of 6.5 should cause the
> tasks to be terminated with a check condition, just like clauses (a), (b),
> and (c).  The check condition is visible externally in two situations:
> 
> 1.  Closing a session will cause tasks from other sessions to be aborted,
if
> QErr contains 01b and TST contains 0.
> 2.  Closing a session will cause tasks from other sessions to be blocked,
if
> QErr contains 00b (or 011b) and TST contains 0 and any of the terminated
> commands had the NACA bit set.
> 
> dj
> 
> 
> -----Original Message-----
> From: Eddy Quicksall [mailto:Eddy_Quicksall@ivivity.com]
> Sent: Tuesday, January 07, 2003 8:52 AM
> To: 'Mallikarjun C.'; ips@ece.cmu.edu
> Subject: RE: iSCSI: Implicit Termination of Tasks
> 
> 
> If it never makes it back to the initiator, then it is an 
> implementation
> issue. As long as the target maintains all ordering 
> requirements (iSCSI out
> of order commands and SCSI queued commands), all should be 
> well and there
> would be no requirement imposed in the spec to implement this.
> 
> If would be better to have just given the paragraph below as an
> implementation note. As long as we all understand what your 
> intent was, then
> we should be OK (and you have now explained that).
> 
> Thanks
> 
> Eddy
> 
> -----Original Message-----
> From: Mallikarjun C. [mailto:cbm@rose.hp.com]
> Sent: Monday, January 06, 2003 9:15 PM
> To: Eddy_Quicksall@iVivity.com; ips@ece.cmu.edu
> Subject: Re: iSCSI: Implicit Termination of Tasks
> 
> 
> Eddy,
> 
> iSCSI's design goal was to ensure command ordering
> even in the face of errors - ultimately, we wanted the SCSI
> execution ordering to be correct while running on iSCSI.
> This should be able to be guaranteed by the iSCSI targets,
> while initiators may/may not employ command ordering.
> 
> For this to happen, iSCSI must both maintain its delivery
> ordering, and require SCSI CHECK CONDITIONs to
> be locally triggered on the target on iSCSI exception
> conditions such as connection terminations.  The CHECK
> CONDITION would then cause the ACA/persistent-UA to
> be invoked if so desired by the initiator.
> 
> This is not "a method of implementing", it's required behavior
> to meet iSCSI's architectural guarantee of command ordering.
> --
> Mallikarjun
> 
> Mallikarjun Chadalapaka
> Networked Storage Architecture
> Network Storage Solutions
> Hewlett-Packard MS 5668
> Roseville CA 95747
> cbm@rose.hp.com
> 
> 
> ----- Original Message -----
> From: "Eddy Quicksall" <Eddy_Quicksall@iVivity.com>
> To: "'Mallikarjun C.'" <cbm@rose.hp.com>; <ips@ece.cmu.edu>
> Sent: Monday, January 06, 2003 12:46 PM
> Subject: RE: iSCSI: Implicit Termination of Tasks
> 
> 
> > Yes, I noticed my typo of "two" vs. "three" but too late.
> >
> > Below you say that the ordering is iSCSI ordering but section 6.5 is
> saying
> > SCSI ordering (queued commands is SCSI). So, that leaves me a little
> > confused as to what this paragraph is trying to say, especially when
> the
> > "status is never communicated back ... to the initiator".
> >
> > I'm probably mis-understanding something. It appears as 
> though this is
> just
> > a method of implementing within the target.
> >
> > Eddy
> >
> > -----Original Message-----
> > From: Mallikarjun C. [mailto:cbm@rose.hp.com]
> > Sent: Monday, January 06, 2003 3:12 PM
> > To: Eddy_Quicksall@ivivity.com; ips@ece.cmu.edu
> > Subject: Re: iSCSI: Implicit Termination of Tasks
> >
> >
> > Comments below.
> > --
> > Mallikarjun
> >
> > Mallikarjun Chadalapaka
> > Networked Storage Architecture
> > Network Storage Solutions
> > Hewlett-Packard MS 5668
> > Roseville CA 95747
> > cbm@rose.hp.com
> >
> > ----- Original Message -----
> > From: "Eddy Quicksall" <Eddy_Quicksall@ivivity.com>
> > To: <ips@ece.cmu.edu>
> > Sent: Monday, January 06, 2003 5:16 AM
> > Subject: iSCSI: Implicit Termination of Tasks
> >
> >
> > > There are two sections titled Implicit Termination of 
> Tasks but they
> > are
> > > slightly different. Which is correct?
> >
> > Both are correct and consistent.
> >
> > >
> > > Section 6.5 lists 4 items but section 10.14.5 only lists two.
> >
> > I'm seeing three in 10.14.5.....
> >
> > Even though 6.5 lists all the four cases, it makes it clear that the
> > check condition is to be employed only for three cases - and
> > only those three are listed by 10.14.5.  Perhaps the text could have
> > been a little bit more explicit about this distinction.
> >
> > >
> > > If 6.5 is correct, why is item D not included in the unit 
> attention?
> > SAM-3
> > > says:
> >
> > It's not so much a SAM issue.  The issue we considered was how to
> ensure
> > iSCSI-standard ordered delivery of commands in the face of errors.
> The
> > ordered delivery of commands does not make sense for case (d) - that
> of
> > creating a new session - ordering is not guaranteed anyway across
> > sessions.
> >
> >
> 




------_=_NextPart_001_01C2B736.688FB280
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=108155216-08012003><FONT face=Arial color=#0000ff size=2>The 
"with respect to ordering" should probably be removed as it may be misleading to 
some cases not yet thought of.</FONT></SPAN></DIV>
<DIV><SPAN class=108155216-08012003><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=108155216-08012003><FONT face=Arial color=#0000ff 
size=2>Eddy</FONT></SPAN></DIV>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
  <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> Wednesday, January 08, 2003 
  10:55 AM<BR><B>To:</B> David J. Brown<BR><B>Cc:</B> Black_David@emc.com; 
  ips@ece.cmu.edu; owner-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>oops 
  - thanks - Julo</FONT> <BR><BR><BR>
  <TABLE width="100%">
    <TBODY>
    <TR vAlign=top>
      <TD width="40%"><FONT face=sans-serif size=1><B>"David J. Brown" 
        &lt;david.brown@trebia.com&gt;</B> </FONT>
        <P><FONT face=sans-serif size=1>08/01/03 17:04</FONT> </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, Black_David@emc.com</FONT> 
          <TR>
            <TD>
              <DIV align=right><FONT face=sans-serif size=1>cc</FONT></DIV>
            <TD vAlign=top><FONT face=sans-serif size=1>ips@ece.cmu.edu, 
              owner-ips@ece.cmu.edu</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>Minor nit: &nbsp;Please change "active tasks in three cases" 
  to "active tasks in four cases".</FONT> <BR><FONT size=3>&nbsp;</FONT> 
  <BR><FONT face=Arial color=blue size=2>dj</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> Wednesday, January 08, 2003 
  1:59 AM<B><BR>To:</B> Black_David@emc.com<B><BR>Cc:</B> 
  david.brown@trebia.com; ips@ece.cmu.edu; 
  owner-ips@ece.cmu.edu<B><BR>Subject:</B> RE: iSCSI: Implicit Termination of 
  Tasks<BR></FONT><BR><FONT face=sans-serif size=2><BR>How about the following 
  text:</FONT><FONT size=3> <BR></FONT><FONT face="Courier New" size=3><BR>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). &nbsp;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. </FONT><FONT size=3><BR></FONT><FONT 
  face=sans-serif size=2><BR>Please pay attention to the fact that the statement 
  about the status not being returned is unchanged.</FONT><FONT size=3> 
  <BR></FONT><FONT face=sans-serif size=2><BR>10.14.5 now reads 
  also:</FONT><FONT size=3> <BR></FONT><FONT face="Courier New" 
  size=3><BR>Implicit termination of tasks</FONT><FONT size=3> </FONT>
  <P><FONT face="Courier New" size=3>A target implicitly terminates the active 
  tasks in three cases due to iSCSI protocol:</FONT><FONT size=3> 
  <BR></FONT><FONT face="Courier New" size=3><BR>When a connection is implicitly 
  or explicitly logged out with the reason code of "Close the connection" and 
  there are active tasks allegiant to that connection.</FONT><FONT size=3> 
  </FONT><FONT face="Courier New" size=3><BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
  &nbsp; &nbsp; &nbsp;<BR>When a connection fails and eventually the connection 
  state times out (state transition M1 in Section 7.2.2 State Transition 
  Descriptions for Initiators and Targets) and there are active tasks allegiant 
  to that connection.</FONT><FONT size=3> </FONT><FONT face="Courier New" 
  size=3><BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<BR>When a 
  successful recovery Logout is performed while there are active tasks allegiant 
  to that connection, and those tasks eventually time out after the Time2Wait 
  and Time2Retain periods without allegiance reassignment.</FONT><FONT size=3> 
  </FONT><FONT face="Courier New" size=3><BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
  &nbsp; &nbsp; &nbsp;<BR>When a connection is implicitly or explicitly logged 
  out with the reason code of "Close the session" and there are active tasks in 
  that session.</FONT><FONT size=3> </FONT><FONT face="Courier New" 
  size=3><BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</FONT><FONT 
  size=3><BR></FONT><FONT face="Courier New" size=3><BR>If the tasks terminated 
  in any of the above cases 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). &nbsp;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. </FONT><FONT size=3><BR></FONT><FONT face=sans-serif 
  size=2><BR>Julo</FONT><FONT size=3> <BR><BR><BR><BR></FONT>
  <TABLE width="100%">
    <TBODY>
    <TR vAlign=top>
      <TD width="39%"><FONT face=sans-serif size=1><B>Black_David@emc.com</B> 
        <BR>Sent by: owner-ips@ece.cmu.edu</FONT><FONT size=3> </FONT>
        <P><FONT face=sans-serif size=1>08/01/03 03:57</FONT><FONT size=3> 
        </FONT></P>
      <TD width="60%"><BR>
        <TABLE width="100%">
          <TBODY>
          <TR>
            <TD width="15%">
              <DIV align=right><FONT face=sans-serif size=1>To</FONT></DIV>
            <TD vAlign=top width="84%"><FONT face=sans-serif 
              size=1>david.brown@trebia.com, ips@ece.cmu.edu</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>Folks,<BR><BR>We need to drive this 
  issue to closure. &nbsp;The gory details of the<BR>cross-initiator effects of 
  task termination with CHECK CONDITION<BR>are summarized in Table 25 of Section 
  5.9.1.2 of SAM-2, and the<BR>next four subsections describe how this affects 
  new tasks. &nbsp;As<BR>David Brown pointed out, the important behavior to note 
  is that<BR>when TST is 0, any such termination affects *all* tasks 
  regardless<BR>of initiator, and if it results in an ACA, that affects<BR>*all* 
  existing and new tasks until the ACA cleared. &nbsp;FWIW, 
  iSCSI's<BR>requirement that autosense MUST be used eliminates the 
  possibility<BR>of a new task being created while CA is in effect as the CA 
  is<BR>immediately cleared by autosense.<BR><BR>Given this, especially its ACA 
  aspects, and the fact that iSCSI needs<BR>to support ACA, the distinction 
  currently made in Section 6.5 between<BR>connection closure and session 
  closure seems wrong - I'm inclined<BR>to agree with David Brown and Eddy 
  Quicksall that all four cases<BR>in Section 6.5 need to implicitly terminate 
  the tasks with CHECK<BR>CONDITION for consistency, and I also think that David 
  Brown's<BR>add text observing that there may be cross-initiator side 
  effects<BR>depending on how CA and ACA are handled is reasonable, but I 
  would<BR>limit it to about what I just wrote plus advice to consult 
  SAM-2.<BR><BR>Anyone want to 
  disagree?<BR><BR>Thanks,<BR>--David<BR><BR><BR>&gt; I don't understand why the 
  generation of CHECK CONDITIONs is immaterial<BR>when<BR>&gt; a session is 
  closed. &nbsp;When a check condition generates a CA or ACA, it can<BR>&gt; 
  affect tasks from other initiators, too. &nbsp;Look at the TST and QErr bits 
  in<BR>&gt; the Control mode page.<BR>&gt; <BR>&gt; If the TST bit, in the 
  Control mode page, is zero and the QErr data field,<BR>&gt; in the same mode 
  page, contains 01b, then a check condition causes all<BR>tasks<BR>&gt; from 
  all initiators to be aborted.<BR>&gt; <BR>&gt; If TST is zero and QErr is not 
  01b, then all tasks from other initiators<BR>are<BR>&gt; temporarily blocked 
  by a CA or ACA. &nbsp;The situation in which an ACA was<BR>&gt; generated and 
  the session was closed is particularly problematic, because<BR>&gt; the 
  initiator that caused the ACA is gone. &nbsp;One of the other 
  initiators<BR>&gt; would need to reset the unit, or send a PERSISTENT RESERVE 
  OUT, to clear<BR>the<BR>&gt; ACA.<BR>&gt; <BR>&gt; It wouldn't have done any 
  harm to make the last paragraph of 6.5 apply to<BR>&gt; clause (d), namely 
  session closure. &nbsp;It certainly would have been helped<BR>if<BR>&gt; the 
  paragraph referred to CA and ACA explicitly. &nbsp;Such a statement 
  would<BR>&gt; have made clear the underlying assumption, namely that a check 
  condition<BR>&gt; never affects other initiators, as long as the target 
  <BR>&gt; implements autosense.<BR>&gt; <BR>&gt; Bottom line: If I understand 
  the SAM and SPC specs correctly, the current<BR>&gt; draft of the iSCSI spec 
  is incorrect. &nbsp;Clause (d) of 6.5 should cause the<BR>&gt; tasks to be 
  terminated with a check condition, just like clauses (a), (b),<BR>&gt; and 
  (c). &nbsp;The check condition is visible externally in two 
  situations:<BR>&gt; <BR>&gt; 1. &nbsp;Closing a session will cause tasks from 
  other sessions to be aborted,<BR>if<BR>&gt; QErr contains 01b and TST contains 
  0.<BR>&gt; 2. &nbsp;Closing a session will cause tasks from other sessions to 
  be blocked,<BR>if<BR>&gt; QErr contains 00b (or 011b) and TST contains 0 and 
  any of the terminated<BR>&gt; commands had the NACA bit set.<BR>&gt; <BR>&gt; 
  dj<BR>&gt; <BR>&gt; <BR>&gt; -----Original Message-----<BR>&gt; From: Eddy 
  Quicksall [mailto:Eddy_Quicksall@ivivity.com]<BR>&gt; Sent: Tuesday, January 
  07, 2003 8:52 AM<BR>&gt; To: 'Mallikarjun C.'; ips@ece.cmu.edu<BR>&gt; 
  Subject: RE: iSCSI: Implicit Termination of Tasks<BR>&gt; <BR>&gt; <BR>&gt; If 
  it never makes it back to the initiator, then it is an <BR>&gt; 
  implementation<BR>&gt; issue. As long as the target maintains all ordering 
  <BR>&gt; requirements (iSCSI out<BR>&gt; of order commands and SCSI queued 
  commands), all should be <BR>&gt; well and there<BR>&gt; would be no 
  requirement imposed in the spec to implement this.<BR>&gt; <BR>&gt; If would 
  be better to have just given the paragraph below as an<BR>&gt; implementation 
  note. As long as we all understand what your <BR>&gt; intent was, then<BR>&gt; 
  we should be OK (and you have now explained that).<BR>&gt; <BR>&gt; 
  Thanks<BR>&gt; <BR>&gt; Eddy<BR>&gt; <BR>&gt; -----Original 
  Message-----<BR>&gt; From: Mallikarjun C. [mailto:cbm@rose.hp.com]<BR>&gt; 
  Sent: Monday, January 06, 2003 9:15 PM<BR>&gt; To: Eddy_Quicksall@iVivity.com; 
  ips@ece.cmu.edu<BR>&gt; Subject: Re: iSCSI: Implicit Termination of 
  Tasks<BR>&gt; <BR>&gt; <BR>&gt; Eddy,<BR>&gt; <BR>&gt; iSCSI's design goal was 
  to ensure command ordering<BR>&gt; even in the face of errors - ultimately, we 
  wanted the SCSI<BR>&gt; execution ordering to be correct while running on 
  iSCSI.<BR>&gt; This should be able to be guaranteed by the iSCSI 
  targets,<BR>&gt; while initiators may/may not employ command ordering.<BR>&gt; 
  <BR>&gt; For this to happen, iSCSI must both maintain its delivery<BR>&gt; 
  ordering, and require SCSI CHECK CONDITIONs to<BR>&gt; be locally triggered on 
  the target on iSCSI exception<BR>&gt; conditions such as connection 
  terminations. &nbsp;The CHECK<BR>&gt; CONDITION would then cause the 
  ACA/persistent-UA to<BR>&gt; be invoked if so desired by the 
  initiator.<BR>&gt; <BR>&gt; This is not "a method of implementing", it's 
  required behavior<BR>&gt; to meet iSCSI's architectural guarantee of command 
  ordering.<BR>&gt; --<BR>&gt; Mallikarjun<BR>&gt; <BR>&gt; Mallikarjun 
  Chadalapaka<BR>&gt; Networked Storage Architecture<BR>&gt; Network Storage 
  Solutions<BR>&gt; Hewlett-Packard MS 5668<BR>&gt; Roseville CA 95747<BR>&gt; 
  cbm@rose.hp.com<BR>&gt; <BR>&gt; <BR>&gt; ----- Original Message -----<BR>&gt; 
  From: "Eddy Quicksall" &lt;Eddy_Quicksall@iVivity.com&gt;<BR>&gt; To: 
  "'Mallikarjun C.'" &lt;cbm@rose.hp.com&gt;; &lt;ips@ece.cmu.edu&gt;<BR>&gt; 
  Sent: Monday, January 06, 2003 12:46 PM<BR>&gt; Subject: RE: iSCSI: Implicit 
  Termination of Tasks<BR>&gt; <BR>&gt; <BR>&gt; &gt; Yes, I noticed my typo of 
  "two" vs. "three" but too late.<BR>&gt; &gt;<BR>&gt; &gt; Below you say that 
  the ordering is iSCSI ordering but section 6.5 is<BR>&gt; saying<BR>&gt; &gt; 
  SCSI ordering (queued commands is SCSI). So, that leaves me a little<BR>&gt; 
  &gt; confused as to what this paragraph is trying to say, especially 
  when<BR>&gt; the<BR>&gt; &gt; "status is never communicated back ... to the 
  initiator".<BR>&gt; &gt;<BR>&gt; &gt; I'm probably mis-understanding 
  something. It appears as <BR>&gt; though this is<BR>&gt; just<BR>&gt; &gt; a 
  method of implementing within the target.<BR>&gt; &gt;<BR>&gt; &gt; 
  Eddy<BR>&gt; &gt;<BR>&gt; &gt; -----Original Message-----<BR>&gt; &gt; From: 
  Mallikarjun C. [mailto:cbm@rose.hp.com]<BR>&gt; &gt; Sent: Monday, January 06, 
  2003 3:12 PM<BR>&gt; &gt; To: Eddy_Quicksall@ivivity.com; 
  ips@ece.cmu.edu<BR>&gt; &gt; Subject: Re: iSCSI: Implicit Termination of 
  Tasks<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt; &gt; Comments below.<BR>&gt; &gt; 
  --<BR>&gt; &gt; Mallikarjun<BR>&gt; &gt;<BR>&gt; &gt; Mallikarjun 
  Chadalapaka<BR>&gt; &gt; Networked Storage Architecture<BR>&gt; &gt; Network 
  Storage Solutions<BR>&gt; &gt; Hewlett-Packard MS 5668<BR>&gt; &gt; Roseville 
  CA 95747<BR>&gt; &gt; cbm@rose.hp.com<BR>&gt; &gt;<BR>&gt; &gt; ----- Original 
  Message -----<BR>&gt; &gt; From: "Eddy Quicksall" 
  &lt;Eddy_Quicksall@ivivity.com&gt;<BR>&gt; &gt; To: 
  &lt;ips@ece.cmu.edu&gt;<BR>&gt; &gt; Sent: Monday, January 06, 2003 5:16 
  AM<BR>&gt; &gt; Subject: iSCSI: Implicit Termination of Tasks<BR>&gt; 
  &gt;<BR>&gt; &gt;<BR>&gt; &gt; &gt; There are two sections titled Implicit 
  Termination of <BR>&gt; Tasks but they<BR>&gt; &gt; are<BR>&gt; &gt; &gt; 
  slightly different. Which is correct?<BR>&gt; &gt;<BR>&gt; &gt; Both are 
  correct and consistent.<BR>&gt; &gt;<BR>&gt; &gt; &gt;<BR>&gt; &gt; &gt; 
  Section 6.5 lists 4 items but section 10.14.5 only lists two.<BR>&gt; 
  &gt;<BR>&gt; &gt; I'm seeing three in 10.14.5.....<BR>&gt; &gt;<BR>&gt; &gt; 
  Even though 6.5 lists all the four cases, it makes it clear that the<BR>&gt; 
  &gt; check condition is to be employed only for three cases - and<BR>&gt; &gt; 
  only those three are listed by 10.14.5. &nbsp;Perhaps the text could 
  have<BR>&gt; &gt; been a little bit more explicit about this 
  distinction.<BR>&gt; &gt;<BR>&gt; &gt; &gt;<BR>&gt; &gt; &gt; If 6.5 is 
  correct, why is item D not included in the unit <BR>&gt; attention?<BR>&gt; 
  &gt; SAM-3<BR>&gt; &gt; &gt; says:<BR>&gt; &gt;<BR>&gt; &gt; It's not so much 
  a SAM issue. &nbsp;The issue we considered was how to<BR>&gt; ensure<BR>&gt; 
  &gt; iSCSI-standard ordered delivery of commands in the face of 
  errors.<BR>&gt; The<BR>&gt; &gt; ordered delivery of commands does not make 
  sense for case (d) - that<BR>&gt; of<BR>&gt; &gt; creating a new session - 
  ordering is not guaranteed anyway across<BR>&gt; &gt; sessions.<BR>&gt; 
  &gt;<BR>&gt; &gt;<BR>&gt; </TT></FONT><FONT 
size=3><BR></FONT><BR></P></BLOCKQUOTE></BODY></HTML>

------_=_NextPart_001_01C2B736.688FB280--
