Commit d1179a58 authored by Jim Harris's avatar Jim Harris Committed by Tomasz Zawadzki
Browse files

nvme: put req in nvme_tcp_req_complete



All callers of nvme_tcp_req_complete call
nvme_tcp_req_put immediately afterwards, so move
this call into nvme_tcp_req_complete.

This will help enable some improvements in later
patches.

Note that nvme_tcp_req_complete_safe has this same
functionality open coded right now, but that will
get changed in the next patch.  It calls
nvme_tcp_req_put immediately after the TAILQ_REMOVE,
so do that in nvme_tcp_req_complete as well.

Signed-off-by: default avatarJim Harris <james.r.harris@intel.com>
Change-Id: I368122bc49a7f0772e3011e5427e3c43618380eb
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13520


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <smatsumoto@nvidia.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
parent 09897660
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -758,6 +758,7 @@ nvme_tcp_qpair_reset(struct spdk_nvme_qpair *qpair)

static void
nvme_tcp_req_complete(struct nvme_tcp_req *tcp_req,
		      struct nvme_tcp_qpair *tqpair,
		      struct spdk_nvme_cpl *rsp)
{
	struct nvme_request *req;
@@ -766,6 +767,7 @@ nvme_tcp_req_complete(struct nvme_tcp_req *tcp_req,
	req = tcp_req->req;

	TAILQ_REMOVE(&tcp_req->tqpair->outstanding_reqs, tcp_req, link);
	nvme_tcp_req_put(tqpair, tcp_req);
	nvme_complete_request(req->cb_fn, req->cb_arg, req->qpair, req, rsp);
	nvme_free_request(req);
}
@@ -782,8 +784,7 @@ nvme_tcp_qpair_abort_reqs(struct spdk_nvme_qpair *qpair, uint32_t dnr)
	cpl.status.dnr = dnr;

	TAILQ_FOREACH_SAFE(tcp_req, &tqpair->outstanding_reqs, link, tmp) {
		nvme_tcp_req_complete(tcp_req, &cpl);
		nvme_tcp_req_put(tqpair, tcp_req);
		nvme_tcp_req_complete(tcp_req, tqpair, &cpl);
	}
}

@@ -2201,8 +2202,7 @@ nvme_tcp_admin_qpair_abort_aers(struct spdk_nvme_qpair *qpair)
			continue;
		}

		nvme_tcp_req_complete(tcp_req, &cpl);
		nvme_tcp_req_put(tqpair, tcp_req);
		nvme_tcp_req_complete(tcp_req, tqpair, &cpl);
	}
}