If a request has the immediate flag set, the iSCSI spec requires that the ExpCmdSN NOT be incremented, however the iSCSI target does not appear to check the immediate flag when incrementing ExpCmdSN.
The most noticeable example of this is is the nop_out request - the Linux open-iscsi initiator sends nop_out requests with the immediate flag set. When the intel iscsi target responds it increments ExpCmdSN/MaxCmdSN and the SN sequence gets out of sync.
Prior to incrementing the CmdSN when processing any command the immediate flag should be checked.
Log in to post a comment.