pdu: set pdu->cmdsn when the pdu structure is updated
Signed-off-by: Peter Lieven <pl@kamp.de>
This commit is contained in:
+1
-3
@@ -302,9 +302,7 @@ iscsi_scsi_command_async(struct iscsi_context *iscsi, int lun,
|
|||||||
iscsi_pdu_set_expxferlen(pdu, task->expxferlen);
|
iscsi_pdu_set_expxferlen(pdu, task->expxferlen);
|
||||||
|
|
||||||
/* cmdsn */
|
/* cmdsn */
|
||||||
iscsi_pdu_set_cmdsn(pdu, iscsi->cmdsn);
|
iscsi_pdu_set_cmdsn(pdu, iscsi->cmdsn++);
|
||||||
pdu->cmdsn = iscsi->cmdsn;
|
|
||||||
iscsi->cmdsn++;
|
|
||||||
|
|
||||||
/* cdb */
|
/* cdb */
|
||||||
iscsi_pdu_set_cdb(pdu, task);
|
iscsi_pdu_set_cdb(pdu, task);
|
||||||
|
|||||||
@@ -813,7 +813,6 @@ iscsi_login_async(struct iscsi_context *iscsi, iscsi_command_cb cb,
|
|||||||
|
|
||||||
/* cmdsn is not increased if Immediate delivery*/
|
/* cmdsn is not increased if Immediate delivery*/
|
||||||
iscsi_pdu_set_cmdsn(pdu, iscsi->cmdsn);
|
iscsi_pdu_set_cmdsn(pdu, iscsi->cmdsn);
|
||||||
pdu->cmdsn = iscsi->cmdsn;
|
|
||||||
|
|
||||||
if (!iscsi->user[0]) {
|
if (!iscsi->user[0]) {
|
||||||
iscsi->current_phase = ISCSI_PDU_LOGIN_CSG_OPNEG;
|
iscsi->current_phase = ISCSI_PDU_LOGIN_CSG_OPNEG;
|
||||||
@@ -1284,7 +1283,6 @@ iscsi_logout_async(struct iscsi_context *iscsi, iscsi_command_cb cb,
|
|||||||
|
|
||||||
/* cmdsn is not increased if Immediate delivery*/
|
/* cmdsn is not increased if Immediate delivery*/
|
||||||
iscsi_pdu_set_cmdsn(pdu, iscsi->cmdsn);
|
iscsi_pdu_set_cmdsn(pdu, iscsi->cmdsn);
|
||||||
pdu->cmdsn = iscsi->cmdsn;
|
|
||||||
|
|
||||||
pdu->callback = cb;
|
pdu->callback = cb;
|
||||||
pdu->private_data = private_data;
|
pdu->private_data = private_data;
|
||||||
|
|||||||
@@ -55,8 +55,8 @@ iscsi_nop_out_async(struct iscsi_context *iscsi, iscsi_command_cb cb,
|
|||||||
/* lun */
|
/* lun */
|
||||||
iscsi_pdu_set_lun(pdu, 0);
|
iscsi_pdu_set_lun(pdu, 0);
|
||||||
|
|
||||||
iscsi_pdu_set_cmdsn(pdu, iscsi->cmdsn);
|
/* cmdsn */
|
||||||
pdu->cmdsn = iscsi->cmdsn++;
|
iscsi_pdu_set_cmdsn(pdu, iscsi->cmdsn++);
|
||||||
|
|
||||||
pdu->callback = cb;
|
pdu->callback = cb;
|
||||||
pdu->private_data = private_data;
|
pdu->private_data = private_data;
|
||||||
@@ -112,7 +112,6 @@ iscsi_send_target_nop_out(struct iscsi_context *iscsi, uint32_t ttt)
|
|||||||
|
|
||||||
/* cmdsn is not increased if Immediate delivery*/
|
/* cmdsn is not increased if Immediate delivery*/
|
||||||
iscsi_pdu_set_cmdsn(pdu, iscsi->cmdsn);
|
iscsi_pdu_set_cmdsn(pdu, iscsi->cmdsn);
|
||||||
pdu->cmdsn = iscsi->cmdsn;
|
|
||||||
|
|
||||||
if (iscsi_queue_pdu(iscsi, pdu) != 0) {
|
if (iscsi_queue_pdu(iscsi, pdu) != 0) {
|
||||||
iscsi_set_error(iscsi, "failed to queue iscsi nop-out pdu");
|
iscsi_set_error(iscsi, "failed to queue iscsi nop-out pdu");
|
||||||
|
|||||||
@@ -625,6 +625,7 @@ void
|
|||||||
iscsi_pdu_set_cmdsn(struct iscsi_pdu *pdu, uint32_t cmdsn)
|
iscsi_pdu_set_cmdsn(struct iscsi_pdu *pdu, uint32_t cmdsn)
|
||||||
{
|
{
|
||||||
scsi_set_uint32(&pdu->outdata.data[24], cmdsn);
|
scsi_set_uint32(&pdu->outdata.data[24], cmdsn);
|
||||||
|
pdu->cmdsn = cmdsn;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|||||||
+1
-1
@@ -97,7 +97,7 @@ iscsi_add_to_outqueue(struct iscsi_context *iscsi, struct iscsi_pdu *pdu)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
if (pdu->outdata.data[0] & ISCSI_PDU_IMMEDIATE) {
|
if (pdu->outdata.data[0] & ISCSI_PDU_IMMEDIATE) {
|
||||||
pdu->cmdsn = current->cmdsn;
|
iscsi_pdu_set_cmdsn(pdu, current->cmdsn);
|
||||||
}
|
}
|
||||||
|
|
||||||
do {
|
do {
|
||||||
|
|||||||
@@ -73,7 +73,6 @@ iscsi_task_mgmt_async(struct iscsi_context *iscsi,
|
|||||||
|
|
||||||
/* cmdsn is not increased if Immediate delivery*/
|
/* cmdsn is not increased if Immediate delivery*/
|
||||||
iscsi_pdu_set_cmdsn(pdu, iscsi->cmdsn);
|
iscsi_pdu_set_cmdsn(pdu, iscsi->cmdsn);
|
||||||
pdu->cmdsn = iscsi->cmdsn;
|
|
||||||
|
|
||||||
/* rcmdsn */
|
/* rcmdsn */
|
||||||
iscsi_pdu_set_rcmdsn(pdu, rcmdsn);
|
iscsi_pdu_set_rcmdsn(pdu, rcmdsn);
|
||||||
|
|||||||
Reference in New Issue
Block a user