SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    RE: iSCSI: Clarification (again) for Task Management Commands



    Somesh,
    
    I assume you may want to reread 9.4. It works well on any number of 
    connections and it handles all commands for which there is a "delivery 
    uncertainty". For commands for which the delivery is certain - i.e, they 
    have an instantiated Task Block at both initiator and target there is no 
    uncertainty either and the implementation of "no more statuses" does not 
    raise any special issues wherever their statuses are. The initiator 
    portion of the state has to be marked as aborted and kept in place until 
    the status arrives.  To clarify this implementation detail I have added 
    some words to the relevant part of the Task Management request:
    
    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. This 
    requirement implies that the initiator must keep around state until the 
    status is received from the target for an aborted task and the target MUST 
    deliver to the initiator good status for an aborted task.
    
    Julo
    
    
    
    
    "Somesh Gupta" <somesh_gupta@silverbacksystems.com>
    Sent by: owner-ips@ece.cmu.edu
    13-11-01 03:46
    Please respond to somesh_gupta
    
     
            To:     "IPS" <ips@ece.cmu.edu>
            cc: 
            Subject:        RE: iSCSI: Clarification (again) for Task Management Commands
    
     
    
    Julian,
    
    Section 9.4 does (or so I can figure)
    leave the sort of hole mentioned
    below uncovered. On a multiple connection session,
    the status for any of the commands effected by
    the task management command could already be in
    transit on any of the connections by the time the
    task management command is received by the target,
    and its reception is acknowledged - and then
    received by the initiator.
    
    The barrier works well for a single connection
    because the command sequence number for the task
    management command makes sure that there is nothing
    stuck in the "pipe". However, there could be status
    "stuck" in the other pipes.
    
    The mechanism David indicated might be the only
    way to be sure, which however might require a NOP
    on each connection to ensure there is nothing
    in the pipe.
    
    Somesh
    
    > -----Original Message-----
    > From: Julian Satran [mailto:Julian_Satran@il.ibm.com]
    > Sent: Saturday, November 10, 2001 7:26 AM
    > To: somesh_gupta@silverbacksystems.com
    > Subject: RE: iSCSI: Clarification (again) for Task Management Commands
    >
    >
    > Read 9.4 for one implementation - Julo
    >
    >
    >
    >
    > "Somesh Gupta" <somesh_gupta@silverbacksystems.com>
    > Sent by: owner-ips@ece.cmu.edu
    > 10-11-01 05:26
    > Please respond to somesh_gupta
    >
    >
    >         To:     <Black_David@emc.com>, <ips@ece.cmu.edu>
    >         cc:
    >         Subject:        RE: iSCSI: Clarification (again) for Task
    > Management Commands
    >
    >
    >
    > David,
    >
    > In iSCSI the multiple connection/session construct
    > adds significant complexity in determining whether
    > a response for a command (on a different connection
    > than the one on which the task management command
    > was sent) impacted by the task management command will
    > be received or not - and when?
    >
    > On a single connection, or similar links, when the
    > response for the task management command is
    > received (or after a fixed additional time), no
    > responses will be received for the commands aborted
    > by the task management command.
    >
    > However, with multiple connections there is no
    > such "flushing" event on connections other than the
    > one on which the task management command was sent.
    >
    > I would hope that the protocol would address this
    > situation - the current response seems to be be to
    > put the task tag and some associated resources in
    > a zombie state for an unspecified amount of time.
    >
    > Somesh
    >
    >
    > > -----Original Message-----
    > > From: Black_David@emc.com [mailto:Black_David@emc.com]
    > > Sent: Friday, November 09, 2001 6:53 PM
    > > To: somesh_gupta@silverbacksystems.com; ips@ece.cmu.edu
    > > Subject: RE: iSCSI: Clarification (again) for Task Management Commands
    > >
    > >
    > > Somesh,
    > >
    > > The language in question reflects fairly direct requirements
    > > language to be found in SAM-2's description of SCSI Task Management.
    > > FCP goes to serious lengths with FC sequence aborts to make sure
    > > this behaves as required.
    > >
    > > For iSCSI, if responses to the aborted commands show up unexpectedly,
    > > they have to be discarded.  How the Initiator keeps track of that
    > > is the Initiator's problem - keeping track of the CmdSN of the
    > > Abort Task Set may be useful.
    > >
    > > --David
    > > ---------------------------------------------------
    > > David L. Black, Senior Technologist
    > > EMC Corporation, 42 South St., Hopkinton, MA  01748
    > > +1 (508) 435-1000 x75140     FAX: +1 (508) 497-8500
    > > black_david@emc.com       Mobile: +1 (978) 394-7754
    > > ---------------------------------------------------
    > >
    > > > -----Original Message-----
    > > > From: Somesh Gupta [mailto:somesh_gupta@silverbacksystems.com]
    > > > Sent: Friday, November 09, 2001 4:55 PM
    > > > To: IPS
    > > > Subject: iSCSI: Clarification (again) for Task Management Commands
    > > >
    > > >
    > > > Resend to add iSCSI tag. Sorry for missing it.
    > > >
    > > > On page 67 of the 8-92.txt draft (section 3.5.1), it
    > > > says
    > > >
    > > > "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."
    > > >
    > > > If there is a multiple connection session,
    > > > a status for a command impacted by the task
    > > > management command (say ABORT TASK SET) could
    > > > be stuck in the pipe on one connection, while
    > > > the ABORT TASK SET completes on another
    > > > connection.
    > > >
    > > > How does the initiator iSCSI enforce the rule above?
    > > > Seems to be the equivalent of sending the impacted
    > > > commands on other connections in a zombie state,
    > > > and not having a very good idea of how to get out.
    > > >
    > > > Similarly Section 9.4 provides additional rules,
    > > > but seems to leave a hole open with regards to
    > > > status already in flight on other connections.
    > > >
    > > > Any clarifications would be appreciated.
    > > >
    > > > Somesh
    > > >
    > >
    >
    >
    >
    >
    
    
    
    
    


Home

Last updated: Tue Nov 13 22:17:45 2001
7800 messages in chronological order