Spdk/lib/nvme
Seth Howell 13f30a254e nvme: don't disconnect qpairs from admin thread.
Disconnecting qpairs from the admin thread during a reset led to an
inevitable race with the data thread. QP related memory is freed during
the disconnect and cannot be touched from the other threads.

The only way to fix this is to force the qpair disconnect onto the
data thread.

This requires a small change in the way that resets are handled for
pcie. Please see the code in reset.c for that change.

fixes: bb01a089

Change-Id: I8a39e444c7cbbe85fafca42ffd040e929721ce95
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/472749
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2019-10-31 04:50:59 +00:00
..
Makefile lib/nvme: add NVMe character device 2019-10-24 23:43:59 +00:00
nvme_ctrlr_cmd.c nvme: add qpair parameter to nvme_complete_request 2019-05-22 14:51:01 +00:00
nvme_ctrlr_ocssd_cmd.c ocssd: hold lock when calling nvme_ctrlr_submit_admin_request 2019-02-15 21:27:58 +00:00
nvme_ctrlr.c nvme: don't disconnect qpairs from admin thread. 2019-10-31 04:50:59 +00:00
nvme_cuse.c lib/nvme: add RPC for interacting with CUSE devices 2019-10-24 23:43:59 +00:00
nvme_cuse.h lib/nvme: add RPC for interacting with CUSE devices 2019-10-24 23:43:59 +00:00
nvme_fabric.c nvme_fabric: enable the discovery_ctrlr admin queue 2019-10-22 21:14:22 +00:00
nvme_internal.h nvme: take the lock when disconnecting qpairs. 2019-10-28 17:19:46 +00:00
nvme_io_msg.c lib/nvme: implement external IO processing 2019-10-24 23:43:59 +00:00
nvme_io_msg.h lib/nvme: implement external IO processing 2019-10-24 23:43:59 +00:00
nvme_ns_cmd.c nvme: add support for write uncorrectable command 2019-09-26 18:42:57 +00:00
nvme_ns_ocssd_cmd.c vtophys: add length parameter to the vtophys function 2019-01-09 08:24:59 +00:00
nvme_ns.c nvme: add support for write uncorrectable command 2019-09-26 18:42:57 +00:00
nvme_opal_internal.h Opal: Add async function for revert TPer 2019-10-24 17:09:57 +00:00
nvme_opal.c opal: Fix get locking range info memory leak 2019-10-24 17:09:57 +00:00
nvme_pcie.c nvme: call the generic qpair_connect fn from all transports. 2019-10-22 21:14:22 +00:00
nvme_qpair.c nvme: don't disconnect qpairs from admin thread. 2019-10-31 04:50:59 +00:00
nvme_quirks.c nvme: add NVME_QUIRK_DELAY_BEFORE_INIT quirk 2019-08-26 17:35:06 +00:00
nvme_rdma.c nvme: take the lock when disconnecting qpairs. 2019-10-28 17:19:46 +00:00
nvme_tcp.c nvme_fabrics: move ctrlr_scan to common code. 2019-10-22 21:14:22 +00:00
nvme_transport.c nvme: combine qpair->is_connecting and is_enabled 2019-10-22 21:14:22 +00:00
nvme_uevent.c nvme: add vfio driver parse event 2019-05-29 02:36:41 +00:00
nvme_uevent.h nvme: Add support of hotplug for vfio-attached devices. 2017-12-06 17:04:49 -05:00
nvme.c test/nvmf: add a test case for trid failover. 2019-10-24 23:46:39 +00:00