Commit a4e28342 authored by Ben Walker's avatar Ben Walker Committed by Daniel Verkamp
Browse files

nvmf: Add wrappers for transport calls



Instead of scattering direct calls to the function
callbacks throughout the code, add some wrappers.
This will make some later refactoring marginally
easier.

Change-Id: If735089967e3ce828dcff68f2430e7810bf2f123
Signed-off-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/371749


Reviewed-by: default avatarDaniel Verkamp <daniel.verkamp@intel.com>
Tested-by: default avatarSPDK Automated Test System <sys_sgsw@intel.com>
parent 31d033f9
Loading
Loading
Loading
Loading
+9 −9
Original line number Diff line number Diff line
@@ -163,7 +163,7 @@ nvmf_init_nvme_ctrlr_properties(struct spdk_nvmf_ctrlr *ctrlr)
static void ctrlr_destruct(struct spdk_nvmf_ctrlr *ctrlr)
{
	TAILQ_REMOVE(&ctrlr->subsys->ctrlrs, ctrlr, link);
	ctrlr->transport->ops->ctrlr_fini(ctrlr);
	spdk_nvmf_transport_ctrlr_fini(ctrlr);
}

void
@@ -174,7 +174,7 @@ spdk_nvmf_ctrlr_destruct(struct spdk_nvmf_ctrlr *ctrlr)

		TAILQ_REMOVE(&ctrlr->qpairs, qpair, link);
		ctrlr->num_qpairs--;
		qpair->transport->ops->qpair_fini(qpair);
		spdk_nvmf_transport_qpair_fini(qpair);
	}

	ctrlr_destruct(ctrlr);
@@ -288,7 +288,7 @@ spdk_nvmf_ctrlr_connect(struct spdk_nvmf_qpair *qpair,
		}

		/* Establish a new ctrlr */
		ctrlr = qpair->transport->ops->ctrlr_init(qpair->transport);
		ctrlr = spdk_nvmf_transport_ctrlr_init(qpair->transport);
		if (ctrlr == NULL) {
			SPDK_ERRLOG("Memory allocation failure\n");
			rsp->status.sc = SPDK_NVME_SC_INTERNAL_DEVICE_ERROR;
@@ -313,9 +313,9 @@ spdk_nvmf_ctrlr_connect(struct spdk_nvmf_qpair *qpair,

		memcpy(ctrlr->hostid, data->hostid, sizeof(ctrlr->hostid));

		if (qpair->transport->ops->ctrlr_add_qpair(ctrlr, qpair)) {
		if (spdk_nvmf_transport_ctrlr_add_qpair(ctrlr, qpair)) {
			rsp->status.sc = SPDK_NVME_SC_INTERNAL_DEVICE_ERROR;
			qpair->transport->ops->ctrlr_fini(ctrlr);
			spdk_nvmf_transport_ctrlr_fini(ctrlr);
			free(ctrlr);
			return;
		}
@@ -374,7 +374,7 @@ spdk_nvmf_ctrlr_connect(struct spdk_nvmf_qpair *qpair,
			return;
		}

		if (qpair->transport->ops->ctrlr_add_qpair(ctrlr, qpair)) {
		if (spdk_nvmf_transport_ctrlr_add_qpair(ctrlr, qpair)) {
			INVALID_CONNECT_CMD(qid);
			return;
		}
@@ -399,8 +399,8 @@ spdk_nvmf_ctrlr_disconnect(struct spdk_nvmf_qpair *qpair)
	ctrlr->num_qpairs--;
	TAILQ_REMOVE(&ctrlr->qpairs, qpair, link);

	qpair->transport->ops->ctrlr_remove_qpair(ctrlr, qpair);
	qpair->transport->ops->qpair_fini(qpair);
	spdk_nvmf_transport_ctrlr_remove_qpair(ctrlr, qpair);
	spdk_nvmf_transport_qpair_fini(qpair);

	if (ctrlr->num_qpairs == 0) {
		ctrlr_destruct(ctrlr);
@@ -654,7 +654,7 @@ spdk_nvmf_ctrlr_poll(struct spdk_nvmf_ctrlr *ctrlr)
	}

	TAILQ_FOREACH_SAFE(qpair, &ctrlr->qpairs, link, tmp) {
		if (qpair->transport->ops->qpair_poll(qpair) < 0) {
		if (spdk_nvmf_transport_qpair_poll(qpair) < 0) {
			SPDK_ERRLOG("Transport poll failed for qpair %p; closing connection\n", qpair);
			spdk_nvmf_ctrlr_disconnect(qpair);
		}
+1 −1
Original line number Diff line number Diff line
@@ -102,7 +102,7 @@ nvmf_update_discovery_log(void)
			transport = spdk_nvmf_tgt_get_transport(&g_nvmf_tgt, listen_addr->trid.trtype);
			assert(transport != NULL);

			transport->ops->listen_addr_discover(transport, listen_addr, entry);
			spdk_nvmf_transport_listen_addr_discover(transport, listen_addr, entry);

			numrec++;
		}
+2 −2
Original line number Diff line number Diff line
@@ -133,7 +133,7 @@ spdk_nvmf_listen_addr_destroy(struct spdk_nvmf_listen_addr *addr)
		return;
	}

	transport->ops->listen_addr_remove(transport, addr);
	spdk_nvmf_transport_listen_addr_remove(transport, addr);
	free(addr);
}

@@ -143,7 +143,7 @@ spdk_nvmf_tgt_poll(void)
	struct spdk_nvmf_transport *transport, *tmp;

	TAILQ_FOREACH_SAFE(transport, &g_nvmf_tgt.transports, link, tmp) {
		transport->ops->acceptor_poll(transport);
		spdk_nvmf_transport_acceptor_poll(transport);
	}
}

+1 −1
Original line number Diff line number Diff line
@@ -59,7 +59,7 @@ spdk_nvmf_request_complete(struct spdk_nvmf_request *req)
		      response->cid, response->cdw0, response->rsvd1,
		      *(uint16_t *)&response->status);

	if (req->qpair->transport->ops->req_complete(req)) {
	if (spdk_nvmf_transport_req_complete(req)) {
		SPDK_ERRLOG("Transport request completion error!\n");
		return -1;
	}
+2 −2
Original line number Diff line number Diff line
@@ -118,7 +118,7 @@ nvmf_subsystem_removable(struct spdk_nvmf_subsystem *subsystem)
	if (subsystem->is_removed) {
		TAILQ_FOREACH(ctrlr, &subsystem->ctrlrs, link) {
			TAILQ_FOREACH(qpair, &ctrlr->qpairs, link) {
				if (!qpair->transport->ops->qpair_is_idle(qpair)) {
				if (!spdk_nvmf_transport_qpair_is_idle(qpair)) {
					return false;
				}
			}
@@ -287,7 +287,7 @@ spdk_nvmf_tgt_listen(struct spdk_nvme_transport_id *trid)
		return NULL;
	}

	rc = transport->ops->listen_addr_add(transport, listen_addr);
	rc = spdk_nvmf_transport_listen_addr_add(transport, listen_addr);
	if (rc < 0) {
		free(listen_addr);
		SPDK_ERRLOG("Unable to listen on address '%s'\n", trid->traddr);
Loading