SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    RE: iSCSI question



    On Thu, 8 Aug 2002, Shahram Davari wrote:
    
    > I think I figured out were the problem (confusion) is.
    >
    > 1) Section 5.14 (recover classes) states:
    >
    > "  The recovery scenarios detailed in the rest of this section are rep-
    >    resentative rather than exclusive. In every case, they detail the
    >    lowest class recovery that MAY be attempted. The implementer is left
    >    to decide under which circumstances to escalate to the next recovery
    >    class and/or what recovery classes to implement."
    >
    >
    > 2) However, section 5.5 says:
    >
    > "      a) Each level is a superset of the capabilities of the previous
    >       level. For example, Level 1 support implies supporting all capa-
    >       bilities of Level 0 and more. "
    >
    >
    > This means that section 5.14, considers the recovery classes as disjoint,
    > and permits escalating to higher level classes when needed, while setion 5.5 considers each class to be a superset/subset of another class.
    >
    > Which one is correct?
    
    They both are.
    
    Looking at the list I see:
    
    	- Within a command recovery
    	- Within a connection recovery
    	- Connection recovery
    	- Session Recovery
    
    What isn't there is what error recovery level each option is required at.
    Adding that we get:
    
          Level	Function
    
    	1	Within a command recovery
    	1	Within a connection recovery
    	2	Connection Recovery
    	0	Session recovery
    
    So that means depending on what error recovery level you are operating at
    (due to negotiations), you have a different number of options on this
    list.
    
    From your other note:
    
    > 1) I doubt that the session re-establishment code is simpler than PDU
    > recovery code. But think what you are saying is that, you need to have
    > the session recovery anyway, so the PDU recovery is extra code.
    
    For iSCSI, session recovery is simple. We kill the session and all tasks
    on it. We let the *SCSI* layer above us deal with retrying the commands.
    We don't. We close the socket and de-allocate all the buffers. Maybe the
    initiator trys to log in again automagically, but that's not required and
    even if it did, the SCSI layer above it still has to re-issue the
    commands.
    
    > 2) Even if that is the case, it has nothing to do with the error
    > recovery hierarchy. The error recovery hierarchy must show what
    > recovery should be tried before the other ones. In other words it has
    > to show how the recovery escalates.
    
    There is the hierarchy and the recovery level. The recovery level
    indicates what options are available in the hierarchy.
    
    > 3) I think it should escalate as following: PDU -> Connection -> Session
    
    It does. Note: I take "PDU" to mean within-command and within-connection
    recoveries.
    
    Error Recovery Level		Hierarchy
    
    	0			Session
    	1			"PDU" -> Session
    `	2			"PDU" -> Connection -> Session
    
    Take care,
    
    Bill
    
    


Home

Last updated: Thu Aug 08 18:18:56 2002
11579 messages in chronological order