From 4ef419305e0c40a4f3c6ec226f4c2a8247f04529 Mon Sep 17 00:00:00 2001 From: Ben Walker Date: Fri, 13 Jan 2017 15:11:00 -0700 Subject: [PATCH] nvmf: Add function to get subsystem by id This isn't used anywhere yet, but it will be for NVMe-oF 1.1. Change-Id: Ieae0688e6ad5b7a44568e5760382b5716b02e6f0 Signed-off-by: Ben Walker --- lib/nvmf/subsystem.c | 17 +++++++++++++++++ lib/nvmf/subsystem.h | 2 ++ 2 files changed, 19 insertions(+) diff --git a/lib/nvmf/subsystem.c b/lib/nvmf/subsystem.c index a9625ee19..15417156a 100644 --- a/lib/nvmf/subsystem.c +++ b/lib/nvmf/subsystem.c @@ -87,6 +87,23 @@ nvmf_find_subsystem(const char *subnqn) return NULL; } +struct spdk_nvmf_subsystem * +spdk_nvmf_find_subsystem_with_cntlid(uint16_t cntlid) +{ + struct spdk_nvmf_subsystem *subsystem; + struct spdk_nvmf_session *session; + + TAILQ_FOREACH(subsystem, &g_subsystems, entries) { + TAILQ_FOREACH(session, &subsystem->sessions, link) { + if (session->cntlid == cntlid) { + return subsystem; + } + } + } + + return NULL; +} + bool spdk_nvmf_subsystem_host_allowed(struct spdk_nvmf_subsystem *subsystem, const char *hostnqn) { diff --git a/lib/nvmf/subsystem.h b/lib/nvmf/subsystem.h index 9b2ec125d..e23fd8b34 100644 --- a/lib/nvmf/subsystem.h +++ b/lib/nvmf/subsystem.h @@ -39,6 +39,8 @@ #include "spdk/nvme.h" #include "spdk/nvmf.h" +struct spdk_nvmf_subsystem *spdk_nvmf_find_subsystem_with_cntlid(uint16_t cntlid); + void spdk_nvmf_get_discovery_log_page(void *buffer, uint64_t offset, uint32_t length); extern const struct spdk_nvmf_ctrlr_ops spdk_nvmf_direct_ctrlr_ops;