 
| 
 | 
 [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: iSCSI abort task - the saga continues
No - Julo
"BURBRIDGE,MATTHEW (HP-UnitedKingdom,ex2)" <matthew_burbridge@hp.com>
@ece.cmu.edu on 06-09-2001 09:31:28
Please respond to "BURBRIDGE,MATTHEW (HP-UnitedKingdom,ex2)"
      <matthew_burbridge@hp.com>
Sent by:  owner-ips@ece.cmu.edu
To:   ips@ece.cmu.edu
cc:
Subject:  RE: iSCSI abort task - the saga continues
Hi Julian and Sandeep,
Is section 8.4 still value for Abort task Set, Clear Task Set etc?
Cheers
Matthew
-----Original Message-----
From: Sandeep Joshi [mailto:sandeepj@research.bell-labs.com]
Sent: Tuesday, September 04, 2001 1:42 AM
To: Julian Satran
Cc: ips@ece.cmu.edu
Subject: Re: iSCSI abort task - the saga continues
Julian,
Great..less complexity!
a) I guess this eliminates Sec 8.3 & Sec 8.4 then ?
   Is there a need to eliminate unrelated commands which
   are lower than the cmdSN of the task to be aborted ?
  >    For all the tasks covered by the task management response (i.e.,
with
  >    CmdSN not higher than the task management command CmdSN),
additional
  >    responses MUST NOT be delivered to the SCSI layer after the task
  >    management response.
b) What is the value in retaining refCmdSN in the PDU now
   that the same connection is being used for abort task ?
   Even in case of failing connections, the ITT will be used
   by the target to determine if the task to be aborted
   exists, correct?
