|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: Task management questions
John,
For some reason Gwendal's input did not reach me (is he subscribed to
ips?).
As for reading - the text is meant as a guide for the implementer and is
not for casual reading.
It was already updated with input from two implementers (IBM and Matthew
Burbridge from HP).
The barrier mechanism in 9.4 is the iSCSI barrier meant to discard
commands that have not been delivered yet to SCSI (and thus avoid having
them start execution). It has to be read carefully as it involves two
mechanism - an initiation and actions to be done when ExpCmdSN changes.
I will add some wording to 3.5.1 to the effect that it refers to commands
that have reached SCSI (where past the iSCSI barrier).
The action mandated is meant to enable ITT recycling (making sure that a
task gets status even if this status will not be delivered to SCSI at
initiator).
Regards,
Julo
John Hufferd/San Jose/IBM@IBMUS
Sent by: owner-ips@ece.cmu.edu
25-11-01 01:32
To: "ips" <ips@ece.cmu.edu>
cc: Gwendal Grignou <ggrignou@silverbacksystems.com>
Subject: Re: Task management questions
I think Gwendal has a point. This and section 9.4 are very hard sections
to read and understand. Perhaps we did not mean all that is said here.
In addition too, or in support of Gwendal, I also found that the paragraph
that begins "For all these Functions..." in 3.5.1 needs to be Harmonized
with the "Abort Task Must..." Paragraph since they are clearly at odds,
especially since the Abort Task is one of the functions addressed in the
previous paragraph. But I simply do not understand how the following
statement:
"...the target MUST deliver to the initiator good status for all aborted
task for which no status was delivered yet. The task management response
MAY be issued by the target immediately after marking all tasks to be
aborted."
can be made to work with section 9.4 which goes to great pain to "silently
discard" commands that are covered by the Abort but have not yet been
executed. (See the last item b on page 156.) I think silently discard
means do not return Status.
After we sort out the above, we still have to deal with the differences
right within 9.4. That is the first item d on page 156 states:
"Note: Any entries that had been marked as a candidate for cleanup have
now
been delivered by the target to its SCSI layer. The SCSI layer will have
to
determine if they are to be aborted."
and the last item b states:
"remove the oldest barrier list item and evaluate all queued entries that
have a CmdSN field less than ExpCmdSN, removing and silently discarding
each queued command that meets the criteria for cleanup candidacy (as
specified by the task management function)"
This means DO NOT SEND THEM TO SCSI ! Therefore, they had not been
delivered by the target to its SCSI layer as stated above.
So we have one place saying that SCSI layer will determine, and the other
place finding a method not to send them to SCSI.
I understand what is being attempted here (to meet the requirements of
SAM-2 (1157-D) section 5.5.2 that states "... no notification that the
task(s) have been aborted shall be returned to the initiator...." however,
our documentation needs some clean-up to make it consistent.
This is NOT a change to the protocol, just a clean up of our
documentation, but the way it is now it is hard to perform the protocol
and
follow the documentation in this specific area.
.
.
.
John L. Hufferd
Senior Technical Staff Member (STSM)
IBM/SSG San Jose Ca
Main Office (408) 256-0403, Tie: 276-0403, eFax: (408) 904-4688
Home Office (408) 997-6136, Cell: (408) 499-9702
Internet address: hufferd@us.ibm.com
Gwendal Grignou <ggrignou@silverbacksystems.com>@ece.cmu.edu on 11/23/2001
02:03:02 PM
Sent by: owner-ips@ece.cmu.edu
To: "ips" <ips@ece.cmu.edu>
cc:
Subject: Task management questions
I have a question about the section 3.5.1 page 69.
The paragrah starting with "ABORT TASK MUST",the last sentene says "The
task
management response MUST be issued after the command status (if any) was
issued." : it means the initiator will receive, on the same connection, a
status for the aborted task and AFTER, a response for the task management
function.
In the paragraph before (starting with "For all these functions,",), it is
specified that the target should send a status for all aborted tasks, but
the
task management response can happen at any time after the task management
request has been received by the target "The task management response MAY
be
issued by the target immediately after marking all tasks to be aborted."
Why such a difference between "ABORT TASK" function and other functions ?
About, "LOGICAL UNIT RESET", it is stated "the target MUST behave as
dictated
by the Logical Unit Reset function in [SAM2]." However, in SAM2, taks
should
be aborted as described in section 5.6 of SAM2, which says , in section
5.6.2, about initiator aborting their own task "When an initiator causes
its
own task(s) to be aborted, no notification that the task(s) have been
aborted
shall be returned to the initiator other than the completion response for
the
command or task management function action that caused the task(s) to be
aborted and notification(s) associated with related effects of the action
(e.g., a target reset unit attention condition)." Does it means the iSCSI
target may not send a status for the aborted tasks in case of a
"LOGICAL UNIT RESET" ? (and subsequently for TARGET RESET [WARM or COLD]
which triggers LOGICAL UNIT RESET for each LUs [SAM2, section 5.8.6]). It
does not match with the requirement in the paragraph concerning all the
task
management functions in general.
Can you elaborate more on those requirements ?
Thanks a lot,
Gwendal.
Home Last updated: Sun Nov 25 12:17:43 2001 7901 messages in chronological order |