SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    Re: iSCSI: ordered command delivery at the target



    Julian Satran wrote:
    > 
    > Luben,
    > 
    > Amir is right. The text says explicitly that CmdSN has no significance whatsoever after delivery
    > to SCSI (when the task is instantiated).
    > ITT is the only means to identify safely a task. As for the difficulty of search for the ITT -
    > that is all a question of implementation prowess
    > (i.e., it should not e as difficult as you make it sound).
    
    Julian,
    
    I'm talking about Data-Out PDU's. CmdSN is NOT advanced
    for Data-Out PDU's, only _copied_ from the original task/command.
    
    A task CANNOT be delivered to the device server
    without all data being available at the target,
    being the case that there could be a huge
    network (Ethernet) latency. Once all data has
    arrived, then the task is delivered to the
    device server (LL SCSI) and CmdSN becomes irrelevant.
    
    Furthermore, CmdSN is NOT advanced on sending
    Data-Out pdu's -- it is just copied there
    from the original task/command.
    
    The whole point of this is making
    inserting into the ``incoming'' priority
    queue ordered.
    
    When the task is moved into a ``pending for more data'' queue,
    this would naturally make the Data-out PDUs immediate
    PDUs, as they should be. When Data-Outs arrive at the
    target, CmdSN has advanced by at least k*** since the task has been
    just _received_, and any ``older'' Data-Out PDUs (carrying the same CmdSN)
    will go to the front of the ``incoming'' queue and be seen immediately.
    
    *** If k = 0, then the task is still in the ``incoming'' queue
    and the Data-Out is sorted right after it -- same effect.
    
    Furthermore, the target will NOT allow CmdSN wrapping
    for an outstanding task (one for which data is being delivered, I->T,
    in order to be sent to the device server (SCSI), _only_ after which
    CmdSN becomes irrelevant, but this means that all data was
    delivered....).
    
    Do you see it?
    
    -- 
    Luben
    P.S. CmdSN wrapping MUST not depend on the choice of
    maximum data segment. The suggestion I posted preserves
    this reservation.
    


Home

Last updated: Fri Jun 07 18:18:39 2002
10597 messages in chronological order