|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] iSCSI: advancing CmdSN after a command retry ruleJulian, I'm having a little trouble understanding this text near the end of 2.2.2.1: If an initiator issues a command retry for a command with CmdSN R on a connection when the session CmdSN register is Q, it MUST NOT advance the CmdSN past R + 2**31 -1 unless a different non-immediate command with CmdSN equal or greater than Q was issued on the same connection if the connection is still operational, and the reception of the command is acknowledged by the target (see Section 8.4 Command Retry and Cleaning Old Command Instances). The second non-immediate command when sent, MUST be sent in-order after the retried command on the same connection. What does "different" mean in a different non-immediate command with CmdSN equal or greater than Q"? Isn't any command with a new CmdSN because it has a new CmdSN? What is the purpose of "if the connection is still operational"? If a new command is issued on the connection it must still be operational. Perhaps it was intended to mean that if the connection was not operational then CmdSN can be advanced past the limit without this requirement being met. There doesn't seem to be any definition of when a connection is "operational". Does the connection leave the operational state when it leaves S5 or is it when it has returned to S1? Does "second non-immediate command" mean the command sent on this connection with CmdSN equal or greater than Q? Other commands with Q <= CmdSN < R + 2**31 - 1 may be sent on other connections, so the second command is the second command on this connection, right? It isn't clear what the last sentence was intended to do since any command sent before the retry would advance Q so inherently any command sent after the retry with a new CmdSN must be in-order after the retry. I suggest the following text plus clarification of the meaning of operational for a connection: "If an initiator issues a command retry for a command with CmdSN R on a connection when the session CmdSN register is Q, it MUST NOT advance the CmdSN past R + 2**31 -1 unless the connection is no longer operational or a non-immediate command with CmdSN equal or greater than Q was issued on the same connection and the reception of the command is acknowledged by the target (see Section 8.4 Command Retry and Cleaning Old Command Instances). Pat
Home Last updated: Sat Jun 15 13:18:53 2002 10850 messages in chronological order |