SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    iSCSI: target resource "leak"/logout command


    • To: ips@ece.cmu.edu
    • Subject: iSCSI: target resource "leak"/logout command
    • From: Pierre Labat <pierre_labat@hp.com>
    • Date: Tue, 09 Jan 2001 02:15:59 -0800
    • Content-Transfer-Encoding: 7bit
    • Content-Type: text/plain; charset=us-ascii
    • Organization: Hewlett Packard ATM-SISL
    • Sender: owner-ips@ece.cmu.edu

    Julian,
    
    
    There is a corner case where
    - a [group of] command completion[s]  will never be acked (ExpStatRN)
    - the corresponding task[s] are not "retried" because they are perfectly
    
       completed from the initiator point of view and
    - the session continues to work fine.
    Thus the resource for the task[s] may never
    be released on the target (the target waits for ExpStatRN acking
    the completion before releasing task resources) because
    on the target side the ack of the completion is not received
    and on the initiator will not retry the command.
    
    A resource (memory) "leak" happens on the target.
    
    First i described the scenario, then the solution.
    
    Scenario
    =======
    Session with 2 TCP connections 1 and 2
    
    1)  A command completion (StatRN=10) is received by
          the initiator (over cx 1) for the command 5.
    
    2) The initiator sends back ExpStatRN=11 with a command over  TCP cx 1
    
    3) The TCP cx 1 drops and the command 5 (so ExpStatRN=11) will never
       make it to the target.
    
    4) The command 5 is not retried on the connection 2 because for the
    initiator
          it is perfectly completed.
    
    5) The target never gets the completion acked and doesn't know when
        to release resources.
    
    
    Solution
    =======
    
    - Add the field ExpStatRN in the logout command.
    - The initiator puts in this field the last value of ExpStatRN of the
    failed
        cx. (Not the ExpStatRN value of the connection used to transport the
    logout)
    - The target when receiving the logout, reads ExpStatRN and is able to
    free up
       the resources.
    
    
    Regards,
    
    Pierre
    
    


Home

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