SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    Re: iSCSI : Command Ordering Proposal.



    Matt,
    
    Comments in-line.
    
    Regards,
    Santosh
    
    > 
    > Santosh Rao wrote:
    > > 
    > > Matt Wakeley wrote:
    > > 
    > > > Retried commands should have already been queued and/or executed.
    > > 
    > > Not necessarily. A TCP connection failure can affect the command PDU.
    > 
    > In which case the target will have "silently discarded" the PDU.  Then, it
    > will not acknowledge via ExpCmdSN any commands past the err'd command, so the
    > initiator can resend the command with the same CmdSN and enabling command
    > delivery to SCSI to continue.
    
    The above was stated to explain why "retry" commands need 
    to use CmdSN [and cannot use a CmdSN of 0 as you were 
    proposing].
    
    The problem being originally described can occur when the 
    initiator applies a "discard & retry" policy on detecting
    a digest error at its end. In such a case, it would
    "retry" the command, and if the CmdSN was not yet
    acknowledged, would send the "retry" with the original
    CmdSN.
    
    Since the target continues to send PDUs to the initiator,
    it can update the ExpCmdSN causing the "retry" to be 
    discarded by the target, because its CmdSN has slid
    behind the window.
    
    The spec does not mandate that an update to ExpCmdSN
    MUST accompany the Data PDUs for a command. IOW, a target
    may lag behind in updates to ExpCmdSN while continuing to 
    send Data PDUs for the received command.
    
    > 
    > > Similarly, the target may have detected a header or data digest error
    > > on the SCSI Command PDU, sent a REJECT
    > 
    > I thought any digest errors are silently discarded - therefore, there is no
    > reject.  
    
    Not when targets detect a digest error. Section 5.5 mandates targets
    to send a REJECT with a reason of digest error. The "discard & retry"
    policy is for initiators.
    
    > > b) data digest error detected by an initiator on inbound Data PDUs of a READ
    > > I/O, and the CmdSN for the command is yet to be acknowledged, but an ACK
    > > may be in-flight behind the Data PDU.
    > > 
    
    -- 
    #################################
    Santosh Rao
    Software Design Engineer,
    HP, Cupertino.
    email : santoshr@cup.hp.com
    Phone : 408-447-3751
    #################################
    


Home

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