test-tool: Fix CmdSN tests

After commit 10868c491d CmdSN tests no
longer work because iscsi->cmdsn is incremented during the second test
phase (sending "good" TUR after "bad" TUR), so the resulting CmdSN is
not ExpCmdSN, but ExpCmdSN + 1 that is not acknowledged by the target.
This commit fixes the issue by setting iscsi->cmdsn to iscsi->expcmdsn - 1.

Affected tests:

 * iSCSI.iSCSIcmdsn.iSCSICmdSnTooLow
 * iSCSI.iSCSIcmdsn.iSCSICmdSnTooHigh
This commit is contained in:
Consus
2020-09-02 16:38:29 +03:00
parent 5553d6bddf
commit 859070854d
2 changed files with 10 additions and 6 deletions

View File

@@ -35,10 +35,12 @@ static int my_iscsi_queue_pdu(struct iscsi_context *iscsi, struct iscsi_pdu *pdu
* iscsi_pdu_set_cmdsn(), which also changes pdu->cmdsn?
*/
scsi_set_uint32(&pdu->outdata.data[24], iscsi->maxcmdsn + 1);
/* fudge the cmdsn value back to where it should be if this
* pdu is ignored.
/*
* Fudge the cmdsn value back to where it should be if this pdu
* is ignored. The cmdsn value will be incremented by the
* orig_queue_pdu(), so it's off by one.
*/
iscsi->cmdsn = iscsi->expcmdsn;
iscsi->cmdsn = iscsi->expcmdsn - 1;
break;
}

View File

@@ -35,10 +35,12 @@ static int my_iscsi_queue_pdu(struct iscsi_context *iscsi, struct iscsi_pdu *pdu
* iscsi_pdu_set_cmdsn(), which also changes pdu->cmdsn?
*/
scsi_set_uint32(&pdu->outdata.data[24], iscsi->expcmdsn - 1);
/* fudge the cmdsn value back to where it should be if this
* pdu is ignored.
/*
* Fudge the cmdsn value back to where it should be if this pdu
* is ignored. The cmdsn value will be incremented by the
* orig_queue_pdu(), so it's off by one.
*/
iscsi->cmdsn = iscsi->expcmdsn;
iscsi->cmdsn = iscsi->expcmdsn - 1;
break;
}