SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


    [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

    iSCSI: R2T/ABORT_TASK interaction



    Can anyone describe the required behavior of an initiator under
    the following condition?  This may be a basic SCSI-3 question
    rather than iSCSI specific; if so, I apologize, but still ask
    for guidance.
    
    Suppose an initiator submits a SCSI Command PDU containing a large
    SCSI write operation (where large means >= FirstBurstSize).
    Before the initiator receives an R2T for the first (or next)
    chunk of the data, the initiator decides to abort the task with
    an ABORT_TASK (or other) Task Management PDU.
    
    In the meantime, the target has prepared its buffers and submits
    the R2T.  The R2T and the ABORT_TASK PDUs 'cross paths':
    
      Time     Initiator                          Target
        |
      0 |      SCSI_CMD ---------\
        |                         \-------------->
        |
        |      ABORT_TASK ------\
        |                        \   /------------- R2T
        |                         \ /
        |                          X------------->
        |                         /
        |                <-------/
      T |
        V
    
    At time T, the target has received an ABORT_TASK for the SCSI
    command, but has already sent an R2T.  The initiator has
    just received an R2T for a SCSI task which it is trying to
    abort.  The target has not yet sent a response to the ABORT_TASK
    task management command.
    
    The question is this: what are the responsibilities of the
    initiator and target at this point?
    
    - Is the initiator required or expected to respond to the
      R2T, perhaps with a zero-length DATA_OUT PDU?
    
    - Is the target expected to wait for the initiator to respond
      before aborting the task?  Or is the initiator allowed (or
      required) to go ahead and abort the task and send the task
      management response, without waiting for any DATA_OUT, then
      silently discard any R2T it might receive later?
    
    
    Thanks in advance for any help.
    --
    Joe Pittman
    jpittman@netapp.com       
    


Home

Last updated: Fri Jun 14 14:18:43 2002
10820 messages in chronological order