socket: Data-Out PDUs may carry a CmdSN < ExpCmdSN

Signed-off-by: Peter Lieven <pl@kamp.de>
This commit is contained in:
Peter Lieven
2015-03-27 22:09:44 +01:00
parent 7fd58eca21
commit 47e2b8918e
+4 -3
View File
@@ -650,9 +650,10 @@ iscsi_write_to_socket(struct iscsi_context *iscsi)
return 0; return 0;
} }
/* pop first element of the outqueue */ /* pop first element of the outqueue */
if (iscsi_serial32_compare(iscsi->outqueue->cmdsn, iscsi->expcmdsn) < 0) { if (iscsi_serial32_compare(iscsi->outqueue->cmdsn, iscsi->expcmdsn) < 0 &&
iscsi_set_error(iscsi, "iscsi_write_to_scoket: outqueue[0]->cmdsn < expcmdsn (%08x < %08x)", (iscsi->outqueue->outdata.data[0] & 0x3f) != ISCSI_PDU_DATA_OUT) {
iscsi->outqueue->cmdsn, iscsi->expcmdsn); iscsi_set_error(iscsi, "iscsi_write_to_scoket: outqueue[0]->cmdsn < expcmdsn (%08x < %08x) opcode %02x",
iscsi->outqueue->cmdsn, iscsi->expcmdsn, iscsi->outqueue->outdata.data[0] & 0x3f);
return -1; return -1;
} }
iscsi->outqueue_current = iscsi->outqueue; iscsi->outqueue_current = iscsi->outqueue;