abstract transport to static driver functions and opaque driver specific information.
This splits a transport into static driver specific functions for the common iscsi commands. Optionally, a driver specific opaque memory is introduced which is currently only used by iSER transport. Last a lot of functions changed to static. Signed-off-by: Peter Lieven <pl@kamp.de>
This commit is contained in:
@@ -277,7 +277,7 @@ void iscsi_defer_reconnect(struct iscsi_context *iscsi)
|
||||
pdu->callback(iscsi, SCSI_STATUS_CANCELLED,
|
||||
NULL, pdu->private_data);
|
||||
}
|
||||
iscsi->t->free_pdu(iscsi, pdu);
|
||||
iscsi->drv->free_pdu(iscsi, pdu);
|
||||
}
|
||||
while ((pdu = iscsi->waitpdu)) {
|
||||
ISCSI_LIST_REMOVE(&iscsi->waitpdu, pdu);
|
||||
@@ -288,7 +288,7 @@ void iscsi_defer_reconnect(struct iscsi_context *iscsi)
|
||||
pdu->callback(iscsi, SCSI_STATUS_CANCELLED,
|
||||
NULL, pdu->private_data);
|
||||
}
|
||||
iscsi->t->free_pdu(iscsi, pdu);
|
||||
iscsi->drv->free_pdu(iscsi, pdu);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -332,7 +332,7 @@ void iscsi_reconnect_cb(struct iscsi_context *iscsi _U_, int status,
|
||||
|
||||
ISCSI_LIST_REMOVE(&old_iscsi->waitpdu, pdu);
|
||||
if (pdu->itt == 0xffffffff) {
|
||||
iscsi->t->free_pdu(old_iscsi, pdu);
|
||||
iscsi->drv->free_pdu(old_iscsi, pdu);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -346,7 +346,7 @@ void iscsi_reconnect_cb(struct iscsi_context *iscsi _U_, int status,
|
||||
pdu->callback(iscsi, SCSI_STATUS_CANCELLED,
|
||||
NULL, pdu->private_data);
|
||||
}
|
||||
iscsi->t->free_pdu(old_iscsi, pdu);
|
||||
iscsi->drv->free_pdu(old_iscsi, pdu);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -364,7 +364,7 @@ void iscsi_reconnect_cb(struct iscsi_context *iscsi _U_, int status,
|
||||
pdu->scsi_cbdata.private_data)) {
|
||||
/* not much we can really do at this point */
|
||||
}
|
||||
iscsi->t->free_pdu(old_iscsi, pdu);
|
||||
iscsi->drv->free_pdu(old_iscsi, pdu);
|
||||
}
|
||||
|
||||
if (old_iscsi->incoming != NULL) {
|
||||
@@ -375,12 +375,10 @@ void iscsi_reconnect_cb(struct iscsi_context *iscsi _U_, int status,
|
||||
}
|
||||
|
||||
if (old_iscsi->outqueue_current != NULL && old_iscsi->outqueue_current->flags & ISCSI_PDU_DELETE_WHEN_SENT) {
|
||||
iscsi->t->free_pdu(old_iscsi, old_iscsi->outqueue_current);
|
||||
iscsi->drv->free_pdu(old_iscsi, old_iscsi->outqueue_current);
|
||||
}
|
||||
|
||||
if (old_iscsi->t) {
|
||||
iscsi_free(old_iscsi, old_iscsi->t);
|
||||
}
|
||||
iscsi_free(old_iscsi, old_iscsi->opaque);
|
||||
|
||||
for (i = 0; i < old_iscsi->smalloc_free; i++) {
|
||||
iscsi_free(old_iscsi, old_iscsi->smalloc_ptrs[i]);
|
||||
|
||||
Reference in New Issue
Block a user