Spdk/lib/nvme
Darek Stojaczyk 5a588715d9 nvme: detach PCI device in secondary process
We only detached the PCI device on the controller destruction,
which happens just once - in the primary process, but secondary
process needs the PCI detach as well.

Requesting to hotremove the NVMe PCIe controller in secondary
process is broken, because DPDK will still keep the device
reference and won't allow SPDK to hotplug it again.

Fix this by detaching the local PCI device whenever removing
a secondary process from spdk_nvme_ctrlr. This does require
an additional transport check in the generic NVMe layer, but
I found it an overkill to create a multi-process transport
abstraction just for this case.

Change-Id: I812dc1c878ade5b149556806228a2afcb49f0b17
Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/431487
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2018-11-02 18:30:09 +00:00
..
Makefile Make: Add deps for each shared obj individually 2018-10-09 21:45:26 +00:00
nvme_ctrlr_cmd.c NVMe: Add support for security send/receive command 2018-09-29 03:13:55 +00:00
nvme_ctrlr_ocssd_cmd.c nvme: Use not C++ style comments // but C-style comments /* */ 2018-10-31 22:01:47 +00:00
nvme_ctrlr.c nvme: detach PCI device in secondary process 2018-11-02 18:30:09 +00:00
nvme_fabric.c nvme/rdma: factor out Connect command 2018-06-27 22:59:18 +00:00
nvme_internal.h env/pci: move the vfio init delay to nvme/pci 2018-10-22 17:57:24 +00:00
nvme_ns_cmd.c nvme: printf info after error 2018-09-18 22:40:34 +00:00
nvme_ns_ocssd_cmd.c ocssd: add chunk notification log struct 2018-09-27 01:30:45 +00:00
nvme_ns.c nvme: make identify NS id descriptors can be executed asynchronously 2018-10-15 17:57:56 +00:00
nvme_pcie.c nvme:replacing spdk_dma_malloc with spdk_z/malloc 2018-08-31 17:42:29 +00:00
nvme_qpair.c nvme: printf info after error 2018-09-18 22:40:34 +00:00
nvme_quirks.c nvme: add quirk for Intel SSDs without vendor-specific log pages 2018-08-27 14:58:48 +00:00
nvme_rdma.c nvme: Enable RNR Retry in RDMA transport 2018-10-12 16:29:16 +00:00
nvme_transport.c nvmf: Add Fibre Channel defs and usage to nvme lib 2018-06-22 21:09:09 +00:00
nvme_uevent.c util: add spdk_strerror() wrapper with TLS support 2018-01-04 15:00:09 -05:00
nvme_uevent.h nvme: Add support of hotplug for vfio-attached devices. 2017-12-06 17:04:49 -05:00
nvme.c nvme: improve probe error handling 2018-11-02 18:30:09 +00:00