nvmf: move the g_subsystems variable within g_nvmf_tgt as subsystems
Change-Id: I8e5aaeca29e2de13c65628d5c80846b83a23099e Signed-off-by: GangCao <gang.cao@intel.com>
This commit is contained in:
parent
956ff9b255
commit
67027a9ea3
@ -58,6 +58,7 @@ spdk_nvmf_tgt_init(uint16_t max_queue_depth, uint16_t max_queues_per_sess,
|
|||||||
g_nvmf_tgt.max_queue_depth = max_queue_depth;
|
g_nvmf_tgt.max_queue_depth = max_queue_depth;
|
||||||
g_nvmf_tgt.in_capsule_data_size = in_capsule_data_size;
|
g_nvmf_tgt.in_capsule_data_size = in_capsule_data_size;
|
||||||
g_nvmf_tgt.max_io_size = max_io_size;
|
g_nvmf_tgt.max_io_size = max_io_size;
|
||||||
|
TAILQ_INIT(&g_nvmf_tgt.subsystems);
|
||||||
|
|
||||||
SPDK_TRACELOG(SPDK_TRACE_NVMF, "Max Queues Per Session: %d\n", max_queues_per_sess);
|
SPDK_TRACELOG(SPDK_TRACE_NVMF, "Max Queues Per Session: %d\n", max_queues_per_sess);
|
||||||
SPDK_TRACELOG(SPDK_TRACE_NVMF, "Max Queue Depth: %d\n", max_queue_depth);
|
SPDK_TRACELOG(SPDK_TRACE_NVMF, "Max Queue Depth: %d\n", max_queue_depth);
|
||||||
|
@ -47,11 +47,11 @@
|
|||||||
#define SPDK_NVMF_DEFAULT_NUM_SESSIONS_PER_LCORE 1
|
#define SPDK_NVMF_DEFAULT_NUM_SESSIONS_PER_LCORE 1
|
||||||
|
|
||||||
struct spdk_nvmf_tgt {
|
struct spdk_nvmf_tgt {
|
||||||
uint16_t max_queue_depth;
|
uint16_t max_queue_depth;
|
||||||
uint16_t max_queues_per_session;
|
uint16_t max_queues_per_session;
|
||||||
|
uint32_t in_capsule_data_size;
|
||||||
uint32_t in_capsule_data_size;
|
uint32_t max_io_size;
|
||||||
uint32_t max_io_size;
|
TAILQ_HEAD(, spdk_nvmf_subsystem) subsystems;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern struct spdk_nvmf_tgt g_nvmf_tgt;
|
extern struct spdk_nvmf_tgt g_nvmf_tgt;
|
||||||
|
@ -46,7 +46,6 @@
|
|||||||
#include "spdk_internal/bdev.h"
|
#include "spdk_internal/bdev.h"
|
||||||
#include "spdk_internal/log.h"
|
#include "spdk_internal/log.h"
|
||||||
|
|
||||||
static TAILQ_HEAD(, spdk_nvmf_subsystem) g_subsystems = TAILQ_HEAD_INITIALIZER(g_subsystems);
|
|
||||||
static uint64_t g_discovery_genctr = 0;
|
static uint64_t g_discovery_genctr = 0;
|
||||||
static struct spdk_nvmf_discovery_log_page *g_discovery_log_page = NULL;
|
static struct spdk_nvmf_discovery_log_page *g_discovery_log_page = NULL;
|
||||||
static size_t g_discovery_log_page_size = 0;
|
static size_t g_discovery_log_page_size = 0;
|
||||||
@ -60,7 +59,7 @@ spdk_nvmf_subsystem_exists(const char *subnqn)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
TAILQ_FOREACH(subsystem, &g_subsystems, entries) {
|
TAILQ_FOREACH(subsystem, &g_nvmf_tgt.subsystems, entries) {
|
||||||
if (strcmp(subnqn, subsystem->subnqn) == 0) {
|
if (strcmp(subnqn, subsystem->subnqn) == 0) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -78,7 +77,7 @@ nvmf_find_subsystem(const char *subnqn)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
TAILQ_FOREACH(subsystem, &g_subsystems, entries) {
|
TAILQ_FOREACH(subsystem, &g_nvmf_tgt.subsystems, entries) {
|
||||||
if (strcmp(subnqn, subsystem->subnqn) == 0) {
|
if (strcmp(subnqn, subsystem->subnqn) == 0) {
|
||||||
return subsystem;
|
return subsystem;
|
||||||
}
|
}
|
||||||
@ -93,7 +92,7 @@ spdk_nvmf_find_subsystem_with_cntlid(uint16_t cntlid)
|
|||||||
struct spdk_nvmf_subsystem *subsystem;
|
struct spdk_nvmf_subsystem *subsystem;
|
||||||
struct spdk_nvmf_session *session;
|
struct spdk_nvmf_session *session;
|
||||||
|
|
||||||
TAILQ_FOREACH(subsystem, &g_subsystems, entries) {
|
TAILQ_FOREACH(subsystem, &g_nvmf_tgt.subsystems, entries) {
|
||||||
TAILQ_FOREACH(session, &subsystem->sessions, link) {
|
TAILQ_FOREACH(session, &subsystem->sessions, link) {
|
||||||
if (session->cntlid == cntlid) {
|
if (session->cntlid == cntlid) {
|
||||||
return subsystem;
|
return subsystem;
|
||||||
@ -204,7 +203,7 @@ spdk_nvmf_create_subsystem(const char *nqn,
|
|||||||
subsystem->ops = &spdk_nvmf_virtual_ctrlr_ops;
|
subsystem->ops = &spdk_nvmf_virtual_ctrlr_ops;
|
||||||
}
|
}
|
||||||
|
|
||||||
TAILQ_INSERT_TAIL(&g_subsystems, subsystem, entries);
|
TAILQ_INSERT_TAIL(&g_nvmf_tgt.subsystems, subsystem, entries);
|
||||||
g_discovery_genctr++;
|
g_discovery_genctr++;
|
||||||
|
|
||||||
return subsystem;
|
return subsystem;
|
||||||
@ -244,7 +243,7 @@ spdk_nvmf_delete_subsystem(struct spdk_nvmf_subsystem *subsystem)
|
|||||||
subsystem->ops->detach(subsystem);
|
subsystem->ops->detach(subsystem);
|
||||||
}
|
}
|
||||||
|
|
||||||
TAILQ_REMOVE(&g_subsystems, subsystem, entries);
|
TAILQ_REMOVE(&g_nvmf_tgt.subsystems, subsystem, entries);
|
||||||
g_discovery_genctr++;
|
g_discovery_genctr++;
|
||||||
|
|
||||||
free(subsystem);
|
free(subsystem);
|
||||||
@ -339,7 +338,7 @@ nvmf_update_discovery_log(void)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
TAILQ_FOREACH(subsystem, &g_subsystems, entries) {
|
TAILQ_FOREACH(subsystem, &g_nvmf_tgt.subsystems, entries) {
|
||||||
if (subsystem->subtype == SPDK_NVMF_SUBTYPE_DISCOVERY) {
|
if (subsystem->subtype == SPDK_NVMF_SUBTYPE_DISCOVERY) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -165,6 +165,7 @@ nvmf_test_create_subsystem(void)
|
|||||||
{
|
{
|
||||||
char nqn[256];
|
char nqn[256];
|
||||||
struct spdk_nvmf_subsystem *subsystem;
|
struct spdk_nvmf_subsystem *subsystem;
|
||||||
|
TAILQ_INIT(&g_nvmf_tgt.subsystems);
|
||||||
|
|
||||||
strncpy(nqn, "nqn.2016-06.io.spdk:subsystem1", sizeof(nqn));
|
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(nqn, SPDK_NVMF_SUBTYPE_NVME,
|
||||||
|
Loading…
Reference in New Issue
Block a user