-Sandeep
Julian Satran wrote:
>
> Dear colleagues,
>
> Here is a simpler version of the Task Management Request & Response.
>
> Abort task is processed only at target but the initiator issues it only
on
> the same connection (as Santosh Rao once proposed) with the added
semantic
> that if the connection is failing it can be issued on a new connection
and
> it means both abort and change allegiance. Here is the proposed text:
>
> 1.1  Task Management Function Request
>
>    Byte /    0       |       1       |       2       |       3       |
>       /              |               |               |               |
>      |7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|
>      +---------------+---------------+---------------+---------------+
>     0|X|I| x02       |0| Function    | Reserved                      |
>      +---------------+---------------+---------------+---------------+
>     4| Reserved                                                      |
>      +---------------+---------------+---------------+---------------+
>     8| Logical Unit Number (LUN) or Reserved                         |
>      +                                                               +
>    12|                                                               |
>      +---------------+---------------+---------------+---------------+
>    16| Initiator Task Tag                                            |
>      +---------------+---------------+---------------+---------------+
>    20| Referenced Task Tag or 0xffffffff                             |
>      +---------------+---------------+---------------+---------------+
>    24| CmdSN                                                         |
>      +---------------+---------------+---------------+---------------+
>    28| ExpStatSN                                        |
>      +---------------+---------------+---------------+---------------+
>    32| RefCmdSN or ExpDataSN                                         |
>      +---------------+---------------+---------------+---------------+
>    36/ Reserved                                                      /
>     +/                                                               /
>      +---------------+---------------+---------------+---------------+
>    48
>
> 1.1.1     Function
>
>    The Task Management functions provide an initiator with a way to
>    explicitly control the execution of one or more Tasks (SCSI and iSCSI
>    tasks). The Task Management functions are (for a more detailed
>    description of SCSI task management see [SAM2]):
>
>       1    ABORT TASK - aborts the task identified by the Referenced
>       Task Tag field.
>       2    ABORT TASK SET - aborts all Tasks issued by this initiator on
>       the Logical Unit.
>       3    CLEAR ACA - clears the Auto Contingent Allegiance condition.
>       4    CLEAR TASK SET - Aborts all Tasks (from all initiators) for
the
>       Logical Unit.
>       5    LOGICAL UNIT RESET
>       6    TARGET WARM RESET
> 7    TARGET COLD RESET
> 8    TASK RESUME - restart the task identified by the Referenced Task Tag
> field on this connection
> 9    TASK REPLAY - replay the task identified by the Referenced Task Tag
> field on this connection
>
>    For all these functions, if executed, the Task Management Function
>    Response MUST be returned using the Initiator Task Tag to identify the
>    operation for which it is responding. All those functions apply to the
>    referenced tasks regardless if they are proper SCSI tasks or tagged
>    iSCSI operations.  Task management commands must be executed as if all
>    the commands having a CmdSN lower or equal to the task management
CmdSN
>    have been received by the target (i.e., have to be executed as if
>    received for ordered delivery even when marked for immediate
delivery).
>    For all the tasks covered by the task management response (i.e., with
>    CmdSN not higher than the task management command CmdSN), additional
>    responses MUST NOT be delivered to the SCSI layer after the task
>    management response.
>
>    ABORT TAST Task Management Request MUST be issued on the same
connection
>    to which the task to be aborted is allegiant at the time the Task
>    Management Request is issued if the connection is still active (it is
>    not undergoing an implicit or explicit logout).  If the connection is
>    being implicitly or explicitly logged out and no other request will be
>    issued on the failing connection and no other response will be
received
>    on the failing connection then an ABORT TASK Task Management request
may
>    be issued on another connection and this Task Management request will
>    both establish a new allegiance for the command to be aborted and will
>    abort it (i.e., a task to be aborted will not have to be reinstated,
>    restarted or replayed and its status if issued but not acknowledged
will
>    be reissued). For the ABORT TASK task management request the target
MUST
>    NOT deliver additional responses after the task management response.
>    Whether the initiator should deliver or not task responses while a
TASK
>    ABORT is executing but before delivering the task management response
is
>    a matter of implementation.
>
>    For the LOGICAL UNIT RESET function, the target MUST behave as
dictated
>    by the Logical Unit Reset function in [SAM2].
>
>    The TARGET RESET function (WARM and COLD) implementation is OPTIONAL
and
>    when implemented should act as described below.  Target Reset MAY be
>    also subject to SCSI access controls for the requesting initiator.
When
>    not implemented or when authorization fails at target, Target Reset
>    functions should end as if the function was executed successfully and
>    the response qualifier will detail what was executed.
>
>    For the TARGET WARM RESET and TARGET COLD RESET functions, the target
>    cancels all pending operations and are both equivalent to the Target
>    Reset function specified by [SAM2].  They can both affect many other
>    initiators.
>
>    In addition, for the TARGET COLD RESET the target then MUST terminate
>    all of its TCP connections to all initiators (all sessions are
>    terminated).
>
>    For the TASK RESUME and TASK REPLAY the target should resume executing
>    the referenced task respectively replay it completely. TASK REPLAY
MUST
>    be received by the target ONLY after the status for the command was
>    issued. TASK RESUME MUST be received by the target ONLY after the
>    connection on which the command was previously executing has been
>    successfully logged-out.
>    TASK RESUME and TASK REPLAY MUST be issued as immediate commands.
>
> 1.1.2     LUN
>
>    This field is required for functions addressing a specific LU (ABORT
>    TASK, CLEAR TASK SET, ABORT TASK SET, CLEAR ACA, LOGICAL UNIT RESET)
and
>    is reserved in all others.
>
> 1.1.3     Referenced Task Tag
>
>    Initiator Task Tag of the task to be aborted, restarted or replayed
>
> 1.1.4     RefCmdSN or ExpDataSN
>
>    For ABORT TASK the task CmdSN to enable task removal. If RefCmdSN does
>    not match the CmdSN of the command to be aborted at the target
>    The abort action MUST not be performed and the response MUST be
function
>    rejected.
>
>    If the function is task resume establishing a new connection
allegiance
>    for a previously issued command, this field will contain the next
>    consecutive input DataSN number expected by the initiator (no gaps)
for
>    the referenced command in a previous execution.
>
> 1.2  Task Management Function Response
>
>    Byte /    0       |       1       |       2       |       3       |
>       /              |               |               |               |
>      |7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|
>      +---------------+---------------+---------------+---------------+
>     0|1|1| 0x22      |1| Reserved                                    |
>      +---------------+---------------+---------------+---------------+
>     4/ Reserved                                                      /
>      /                                                               /
>      +---------------+---------------+---------------+---------------+
>    16| Initiator Task Tag                                            |
>      +---------------+---------------+---------------+---------------+
>    20| Referenced Task Tag or 0xffffffff                             |
>      +---------------+---------------+---------------+---------------+
>    24| StatSN                                                        |
>      +---------------+---------------+---------------+---------------+
>    28| ExpCmdSN                                                      |
>      +---------------+---------------+---------------+---------------+
>    32| MaxCmdSN                                                      |
>      +---------------+---------------+---------------+---------------+
>    36| Response      | Qualifier     | Reserved                      |
>      +---------------+---------------+---------------+---------------+
>    40/ Reserved                                                      /
>     +/                                                               /
>      +---------------+---------------+---------------+---------------+
>    48
>
>    For the functions ABORT TASK, ABORT TASK SET, CLEAR ACA, CLEAR TASK
SET,
>    LOGICAL UNIT RESET, TARGET WARM RESET, the target performs the
requested
>    Task Management function and sends a Task Management Response back to
>    the initiator. The target provides a Response, which may take on the
>    following values:
>
>            0 - Function Complete
>            1 - Task specified in the Referenced Task Tag field was not in
>            task set
>            2 - LUN does not exist
>            3 - Task running on a connection that was not logged-out
>            4 - Task failover not supported
>            5 - Task in progress
>            6 - Task replay not supported
>       255   Function Rejected
>
>    All other values are reserved.
>
>    The Qualifier field provides additional information about the
Response.
>
>    For a Response of "Function Complete" the valid Qualifiers are:
>
>       0 - Function Executed
>       1 - Not Authorized
>
>    For the TARGET COLD RESET and TARGET WARM RESET functions, the target
>    cancels all pending operations.  For the TARGET COLD RESET function
the
>    target MUST then close all of its TCP connections to all initiators
>    (terminates all sessions).
>
>    The mapping of the response code into a SCSI service response code, if
>    needed, is outside the scope of this document.
>
> 1.2.1     Referenced Task Tag
>
>    Initiator Task Tag of the task not found used in conjunction with
>    responses referring to a specific task. It MUST be set to 0xffffffff
in
>    other cases.
>
>    Comments?
>
>    Julo
 
 Home Last updated: Thu Sep 06 10:17:21 2001 6367 messages in chronological order |