SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    Re: ISCSI: Error Recovery Level 0



    From: <kevin_lemay@agilent.com>
    
    > But devices supporting level 0 are not allowed to attempt any of the other recovery methods.
    
    It is absolutely acceptable for an iSCSI entity to drop a connection on seeing a digest error.
    Regardless of the negotiated error recovery level, both entities must deal with TCP exceptions
    as a fact of life - as the state diagrams show.
    
    To reiterate, the ErrorRecoveryLevel key specifies what each side is promising to minimally support.
    This promise provides the guarantee to the initiator to resort to a sophisticated error recovery.
    Negotiation of 0 *does not* mean that the entities must drop session on every error.
    
    >
    > It appears from reading the text for digest recovery, if a header disgest error occurs, that I just throw
    away the PDU. If the pduLength was corrupted, then I am now out of sync. Do I wait for the initiator to drop
    the connection?
    
    No, you (target) may drop on your own.  Please note that *connection recovery* (requires ErrorRecoveryLevel=2)
    is different from a simple *connection drop* (any recovery level).
    
    Please also refer to an earlier thread initiated by Ken Sandars on this topic a couple of weeks ago.
    --
    Mallikarjun
    
    Mallikarjun Chadalapaka
    Networked Storage Architecture
    Network Storage Solutions
    Hewlett-Packard MS 5668
    Roseville CA 95747
    cbm@rose.hp.com
    
    
    >
    > -----Original Message-----
    > From: Mallikarjun C. [mailto:cbm@rose.hp.com]
    > Sent: Wednesday, May 29, 2002 2:46 PM
    > To: ips@ece.cmu.edu
    > Subject: Re: ISCSI: Error Recovery Level 0
    >
    >
    > Kevin,
    >
    > From: "LEMAY,KEVIN (A-Roseville,ex1)" <kevin_lemay@agilent.com>
    > > I have the following question on error Recovery level 0.
    > >
    > > On page 105, v12, it says that error recovery level 0 must perform Session recovery as described in
    6.12.4.
    >
    > I can't find it.
    >
    > It's only saying that the minimally expected error recovery capabilities for level 0 are as described
    > in 6.12.4, not that session recovery must be performed for every error....
    >
    > If you look in 6.12.4, it specifically states that session recovery is done only if all other recovery
    > attempts fail.
    >
    > >
    > > This seems to imply that:
    > > If I have a multi-connection session were one connection experiences a digest error, then I must close all
    > connections on the session, even killing IOs over the good connection.
    > >
    > > This is absurd!
    >
    > Indeed it would be if so implemented (even while it's legal).
    >
    > >Why not just close the one connection that has a problem and allow the IO to be restarted on one of the
    other
    > live connections? There is nothing wrong with the session, only a single connection.
    >
    > That's a reasonable recovery strategy (if it's a SCSI restart).
    > --
    > Mallikarjun
    >
    > Mallikarjun Chadalapaka
    > Networked Storage Architecture
    > Network Storage Solutions
    > Hewlett-Packard MS 5668
    > Roseville CA 95747
    > cbm@rose.hp.com
    >
    >
    > >
    > > I guess I am calling for a level 0.5, so that I can abort only the troublesome connection. This would
    allow
    > for a much faster IO recovery without adding hardly any coding complexity that is required for level 1.
    > >
    > > Comments?
    > >
    > > Kevin Lemay
    > >
    >
    
    


Home

Last updated: Wed May 29 20:18:36 2002
10405 messages in chronological order