nvmf/tcp: Remove tqpair pointer from pdu

This was only used by the target, and it didn't actually need it.

Change-Id: Ibcef410165efdc16077da24419580ed51b087d70
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/c/442440
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Ben Walker 2019-01-28 15:30:14 -07:00 committed by Jim Harris
parent c57bafed51
commit 55e12a6cdb
2 changed files with 3 additions and 9 deletions

View File

@ -66,7 +66,6 @@
((*((uint8_t *)(B)+2)) = (uint8_t)((uint32_t)(D) >> 16)), \ ((*((uint8_t *)(B)+2)) = (uint8_t)((uint32_t)(D) >> 16)), \
((*((uint8_t *)(B)+3)) = (uint8_t)((uint32_t)(D) >> 24))) ((*((uint8_t *)(B)+3)) = (uint8_t)((uint32_t)(D) >> 24)))
struct nvme_tcp_qpair;
typedef void (*nvme_tcp_qpair_xfer_complete_cb)(void *cb_arg); typedef void (*nvme_tcp_qpair_xfer_complete_cb)(void *cb_arg);
struct nvme_tcp_pdu { struct nvme_tcp_pdu {
@ -99,7 +98,6 @@ struct nvme_tcp_pdu {
int ref; int ref;
void *data; void *data;
uint32_t data_len; uint32_t data_len;
struct nvme_tcp_qpair *tqpair;
uint32_t writev_offset; uint32_t writev_offset;
TAILQ_ENTRY(nvme_tcp_pdu) tailq; TAILQ_ENTRY(nvme_tcp_pdu) tailq;

View File

@ -338,22 +338,18 @@ spdk_nvmf_tcp_pdu_get(struct nvme_tcp_qpair *tqpair)
TAILQ_REMOVE(&tqpair->free_queue, pdu, tailq); TAILQ_REMOVE(&tqpair->free_queue, pdu, tailq);
memset(pdu, 0, sizeof(*pdu)); memset(pdu, 0, sizeof(*pdu));
pdu->ref = 1; pdu->ref = 1;
pdu->tqpair = tqpair;
return pdu; return pdu;
} }
static void static void
spdk_nvmf_tcp_pdu_put(struct nvme_tcp_pdu *pdu) spdk_nvmf_tcp_pdu_put(struct nvme_tcp_qpair *tqpair, struct nvme_tcp_pdu *pdu)
{ {
struct nvme_tcp_qpair *tqpair;
if (!pdu) { if (!pdu) {
return; return;
} }
assert(pdu->ref > 0); assert(pdu->ref > 0);
assert(pdu->tqpair != NULL);
tqpair = pdu->tqpair;
pdu->ref--; pdu->ref--;
if (pdu->ref == 0) { if (pdu->ref == 0) {
@ -454,7 +450,7 @@ spdk_nvmf_tcp_cleanup_all_states(struct nvme_tcp_qpair *tqpair)
assert(tqpair->c2h_data_pdu_cnt > 0); assert(tqpair->c2h_data_pdu_cnt > 0);
tqpair->c2h_data_pdu_cnt--; tqpair->c2h_data_pdu_cnt--;
} }
spdk_nvmf_tcp_pdu_put(pdu); spdk_nvmf_tcp_pdu_put(tqpair, pdu);
} }
TAILQ_FOREACH_SAFE(tcp_req, &tqpair->queued_c2h_data_tcp_req, link, req_tmp) { TAILQ_FOREACH_SAFE(tcp_req, &tqpair->queued_c2h_data_tcp_req, link, req_tmp) {
@ -893,7 +889,7 @@ spdk_nvmf_tcp_qpair_flush_pdus_internal(struct nvme_tcp_qpair *tqpair)
TAILQ_REMOVE(&completed_pdus_list, pdu, tailq); TAILQ_REMOVE(&completed_pdus_list, pdu, tailq);
assert(pdu->cb_fn != NULL); assert(pdu->cb_fn != NULL);
pdu->cb_fn(pdu->cb_arg); pdu->cb_fn(pdu->cb_arg);
spdk_nvmf_tcp_pdu_put(pdu); spdk_nvmf_tcp_pdu_put(tqpair, pdu);
} }
ttransport = SPDK_CONTAINEROF(tqpair->qpair.transport, struct spdk_nvmf_tcp_transport, transport); ttransport = SPDK_CONTAINEROF(tqpair->qpair.transport, struct spdk_nvmf_tcp_transport, transport);