SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    Re: iSCSI : Bridging missing CmdSNs and Abort I/O Error recovery


    • To: IPS Reflector <ips@ece.cmu.edu>
    • Subject: Re: iSCSI : Bridging missing CmdSNs and Abort I/O Error recovery
    • From: Santosh Rao <santoshr@cup.hp.com>
    • Date: Wed, 09 May 2001 09:37:41 -0700
    • Content-Type: multipart/mixed;boundary="------------EBB802D7DF390D597E044473"
    • Organization: Hewlett Packard, Cupertino.
    • References: <C1256A3D.001DD7C0.00@d12mta02.de.ibm.com> <3AF1FA33.5D3FB3C0@cup.hp.com>
    • Sender: owner-ips@ece.cmu.edu

    > julian_satran@il.ibm.com wrote:
    
    > > > We could add the RefCmdSN and it may help plug-in the hole but unless the
    > > > Abort is ussued on the same connection as the original command we can't
    > > be
    > > > sure that the old-one will not pop-up (as we enable ExpCmdSN to move on
    > > we
    > > > don't have even the 2**31-1 protection bracket :-)). Thus sending in
    > > > another nop/abort on the same connection is still required.
    > > >
    > > > To simplify the whole process I will:
    > > >
    > > >  a - add RefCmdSN to the Task Management
    > > >  b - add a command not received yet to the answers
    > > >
    > > >  c - add a part to 7 reading:
    > > >
    > > > 1.1  How to Abort Safely a Command that Was Not Received
    > > >
    > > >    To abort safely a task for which the task abort answer is "Command Not
    > > >    Received Yet" the initiator must issue another abort command on the
    > > same
    > > >    connection as the original command unless this connection was logged
    > > out
    > > >    in which case it may send it on any connection. 
    
    
    Julian,
    
    The above may not be sufficient, since a requirement for the Abort Task
    completion is that both the initiator & target can safely re-use their
    task tags and other resources following completion of the Abort Task. If
    the Abort Task is sent on another connection than the connection used
    for the original command [& that connection has not been logged out],
    then, there may be some in-flight PDUs from the target to the initiator
    for that command on the connection.
    
    Sending an Abort Task on another connection may cause the initiator to
    receive the Abort Task response indicating success on the other
    connection which then results in initiator freeing up its task tag and
    other resources used for that command. Thereafter, the stale PDUs on the
    original connection can show up at the initiator, causing problems.
    
    I would suggest that Abort Task be always sent on the same connection as
    the command, unless the connection used for that command has been logged
    out. Not doing so implies the initiator cannot safely re-use its task
    tag and other resources that were tied up for that I/O.
    
    Regards,
    Santosh
    begin:vcard 
    n:Rao;Santosh 
    tel;work:408-447-3751
    x-mozilla-html:FALSE
    org:Hewlett Packard, Cupertino.;SISL
    adr:;;19420, Homestead Road, M\S 43LN,	;Cupertino.;CA.;95014.;USA.
    version:2.1
    email;internet:santoshr@cup.hp.com
    title:Software Design Engineer
    x-mozilla-cpt:;21088
    fn:Santosh Rao
    end:vcard
    


Home

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