Spdk/lib/nvmf
lorneli b4d3066890 nvmf/rdma: defer qp destruction until nvmf layer closes qp
Currently rqpair will be destroyed directly in ibv_poll_cq path
if it has been drained, regardless of whether there are outstanding
I/Os issued to bdev layer. So after outstanding I/Os completing,
spdk_nvmf_rdma_close_qpair will be called from nvmf layer, accessing
a destroyed qp.

This path defers qp destruction in nvmf_rdma_destroy_drained_qpair
func until nvmf layer closes qp.

Fixes 851

Change-Id: I8bcce66f8053ddb105702ac603d5d73af54bdcfc
Signed-off-by: lorneli <lorneli@163.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/461237
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Seth Howell <seth.howell@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2019-07-23 19:35:16 +00:00
..
ctrlr_bdev.c nvmf: Add BDEV IO pending statistics 2019-07-12 12:46:29 +00:00
ctrlr_discovery.c nvmf: Only present subsystem if it is ready 2019-01-07 06:02:26 +00:00
ctrlr.c nvmf: Add queue pair counts statistics 2019-07-12 12:46:29 +00:00
Makefile nvmf: Collapse request.c into ctrlr.c 2019-02-04 18:11:33 +00:00
nvmf_fc.h lib/nvmf: fix a typo error 2018-10-12 17:40:16 +00:00
nvmf_internal.h rpc: Add nvmf_get_stats RPC method 2019-07-12 12:46:29 +00:00
nvmf.c rpc: Add nvmf_get_stats RPC method 2019-07-12 12:46:29 +00:00
rdma.c nvmf/rdma: defer qp destruction until nvmf layer closes qp 2019-07-23 19:35:16 +00:00
subsystem.c nvmf: spdk_nvmf_subsystem_remove_ns is no longer asynchronous 2019-07-11 11:19:53 +00:00
tcp.c nvmf/tcp: code cleanup 2019-07-22 02:40:35 +00:00
transport.c nvmf: add spdk_nvmf_transport_get_optimal_poll_group 2019-07-10 02:30:41 +00:00
transport.h nvmf: add spdk_nvmf_transport_get_optimal_poll_group 2019-07-10 02:30:41 +00:00