bdev/nvme: only enable hotplug in primary processes

Only DPDK primary processes can initiate device probe.

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

Reviewed-on: https://review.gerrithub.io/362452
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
Jim Harris 2017-05-24 20:06:39 -07:00 committed by Ben Walker
parent b20d0296f8
commit 24e0f710cf

View File

@ -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 enum timeout_action g_action_on_timeout = TIMEOUT_ACTION_NONE;
static int g_timeout = 0; static int g_timeout = 0;
static int g_nvme_adminq_poll_timeout_us = 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_timeout_us = 0;
static int g_nvme_hotplug_poll_core = 0; static int g_nvme_hotplug_poll_core = 0;
static struct spdk_poller *g_hotplug_poller; 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_adminq_poll_timeout_us = 1000000;
} }
if (spdk_process_is_primary()) {
g_nvme_hotplug_enabled = spdk_conf_section_get_boolval(sp, "HotplugEnable", true); 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"); 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) { if (g_nvme_hotplug_poll_timeout_us <= 0 || g_nvme_hotplug_poll_timeout_us > 100000) {