numam-spdk/lib/nvme
Jim Harris c3aaaa0181 nvme: don't monitor hotplug events in secondary process
NVMe hotplug must be monitored in the primary process -
DPDK doesn't support trying to handle it in the
secondary process.

This issue was somewhat masked previously in secondary
processes, since usually it would just probe(NULL) which
meant probe all attached NVMe controllers.  So in the
secondary process, we would probe just once, and create
the hotplug fd - it would never actually try to monitor
it.

But when explicitly specifying multiple trids in a
secondary process, probe would get called multiple
times.  First time would be fine since it only creates
the hotplug fd.  But second time would segfault since
monitoring for hotplug requires checking the DPDK-allocated
context which doesn't exist in the secondary process.

Fixes issue #1063.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I2a9a91e222c206034293d90e30e3f598c8d7baa8

Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/475015
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Alexey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2019-11-20 09:34:18 +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/cuse: Poll the io_msg queue when the admin queue is polled 2019-10-31 14:05:23 +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: don't enable adminq until we know discovery_ctrlr exists 2019-11-06 14:47:05 +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 nvme/cuse: Poll the io_msg queue when the admin queue is polled 2019-10-31 14:05:23 +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: don't monitor hotplug events in secondary process 2019-11-20 09:34:18 +00:00
nvme_qpair.c nvme/qpair: merge two if case into one. 2019-11-08 22:18:18 +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_rdma: Detect stale connection failures. 2019-11-15 20:26:46 +00:00
nvme_tcp.c nvme/tcp: detect cq errors. 2019-11-15 18:27:27 +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