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
|
||||
spdk_nvmf_rdma_drain_state_queue(struct spdk_nvmf_rdma_qpair *rqpair,
|
||||
enum spdk_nvmf_rdma_request_state state)
|
||||
@ -1938,6 +1922,7 @@ spdk_nvmf_rdma_qp_drained(struct spdk_nvmf_rdma_qpair *rqpair)
|
||||
{
|
||||
int recovered;
|
||||
enum ibv_qp_state state, next_state;
|
||||
struct spdk_nvmf_rdma_transport *rtransport;
|
||||
|
||||
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;
|
||||
}
|
||||
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;
|
||||
error:
|
||||
|
Loading…
Reference in New Issue
Block a user