ISCSI_PDU nest iscsi_scsi_cbdata

We can simply next the iscsi_scsi_cbdata in the iscsi_pdu struct
since it is only used inside the iscsi_pdu.

This saves one malloc for each pdu.

Signed-off-by: Peter Lieven <pl@kamp.de>
This commit is contained in:
Peter Lieven
2012-11-27 11:48:53 +01:00
parent 6644389907
commit d9f0464232
3 changed files with 20 additions and 44 deletions

View File

@@ -192,6 +192,13 @@ enum iscsi_opcode {
ISCSI_PDU_NO_PDU = 0xff
};
struct iscsi_scsi_cbdata {
struct iscsi_scsi_cbdata *prev, *next;
iscsi_command_cb callback;
void *private_data;
struct scsi_task *task;
};
struct iscsi_pdu {
struct iscsi_pdu *next;
@@ -216,7 +223,7 @@ struct iscsi_pdu {
struct iscsi_data nidata; /* Non-Immediate Data */
struct iscsi_scsi_cbdata *scsi_cbdata;
struct iscsi_scsi_cbdata scsi_cbdata;
};
void iscsi_free_scsi_cbdata(struct iscsi_context *iscsi, struct iscsi_scsi_cbdata *scsi_cbdata);