From 24e0f710cfa8cb2740600b8d4bcd10360aa6a165 Mon Sep 17 00:00:00 2001 From: Jim Harris Date: Wed, 24 May 2017 20:06:39 -0700 Subject: [PATCH] bdev/nvme: only enable hotplug in primary processes Only DPDK primary processes can initiate device probe. Signed-off-by: Jim Harris Change-Id: Ia9f966a65fc98ad92b48814dbd6f36f78905162f Reviewed-on: https://review.gerrithub.io/362452 Tested-by: SPDK Automated Test System Reviewed-by: Ben Walker --- lib/bdev/nvme/blockdev_nvme.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/bdev/nvme/blockdev_nvme.c b/lib/bdev/nvme/blockdev_nvme.c index c04f47509..0324dcaca 100644 --- a/lib/bdev/nvme/blockdev_nvme.c +++ b/lib/bdev/nvme/blockdev_nvme.c @@ -115,7 +115,7 @@ static int g_hot_insert_nvme_controller_index = 0; static enum timeout_action g_action_on_timeout = TIMEOUT_ACTION_NONE; static int g_timeout = 0; static int g_nvme_adminq_poll_timeout_us = 0; -static bool g_nvme_hotplug_enabled; +static bool g_nvme_hotplug_enabled = false; static int g_nvme_hotplug_poll_timeout_us = 0; static int g_nvme_hotplug_poll_core = 0; static struct spdk_poller *g_hotplug_poller; @@ -848,7 +848,9 @@ bdev_nvme_library_init(void) g_nvme_adminq_poll_timeout_us = 1000000; } - g_nvme_hotplug_enabled = spdk_conf_section_get_boolval(sp, "HotplugEnable", true); + if (spdk_process_is_primary()) { + g_nvme_hotplug_enabled = spdk_conf_section_get_boolval(sp, "HotplugEnable", true); + } g_nvme_hotplug_poll_timeout_us = spdk_conf_section_get_intval(sp, "HotplugPollRate"); if (g_nvme_hotplug_poll_timeout_us <= 0 || g_nvme_hotplug_poll_timeout_us > 100000) {