nvme: add new member initialized for nvme_driver struct
Change-Id: I8db8225bff2f11998b58df7987bff3d53e206b4a Signed-off-by: GangCao <gang.cao@intel.com>
This commit is contained in:
parent
396c32c48f
commit
ac99f2fbc5
@ -38,6 +38,7 @@ struct nvme_driver _g_nvme_driver = {
|
||||
.init_ctrlrs = TAILQ_HEAD_INITIALIZER(_g_nvme_driver.init_ctrlrs),
|
||||
.attached_ctrlrs = TAILQ_HEAD_INITIALIZER(_g_nvme_driver.attached_ctrlrs),
|
||||
.request_mempool = NULL,
|
||||
.initialized = false,
|
||||
};
|
||||
|
||||
struct nvme_driver *g_spdk_nvme_driver = &_g_nvme_driver;
|
||||
@ -277,6 +278,12 @@ spdk_nvme_probe(void *cb_ctx, spdk_nvme_probe_cb probe_cb, spdk_nvme_attach_cb a
|
||||
struct nvme_enum_ctx enum_ctx;
|
||||
struct spdk_nvme_ctrlr *ctrlr, *ctrlr_tmp;
|
||||
|
||||
if (!spdk_process_is_primary()) {
|
||||
while (g_spdk_nvme_driver->initialized == false) {
|
||||
usleep(200 * 1000);
|
||||
}
|
||||
}
|
||||
|
||||
pthread_mutex_lock(&g_spdk_nvme_driver->lock);
|
||||
|
||||
if (g_spdk_nvme_driver->request_mempool == NULL) {
|
||||
@ -349,6 +356,8 @@ spdk_nvme_probe(void *cb_ctx, spdk_nvme_probe_cb probe_cb, spdk_nvme_attach_cb a
|
||||
}
|
||||
}
|
||||
|
||||
g_spdk_nvme_driver->initialized = true;
|
||||
|
||||
pthread_mutex_unlock(&g_spdk_nvme_driver->lock);
|
||||
return rc;
|
||||
}
|
||||
|
@ -402,10 +402,11 @@ struct spdk_nvme_ctrlr {
|
||||
};
|
||||
|
||||
struct nvme_driver {
|
||||
pthread_mutex_t lock;
|
||||
pthread_mutex_t lock;
|
||||
TAILQ_HEAD(, spdk_nvme_ctrlr) init_ctrlrs;
|
||||
TAILQ_HEAD(, spdk_nvme_ctrlr) attached_ctrlrs;
|
||||
struct spdk_mempool *request_mempool;
|
||||
struct spdk_mempool *request_mempool;
|
||||
bool initialized;
|
||||
};
|
||||
|
||||
extern struct nvme_driver *g_spdk_nvme_driver;
|
||||
|
Loading…
Reference in New Issue
Block a user