diff --git a/include/iscsi-private.h b/include/iscsi-private.h index 7d37b20..d57d5a2 100644 --- a/include/iscsi-private.h +++ b/include/iscsi-private.h @@ -182,6 +182,7 @@ struct iscsi_pdu { uint32_t lun; uint32_t itt; uint32_t cmdsn; + uint32_t datasn; enum iscsi_opcode response_opcode; iscsi_command_cb callback; diff --git a/lib/scsi-command.c b/lib/scsi-command.c index aa1682e..bad64ac 100644 --- a/lib/scsi-command.c +++ b/lib/scsi-command.c @@ -120,7 +120,7 @@ iscsi_send_data_out(struct iscsi_context *iscsi, struct iscsi_pdu *cmd_pdu, iscsi_pdu_set_expstatsn(pdu, iscsi->statsn+1); /* data sn */ - iscsi_pdu_set_datasn(pdu, 0); + iscsi_pdu_set_datasn(pdu, cmd_pdu->datasn++); /* buffer offset */ iscsi_pdu_set_bufferoffset(pdu, offset);