SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    RE: iSCSI:flow control, acknowledgement, and a deterministic recovery



    Santosh,
    
    The iSCSI proposal ver 5-91 explicitly defines tasks and also includes the
    option to allow linked commands to be sent across different connections.
    Obviously, for sequential devices, particular attention must be paid to
    command serialization as these commands tend to use relative addressing or
    are dependent upon the successful completion of prior commands.  This
    requirement is not helped with Auto-Sense and impels the need for a target
    model change in SCSI.  An error injected into the SCSI layer as a result of
    a network communication error will significantly reduce the utility of most
    backup applications.  Such reliance on the SCSI layer to recover from such
    uncertainty imposed as a result of the inability of the network transport to
    do minimal handshakes and retries is the wrong approach.  Regardless, you
    are burdening the driver with the duty of tracking a transient connection
    allegiance status.  The latest version has improved language with the
    exception of Pg. 16 in two places.
    
    Ver 5-91
    Pg. 15
    "Connection allegiance is strictly per-command and not per-task."
    
    Pg. 16
    "tasks that have allegiance to the connection"
    "all outstanding tasks that have allegiance to the connection to conclude
    and send their status."
    
    Doug
    
    > Doug,
    >
    > You seem to be referring to linked commands as a case wherein the
    > approach of Abort Task will not flush stale PDUs.
    >
    > Linked Commands cannot work the way SCSI implementations are defined
    > today, since linked commands require the initiator task tag (I_T_L_x
    > nexus identifier in SAM-2 Execute Command terminology) to be generated
    > by the SCSI ULP. However, in practice, the Initiator Task Tag (or the FC
    > OX_ID) is typically generated in the SCSI LLP (or in some cases in the
    > adapter firmware). IOW, there is no common reference handle like the
    > task tag sent down from the ULP that allows for association of multiple
    > commands to a task in several/most implementations today.
    >
    > When this is fixed up to get linked commands to work [& there exist
    > examples of its usage], there is no reason connection allegiance could
    > not be applied to all the commands within the task.
    >
    > I fail to see why you think Abort Task will not work with sequential
    > devices (?).
    >
    > - Santosh
    >
    > Douglas Otis wrote:
    > >
    > > Santosh,
    > >
    > > I see a few problems with this approach.  Tasks as defined in
    > > iSCSI do not maintain connection allegiance.  The driver binds all
    > > SCSI commands to their connection for the most resent association.
    > > Although there are several places within the iSCSI proposal that
    > > make reference to a task having a connection allegiance, this is
    > > in error.  Commands and not tasks carry such allegiance.  Your
    > > recovery scheme will not allow a satisfactory recovery with a
    > > sequential device.  In this case, repeating the command is not a
    > > solution.  As a result, one connection falter and it will become a
    > > difficult situation.  In addition, you have no clue from iSCSI your
    > > delivery status.  You do not know if you are waiting for the target
    > > or if you are waiting for the connection.  Some sequential devices
    > > have rather long time-outs with these complications of deducing
    > > status created by the multiple connections.
    > >
    > > The application will not know about these connection allegiance
    > > problems. The iSCSI layer does not define interaction to provide
    > > additional application status to allow these applications to respond
    > > in a manner that may aid this situation nor should such additional
    > > information be required.  With your scheme the SCSI driver must
    > > examine the content of these commands to make a guess as to the
    > > connection allegiance assignments.  Now the driver is expected to
    > > understand what the intended action is of this SCSI management
    > > command.  What signal is used to indicate a need for the iSCSI
    > > immediate treatment?  The only obvious seems to be the task attribute
    > > argument.  With the way iSCSI has defined iSCSI immediate, I
    > > would expect those commands to be treated in a LIFO rather than the
    > > normal FIFO fashion.
    > >
    > > Doug
    
    


Home

Last updated: Tue Sep 04 01:05:01 2001
6315 messages in chronological order