SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    RE: iSCSI: aborting an immediate command with ABORT TASK



    Title: RE: iSCSI: aborting an immediate command with ABORT TASK
    In SCSI host adapters this race also exists ... the way that is handled is the host adapter does not see the task and just responds with "task not fund". The driver doesn't have a problem because the only way the task could not be found is if it already completed.
     
    iSCSI has introduced this problem by 9.6.1 saying that if the task does not exist, it is considered to have existed ("Function complete").
     
    I think we should just say "task not found". The initiator then sees the whole story and can work it out.
     
    However, the condition that Tony points out may be an additional case that I am not addressing.
     
    Eddy
    -----Original Message-----
    From: Robert Snively [mailto:rsnively@Brocade.COM]
    Sent: Thursday, September 05, 2002 11:38 AM
    To: ips@ece.cmu.edu
    Subject: RE: iSCSI: aborting an immediate command with ABORT TASK

    This has become a remarkably complex structure.
    FCP took a somewhat simpler approach to the TASK ABORT
    synchronization problem.

    In FCP, the principal was that the ABORT TASK chase
    the targeted command through the chain of host adapter,
    transport media, target/logical unit, and back again, clearing
    up whatever residues were encountered along the way.

    That way, ordering was never an issue, because the command
    was either completed before an ABORT TASK ever started, or
    the ABORT TASK tracked it down and aborted the artifacts
    associated with the command wherever they were found.  The
    inclusion of the HBA in the chain eliminated any possibility
    of the command escaping after the ABORT TASK was transmitted.
    It also eliminated ordering issues associated with transport
    paths, since any residue left in the transport path was
    deprived of context and discarded if it popped out later.

    Bob

    > -----Original Message-----
    > From: Eddy Quicksall [mailto:eddy_quicksall@ivivity.com]
    > Sent: Thursday, September 05, 2002 7:51 AM
    > To: 'Paul Koning'
    > Cc: Black_David@emc.com; ips@ece.cmu.edu
    > Subject: RE: iSCSI: aborting an immediate command with ABORT TASK
    >
    >
    > Paul,
    >
    > Its a race having to do with sending the command response and
    > receiving the
    > abort ... not between getting the command and the abort request.
    >
    > I-T> immediate cmdSN=7
    > T-I> some delay but finally command response for above w/ExpCmdSN=7
    > (a race here due to processing at the initiator)
    > I-T> before getting the response, sends abort for 7
    > (target advances ExpCmdSN to 8)
    > I-T> non-immediate CmdSN=7
    > (outside of the command window, target dumps the command)
    >
    > The directions say to consider the command received (that
    > would mean the
    > non-immediate command) and that would be command 7. So you
    > would advance
    > ExpCmdSN to 8. When non-immediate command 7 arrives, it will
    > be outside of
    > the window and will be thrown out.
    >
    > This is all considering ErrorRecoveryLevel 0.
    >
    > Maybe I have missed something so please point out where I'm wrong.
    >
    > Eddy
    >
    > -----Original Message-----
    > From: Paul Koning [mailto:ni1d@arrl.net]
    > Sent: Thursday, September 05, 2002 9:49 AM
    > To: Julian_Satran@il.ibm.com
    > Cc: Black_David@emc.com; ips@ece.cmu.edu
    > Subject: RE: iSCSI: aborting an immediate command with ABORT TASK
    >
    >
    > >>>>> "Julian" == Julian Satran <Julian_Satran@il.ibm.com> writes:
    >
    >  Julian> The next command can't be clobered. Abort Task acts on
    >  Julian> command up to 6 (included) but not 7- and it has to be on the
    >  Julian> same connection as the aborted command. That insures that it
    >  Julian> will abort the first immediate but not the non-immediate
    >  Julian> after.
    >
    > If the abort has to be sent on the same connection as the command
    > being aborted, then it cannot overtake an immediate command preceding
    > it.  At least not in the network stack...  So that seems to eliminate
    > the case that David was worrying about.
    >
    >     paul
    >



Home

Last updated: Thu Sep 05 16:18:56 2002
11778 messages in chronological order