nvmf: Hide definition of spdk_nvmf_subsystem

Now the user only sees an opaque structure.

Change-Id: Ie73b4bb0157228bbcab1b3c211d7383f881fd07e
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/374708
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:
Ben Walker 2017-08-17 09:01:51 -07:00 committed by Jim Harris
parent 683d4a4cad
commit 977d78778b
2 changed files with 33 additions and 32 deletions

View File

@ -72,43 +72,11 @@ struct spdk_nvmf_listen_addr {
TAILQ_ENTRY(spdk_nvmf_listen_addr) link;
};
struct spdk_nvmf_ns {
struct spdk_bdev *bdev;
struct spdk_bdev_desc *desc;
struct spdk_io_channel *ch;
uint32_t id;
bool allocated;
};
/*
* The NVMf subsystem, as indicated in the specification, is a collection
* of controllers. Any individual controller has
* access to all the NVMe device/namespaces maintained by the subsystem.
*/
struct spdk_nvmf_subsystem {
uint32_t id;
char subnqn[SPDK_NVMF_NQN_MAX_LEN + 1];
enum spdk_nvmf_subtype subtype;
bool is_removed;
char sn[MAX_SN_LEN + 1];
struct spdk_nvmf_ns ns[MAX_VIRTUAL_NAMESPACE];
uint32_t max_nsid;
void *cb_ctx;
spdk_nvmf_subsystem_connect_fn connect_cb;
spdk_nvmf_subsystem_disconnect_fn disconnect_cb;
TAILQ_HEAD(, spdk_nvmf_ctrlr) ctrlrs;
TAILQ_HEAD(, spdk_nvmf_host) hosts;
TAILQ_HEAD(, spdk_nvmf_listener) listeners;
TAILQ_ENTRY(spdk_nvmf_subsystem) entries;
};
struct spdk_nvmf_subsystem *spdk_nvmf_create_subsystem(const char *nqn,
enum spdk_nvmf_subtype type,
void *cb_ctx,
@ -222,6 +190,7 @@ struct spdk_nvmf_listener *spdk_nvmf_subsystem_get_next_listener(
const struct spdk_nvme_transport_id *spdk_nvmf_listener_get_trid(
struct spdk_nvmf_listener *listener);
void spdk_nvmf_subsystem_poll(struct spdk_nvmf_subsystem *subsystem);
/**

View File

@ -74,6 +74,38 @@ struct spdk_nvmf_poll_group {
TAILQ_ENTRY(spdk_nvmf_poll_group) link;
};
struct spdk_nvmf_ns {
struct spdk_bdev *bdev;
struct spdk_bdev_desc *desc;
struct spdk_io_channel *ch;
uint32_t id;
bool allocated;
};
struct spdk_nvmf_subsystem {
uint32_t id;
char subnqn[SPDK_NVMF_NQN_MAX_LEN + 1];
enum spdk_nvmf_subtype subtype;
bool is_removed;
char sn[MAX_SN_LEN + 1];
struct spdk_nvmf_ns ns[MAX_VIRTUAL_NAMESPACE];
uint32_t max_nsid;
void *cb_ctx;
spdk_nvmf_subsystem_connect_fn connect_cb;
spdk_nvmf_subsystem_disconnect_fn disconnect_cb;
TAILQ_HEAD(, spdk_nvmf_ctrlr) ctrlrs;
TAILQ_HEAD(, spdk_nvmf_host) hosts;
TAILQ_HEAD(, spdk_nvmf_listener) listeners;
TAILQ_ENTRY(spdk_nvmf_subsystem) entries;
};
extern struct spdk_nvmf_tgt g_nvmf_tgt;
struct spdk_nvmf_listen_addr *spdk_nvmf_listen_addr_create(struct spdk_nvme_transport_id *trid);