Subject: iSCSI : Bridging missing CmdSNs and Abort I/O Error recovery

From: Santosh Rao <[email-masked]>
Date: Thu, 25 Jan 2001 11:38:04 -0800

Julian & All,

The draft is currently lacking a section that addresses abort I/O error
recovery. Specifically, how is CmdSN bridging issues to be handled in
the case where an initiator chooses not to retry an I/O [that failed on
a connection failure that affects the delivery of the command to the
target or a digest error at the target] because its ULP timer may have
expired.

In such cases, the initiator can send an Abort Task to inform the target
that the I.T.T is being aborted and its corresponding CmdSN can be
bridged, instead of having the target stall infinitely in its attempt to
enforce ordering and await the missing CmdSN [which is'nt going to
arrive, because the initiator did not retry the command].

Regards,
Santosh

---

From: Matt Wakeley <[email-masked]>
Date: Thu, 25 Jan 2001 11:49:55 -0800

The target iSCSI is the only entity that has knowledge of CmdSN.  When it
receives a commands, it delivers them to the SCSI layer in CmdSN order (with
the CmdSN stripped off).  iSCSI does not handle the abort commands.

If an I/O times out (because of a connection failure) and is aborted by the
upper level driver such that it is dequeued from the iSCSI driver (and
therefore cannot be retransmitted on a new connection), then the iSCSI driver
can simply send a NOP command in it's place.

-Matt

---

From: Santosh Rao <[email-masked]>
Date: Thu, 25 Jan 2001 12:08:12 -0800

> the CmdSN stripped off).  iSCSI does not handle the abort commands.

The Abort Task should also involve some functionality in the iSCSI layer, which
is to invalidate and clean up the iSCSI resources for that task (?)

- Santosh

---

From: Matt Wakeley <[email-masked]>
Date: Thu, 25 Jan 2001 12:32:22 -0800

No, that would require iSCSI to interpret iSCSI commands.  There is nothing at
the target iSCSI to clean up (except the "hole" in the command stream).

The target iSCSI receives iSCSI commands and sends them to the SCSI layer,
what is there to clean up?

-Matt

---

From: Matt Wakeley <[email-masked]>
Date: Thu, 25 Jan 2001 13:57:55 -0800

Santosh Rao wrote:
> 
> Matt,
> 
> Surely, an active task at a target involves some resources allocated by
> the iSCSI layer firmware on the target !
> 
> Are you saying that target firmware at the SCSI Transport protocol
> layer (FC, pSCSI, iSCSI) do NOT allocate ANY resources
> (like in per-task data structures ) to execute a  task, and thereby,
> have no clean up to perform ??

Such as what?  iSCSI just hands the CDB to the SCSI layer.  After the SCSI
layer decodes the CDB it then communicates to the iSCSI layer what resources
(if any) need to be allocated to handle the command.

-Matt

---

From: Santosh Rao <[email-masked]>
Date: Thu, 25 Jan 2001 13:27:25 -0800

Matt,

- Santosh

---

From: Laxmiprasad Nandipati <[email-masked]>
Date: Thu, 25 Jan 2001 13:55:10 -0800

Hello all,

 I'm very new to iSCSI.
 Pls let me know where,  i get the latest release (draft) version
 of the iSCSI spec.

 Thanx
 Prasad.