|
[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 |