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:
Peter Lieven
2016-08-05 11:28:43 +02:00
parent df1dc08eb7
commit fa123fc397
12 changed files with 159 additions and 214 deletions

View File

@@ -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]);