nvme: Allow calling spdk_nvme_ctrlr_set_default_opts prior to connect
Change-Id: Id0408e571362527e7c2d4759223946a0b4d7c675 Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.gerrithub.io/415896 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
1c3c50a6cb
commit
cd82151eba
@ -283,7 +283,7 @@ nvme_robust_mutex_init_shared(pthread_mutex_t *mtx)
|
||||
return rc;
|
||||
}
|
||||
|
||||
static int
|
||||
int
|
||||
nvme_driver_init(void)
|
||||
{
|
||||
int ret = 0;
|
||||
@ -302,8 +302,6 @@ nvme_driver_init(void)
|
||||
if (spdk_process_is_primary()) {
|
||||
/* The unique named memzone already reserved. */
|
||||
if (g_spdk_nvme_driver != NULL) {
|
||||
assert(g_spdk_nvme_driver->initialized == true);
|
||||
|
||||
return 0;
|
||||
} else {
|
||||
g_spdk_nvme_driver = spdk_memzone_reserve(SPDK_NVME_DRIVER_NAME,
|
||||
|
@ -116,15 +116,17 @@ spdk_nvme_ctrlr_get_default_ctrlr_opts(struct spdk_nvme_ctrlr_opts *opts, size_t
|
||||
memset(opts->host_id, 0, sizeof(opts->host_id));
|
||||
}
|
||||
|
||||
if (FIELD_OK(extended_host_id)) {
|
||||
memcpy(opts->extended_host_id, &g_spdk_nvme_driver->default_extended_host_id,
|
||||
sizeof(opts->extended_host_id));
|
||||
}
|
||||
if (nvme_driver_init() == 0) {
|
||||
if (FIELD_OK(extended_host_id)) {
|
||||
memcpy(opts->extended_host_id, &g_spdk_nvme_driver->default_extended_host_id,
|
||||
sizeof(opts->extended_host_id));
|
||||
}
|
||||
|
||||
if (FIELD_OK(hostnqn)) {
|
||||
spdk_uuid_fmt_lower(host_id_str, sizeof(host_id_str),
|
||||
&g_spdk_nvme_driver->default_extended_host_id);
|
||||
snprintf(opts->hostnqn, sizeof(opts->hostnqn), "2014-08.org.nvmexpress:uuid:%s", host_id_str);
|
||||
if (FIELD_OK(hostnqn)) {
|
||||
spdk_uuid_fmt_lower(host_id_str, sizeof(host_id_str),
|
||||
&g_spdk_nvme_driver->default_extended_host_id);
|
||||
snprintf(opts->hostnqn, sizeof(opts->hostnqn), "2014-08.org.nvmexpress:uuid:%s", host_id_str);
|
||||
}
|
||||
}
|
||||
|
||||
if (FIELD_OK(src_addr)) {
|
||||
|
@ -536,6 +536,8 @@ struct nvme_driver {
|
||||
|
||||
extern struct nvme_driver *g_spdk_nvme_driver;
|
||||
|
||||
int nvme_driver_init(void);
|
||||
|
||||
/*
|
||||
* Used for the spdk_nvme_connect() public API to save user specified opts.
|
||||
*/
|
||||
|
@ -179,6 +179,12 @@ nvme_transport_qpair_reset(struct spdk_nvme_qpair *qpair)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
nvme_driver_init(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int nvme_qpair_init(struct spdk_nvme_qpair *qpair, uint16_t id,
|
||||
struct spdk_nvme_ctrlr *ctrlr,
|
||||
enum spdk_nvme_qprio qprio,
|
||||
|
Loading…
Reference in New Issue
Block a user