SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    Re: iSCSI : More problems with Status SNACK !



    julian_satran@il.ibm.com wrote:
    > 
    > 2) SNACK mechanism cannot be relied upon for resource cleanup for the
    > following reasons :
    > 
    > a) SNACK support MUST be mandatory at the target and target can NEVER
    > fail a Status SNACK.
    > b) Initiators MUST always use a Status SNACK and this is not possible on
    > a UP timeout. IOW, there exist I/O timeout and other circumstances when
    > the initiator gives up and does not attempt SACK (suppose SACK itself
    > got a digest error at the target and timed out at the initiator !).
    > 
    > Since the current SNACK model is heavily dependent on the above
    > assumptions [which canot be met], failure of SNACK blocks further
    > forward progress with resource cleanup at the target since all further
    > I/O completions beyond the hole StatSN cannot be acknowledged.
    > 
    > In the worst case, any I/O timeout would imply session level error
    > recovery since the target will no longer be able to relaim resources.
    > 
    > +++ any UL timeout must include an abort for the task to clean up the
    > target++
    
    Julian,
    
    The Abort Task sent by initiator on the ULP timeouts cleans up resources
    for that specific task. 
    
    The issue under debate was that the spec does not have a mechanism by
    which, once a hole is created, [which cannot be filled by the Status
    SNACK,] the initiator can switch back to bulk acknowledgements. i.e.
    while the timed out I/O resources may be released thru the Abort Task,
    the remaining tasks completed thereafter are unable to be acknowledged
    by the initiator.
    
    > 
    > Proposal :
    > ==========
    > 1) Negotiate Status SACK support at login time.
    > 2) Do not use StatSN when Status SACK is not supported.
    > 3) Modify the current SNACK PDU to eliminate "Additional run Length"
    > (which is of no practical use currently) and replace with an explicit
    > positive ack run described by ack_begrun and ack_run_length.
    > 
    > Comments ?
    > +++ I am basically against options - If I can avoid them.
    > I don't see how an optional SNACK and STatSN would simplify a
    > target/initiator
    > while still allowing command recovery without popping errors into SCSI+++
    
    If a target does not support Status SNACK, then, such a target is
    effectively releasing its I/O resources upon completion. This implies
    that the target is neither capable of supporting SNACK nor the "retry"
    (or replay) concept.
    
    In such cases, command recovery may occur at the SCSI layer or iSCSI may
    retry the task at its layer. For such simple implementations that don't
    resort to complex status recovery techniques, StatSN has no value add
    and only creates complexity by potential holes.
    
    Of course, any such implementation may typically ignore ExpStatSN and
    continue to release resources as the I/Os complete with a StatSN being
    initialized only for compliance. Rather than have such a behaviour, the
    spec should allow for these implementations by letting them use StatSN
    of 0 as a don't care.
    
    - 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:05:00 2001
6315 messages in chronological order