Subject: iSCSI: DLB-T.28 (Logout discards OOO commands)

From: "Mallikarjun C." <[email-masked]>
Date: Tue, 9 Jul 2002 12:42:37 -0700

> [T.28] 9.14 Logout Request
> 
>   A successful completion of a logout request with the reason code of 
>   "close the connection" or "remove the connection for recovery" 
>   results in the discarding of all tasks waiting in the command reor-
>   dering queue that are allegiant to the connection being logged out.
> 
> "discarding" is not what hapapens in the "remove the connection for recovery
> case according to the following text from Section 6.5:
> 
>       b)  Logout the connection for recovery and continue the tasks on a 
>       different connection instance as described in Section 6.1 Retry 
>       and Reassign in Recovery. [OR]
> 
> A "discarded" task cannot be "continue"-d.  I suspect the text should say
> that "close the connection" terminates the tasks, anad "remove the
> connection
> for recovery" suspends the tasks with the following CmdSN side effects ...

Notice the phrase "waiting in the command reordering queue".  *Any*
flavor of Logout would cause the OOO commands in the target's reordering
queue to be discarded.  The difference in behaviors is only for the active tasks.

The recovery Logout, when successfully executed, would prepare the *active 
instantiated tasks* for reassignment, while the other two flavors of Logout would 
terminate all appropriate tasks.

I would suggest qualifying the words task/tasks with "active" in section 6.5 (in the 
text you quoted), and also in sections 9.5/9.6 to make this distinction clear.

Mallikarjun