nvmf: spdk_nvmf_tgt_create_subsystem takes a tgt parameter
The user can now specify which target to create the subsystem on. Change-Id: I6206c0d762d59ff6312cb58d36180281baaa7266 Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.gerrithub.io/374878 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
This commit is contained in:
parent
2fbe26160f
commit
4addb5c899
@ -202,7 +202,7 @@ nvmf_tgt_create_subsystem(const char *name, enum spdk_nvmf_subtype subtype,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
subsystem = spdk_nvmf_create_subsystem(name, subtype, app_subsys, connect_cb,
|
||||
subsystem = spdk_nvmf_create_subsystem(g_tgt, name, subtype, app_subsys, connect_cb,
|
||||
disconnect_cb);
|
||||
if (subsystem == NULL) {
|
||||
SPDK_ERRLOG("Subsystem creation failed\n");
|
||||
|
@ -98,7 +98,8 @@ struct spdk_nvmf_listen_addr {
|
||||
* of controllers. Any individual controller has
|
||||
* access to all the NVMe device/namespaces maintained by the subsystem.
|
||||
*/
|
||||
struct spdk_nvmf_subsystem *spdk_nvmf_create_subsystem(const char *nqn,
|
||||
struct spdk_nvmf_subsystem *spdk_nvmf_create_subsystem(struct spdk_nvmf_tgt *tgt,
|
||||
const char *nqn,
|
||||
enum spdk_nvmf_subtype type,
|
||||
void *cb_ctx,
|
||||
spdk_nvmf_subsystem_connect_fn connect_cb,
|
||||
|
@ -148,7 +148,8 @@ spdk_nvmf_valid_nqn(const char *nqn)
|
||||
}
|
||||
|
||||
struct spdk_nvmf_subsystem *
|
||||
spdk_nvmf_create_subsystem(const char *nqn,
|
||||
spdk_nvmf_create_subsystem(struct spdk_nvmf_tgt *tgt,
|
||||
const char *nqn,
|
||||
enum spdk_nvmf_subtype type,
|
||||
void *cb_ctx,
|
||||
spdk_nvmf_subsystem_connect_fn connect_cb,
|
||||
@ -165,11 +166,11 @@ spdk_nvmf_create_subsystem(const char *nqn,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
subsystem->tgt = &g_nvmf_tgt;
|
||||
subsystem->tgt = tgt;
|
||||
|
||||
subsystem->tgt->current_subsystem_id++;
|
||||
tgt->current_subsystem_id++;
|
||||
|
||||
subsystem->id = subsystem->tgt->current_subsystem_id;
|
||||
subsystem->id = tgt->current_subsystem_id;
|
||||
subsystem->subtype = type;
|
||||
subsystem->cb_ctx = cb_ctx;
|
||||
subsystem->connect_cb = connect_cb;
|
||||
@ -179,8 +180,8 @@ spdk_nvmf_create_subsystem(const char *nqn,
|
||||
TAILQ_INIT(&subsystem->hosts);
|
||||
TAILQ_INIT(&subsystem->ctrlrs);
|
||||
|
||||
TAILQ_INSERT_TAIL(&subsystem->tgt->subsystems, subsystem, entries);
|
||||
subsystem->tgt->discovery_genctr++;
|
||||
TAILQ_INSERT_TAIL(&tgt->subsystems, subsystem, entries);
|
||||
tgt->discovery_genctr++;
|
||||
|
||||
return subsystem;
|
||||
}
|
||||
|
@ -196,7 +196,8 @@ test_discovery_log(void)
|
||||
g_nvmf_tgt.discovery_log_page_size = 0;
|
||||
|
||||
/* Add one subsystem and verify that the discovery log contains it */
|
||||
subsystem = spdk_nvmf_create_subsystem("nqn.2016-06.io.spdk:subsystem1", SPDK_NVMF_SUBTYPE_NVME,
|
||||
subsystem = spdk_nvmf_create_subsystem(&g_nvmf_tgt, "nqn.2016-06.io.spdk:subsystem1",
|
||||
SPDK_NVMF_SUBTYPE_NVME,
|
||||
NULL, NULL, NULL);
|
||||
SPDK_CU_ASSERT_FATAL(subsystem != NULL);
|
||||
|
||||
|
@ -240,12 +240,13 @@ test_spdk_nvmf_subsystem_add_ns(void)
|
||||
static void
|
||||
nvmf_test_create_subsystem(void)
|
||||
{
|
||||
struct spdk_nvmf_tgt tgt = {};
|
||||
char nqn[256];
|
||||
struct spdk_nvmf_subsystem *subsystem;
|
||||
TAILQ_INIT(&g_nvmf_tgt.subsystems);
|
||||
TAILQ_INIT(&tgt.subsystems);
|
||||
|
||||
strncpy(nqn, "nqn.2016-06.io.spdk:subsystem1", sizeof(nqn));
|
||||
subsystem = spdk_nvmf_create_subsystem(nqn, SPDK_NVMF_SUBTYPE_NVME,
|
||||
subsystem = spdk_nvmf_create_subsystem(&tgt, nqn, SPDK_NVMF_SUBTYPE_NVME,
|
||||
NULL, NULL, NULL);
|
||||
SPDK_CU_ASSERT_FATAL(subsystem != NULL);
|
||||
CU_ASSERT_STRING_EQUAL(subsystem->subnqn, nqn);
|
||||
@ -256,7 +257,7 @@ nvmf_test_create_subsystem(void)
|
||||
memset(nqn + strlen(nqn), 'a', 223 - strlen(nqn));
|
||||
nqn[223] = '\0';
|
||||
CU_ASSERT(strlen(nqn) == 223);
|
||||
subsystem = spdk_nvmf_create_subsystem(nqn, SPDK_NVMF_SUBTYPE_NVME,
|
||||
subsystem = spdk_nvmf_create_subsystem(&tgt, nqn, SPDK_NVMF_SUBTYPE_NVME,
|
||||
NULL, NULL, NULL);
|
||||
SPDK_CU_ASSERT_FATAL(subsystem != NULL);
|
||||
CU_ASSERT_STRING_EQUAL(subsystem->subnqn, nqn);
|
||||
@ -267,7 +268,7 @@ nvmf_test_create_subsystem(void)
|
||||
memset(nqn + strlen(nqn), 'a', 224 - strlen(nqn));
|
||||
nqn[224] = '\0';
|
||||
CU_ASSERT(strlen(nqn) == 224);
|
||||
subsystem = spdk_nvmf_create_subsystem(nqn, SPDK_NVMF_SUBTYPE_NVME,
|
||||
subsystem = spdk_nvmf_create_subsystem(&tgt, nqn, SPDK_NVMF_SUBTYPE_NVME,
|
||||
NULL, NULL, NULL);
|
||||
CU_ASSERT(subsystem == NULL);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user