nvmf/rdma: Simplify spdk_nvmf_rdma_qp_drained
No longer send an event to process the pending queue - just do it inline. Change-Id: I32716c9ecac3791de297c2a48529c15d220dbe6c Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.gerrithub.io/421044 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Seth Howell <seth.howell5141@gmail.com>
This commit is contained in:
parent
65a512c6cd
commit
3bec66015e
@ -1902,22 +1902,6 @@ spdk_nvmf_rdma_qpair_process_pending(struct spdk_nvmf_rdma_transport *rtransport
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The recovery completion event handler to be executed in the rqpair
|
|
||||||
* poll group thread. It kicks off processing of the requests that are
|
|
||||||
* waiting for the rqpair is back online.
|
|
||||||
*/
|
|
||||||
static void
|
|
||||||
_spdk_nvmf_rdma_qpair_process_pending(void *arg)
|
|
||||||
{
|
|
||||||
struct spdk_nvmf_rdma_qpair *rqpair;
|
|
||||||
struct spdk_nvmf_rdma_transport *rtransport;
|
|
||||||
|
|
||||||
rqpair = arg;
|
|
||||||
rtransport = SPDK_CONTAINEROF(rqpair->qpair.transport,
|
|
||||||
struct spdk_nvmf_rdma_transport, transport);
|
|
||||||
spdk_nvmf_rdma_qpair_process_pending(rtransport, rqpair);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
spdk_nvmf_rdma_drain_state_queue(struct spdk_nvmf_rdma_qpair *rqpair,
|
spdk_nvmf_rdma_drain_state_queue(struct spdk_nvmf_rdma_qpair *rqpair,
|
||||||
enum spdk_nvmf_rdma_request_state state)
|
enum spdk_nvmf_rdma_request_state state)
|
||||||
@ -1938,6 +1922,7 @@ spdk_nvmf_rdma_qp_drained(struct spdk_nvmf_rdma_qpair *rqpair)
|
|||||||
{
|
{
|
||||||
int recovered;
|
int recovered;
|
||||||
enum ibv_qp_state state, next_state;
|
enum ibv_qp_state state, next_state;
|
||||||
|
struct spdk_nvmf_rdma_transport *rtransport;
|
||||||
|
|
||||||
SPDK_NOTICELOG("IBV QP#%u drained\n", rqpair->qpair.qid);
|
SPDK_NOTICELOG("IBV QP#%u drained\n", rqpair->qpair.qid);
|
||||||
|
|
||||||
@ -2009,7 +1994,10 @@ spdk_nvmf_rdma_qp_drained(struct spdk_nvmf_rdma_qpair *rqpair)
|
|||||||
state = next_state;
|
state = next_state;
|
||||||
}
|
}
|
||||||
rqpair->qpair.state = SPDK_NVMF_QPAIR_ACTIVE;
|
rqpair->qpair.state = SPDK_NVMF_QPAIR_ACTIVE;
|
||||||
spdk_thread_send_msg(rqpair->qpair.group->thread, _spdk_nvmf_rdma_qpair_process_pending, rqpair);
|
|
||||||
|
rtransport = SPDK_CONTAINEROF(rqpair->qpair.transport,
|
||||||
|
struct spdk_nvmf_rdma_transport, transport);
|
||||||
|
spdk_nvmf_rdma_qpair_process_pending(rtransport, rqpair);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
error:
|
error:
|
||||||
|
Loading…
Reference in New Issue
Block a user