From: jay.e.sternberg@intel.com (Jay Sternberg)
Subject: [PATCH v2 08/11] nvmet: Maintain a global list of ports
Date: Tue, 16 Oct 2018 10:11:20 -0700 [thread overview]
Message-ID: <1539709883-12424-9-git-send-email-jay.e.sternberg@intel.com> (raw)
In-Reply-To: <1539709883-12424-1-git-send-email-jay.e.sternberg@intel.com>
To be used when Discovery Change notifications occur
Signed-off-by: Jay Sternberg <jay.e.sternberg at intel.com>
Reviewed-by: Phil Cayton <phil.cayton at intel.com>
---
v2 - unchanged
drivers/nvme/target/configfs.c | 7 +++++++
drivers/nvme/target/nvmet.h | 3 +++
2 files changed, 10 insertions(+)
diff --git a/drivers/nvme/target/configfs.c b/drivers/nvme/target/configfs.c
index df841e0..c1ad175 100644
--- a/drivers/nvme/target/configfs.c
+++ b/drivers/nvme/target/configfs.c
@@ -23,6 +23,9 @@
static const struct config_item_type nvmet_host_type;
static const struct config_item_type nvmet_subsys_type;
+static LIST_HEAD(nvmet_ports_list);
+struct list_head *nvmet_ports = &nvmet_ports_list;
+
static const struct nvmet_transport_name {
u8 type;
const char *name;
@@ -1091,6 +1094,8 @@ static void nvmet_port_release(struct config_item *item)
{
struct nvmet_port *port = to_nvmet_port(item);
+ list_del(&port->global_entry);
+
kfree(port->ana_state);
kfree(port);
}
@@ -1143,6 +1148,8 @@ static struct config_group *nvmet_ports_make(struct config_group *group,
port->ana_state[i] = NVME_ANA_INACCESSIBLE;
}
+ list_add(&port->global_entry, &nvmet_ports_list);
+
INIT_LIST_HEAD(&port->entry);
INIT_LIST_HEAD(&port->subsystems);
INIT_LIST_HEAD(&port->referrals);
diff --git a/drivers/nvme/target/nvmet.h b/drivers/nvme/target/nvmet.h
index dbde3ad..ea93a46 100644
--- a/drivers/nvme/target/nvmet.h
+++ b/drivers/nvme/target/nvmet.h
@@ -130,6 +130,7 @@ struct nvmet_port {
struct list_head subsystems;
struct config_group referrals_group;
struct list_head referrals;
+ struct list_head global_entry;
struct config_group ana_groups_group;
struct nvmet_ana_group ana_default_group;
enum nvme_ana_state *ana_state;
@@ -420,6 +421,8 @@ u16 nvmet_copy_from_sgl(struct nvmet_req *req, off_t off, void *buf,
u32 nvmet_get_log_page_len(struct nvme_command *cmd);
+extern struct list_head *nvmet_ports;
+
#define NVMET_QUEUE_SIZE 1024
#define NVMET_NR_QUEUES 128
#define NVMET_MAX_CMD NVMET_QUEUE_SIZE
--
1.8.3.1
next prev parent reply other threads:[~2018-10-16 17:11 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-16 17:11 [PATCH v2 00/11] nvmet: Enable AENs support for Discovery controllers Jay Sternberg
2018-10-16 17:11 ` [PATCH v2 01/11] nvmet: Provide aen bit functions for multiple controller types Jay Sternberg
2018-11-08 9:49 ` Christoph Hellwig
2018-10-16 17:11 ` [PATCH v2 02/11] nvmet: Change aen mask functions to use bit numbers Jay Sternberg
2018-11-08 9:50 ` Christoph Hellwig
2018-10-16 17:11 ` [PATCH v2 03/11] nvmet: Allow Keep Alive for Discovery controller Jay Sternberg
2018-11-08 9:52 ` Christoph Hellwig
2018-10-16 17:11 ` [PATCH v2 04/11] nvmet: Make kato and AEN processing for use by other controllers Jay Sternberg
2018-11-08 9:53 ` Christoph Hellwig
2018-10-16 17:11 ` [PATCH v2 05/11] nvmet: Add defines for discovery change async events Jay Sternberg
2018-11-08 9:54 ` Christoph Hellwig
2018-11-08 9:54 ` Christoph Hellwig
2018-10-16 17:11 ` [PATCH v2 06/11] nvmet: Add support to Discovery controllers for commands Jay Sternberg
2018-11-08 9:54 ` Christoph Hellwig
2018-10-16 17:11 ` [PATCH v2 07/11] nvmet: Add parent to nvmet_referral_disable Jay Sternberg
2018-11-08 9:55 ` Christoph Hellwig
2018-10-16 17:11 ` Jay Sternberg [this message]
2018-11-08 9:56 ` [PATCH v2 08/11] nvmet: Maintain a global list of ports Christoph Hellwig
2018-10-16 17:11 ` [PATCH v2 09/11] nvmet: allow host connect even if no allowed Jay Sternberg
2018-11-08 9:58 ` Christoph Hellwig
2018-10-16 17:11 ` [PATCH v2 10/11] nvmet: Provide adding AENs for multiple controller types Jay Sternberg
2018-11-08 9:58 ` Christoph Hellwig
2018-10-16 17:11 ` [PATCH v2 11/11] nvmet: Enable Discovery Controller AENs Jay Sternberg
2018-11-08 10:03 ` Christoph Hellwig
2018-10-31 5:01 ` [PATCH v2 00/11] nvmet: Enable AENs support for Discovery controllers Sagi Grimberg
2018-11-01 6:05 ` Christoph Hellwig
2018-11-01 15:57 ` Sagi Grimberg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1539709883-12424-9-git-send-email-jay.e.sternberg@intel.com \
--to=jay.e.sternberg@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).