Commit 239ba69c authored by Daniel Verkamp's avatar Daniel Verkamp Committed by Ben Walker
Browse files

nvmf_tgt: decouple RPC ns list from subsystem internals



MAX_VIRTUAL_NAMESPACE will be removed from the public API, so use an
RPC-specific array size to remove its use in nvmf_tgt.

Also increase the number of namespaces accepted by the RPC call; this
does not actually allow more than MAX_VIRTUAL_NAMESPACE right now, since
the namespaces are still stored in a fixed-size array inside the
subsystem, but at least the RPC side is not limited by that size now.
In the future, we will make the subsystem namespace list dynamically
sized.

Change-Id: I99c77ddeae4c13ddde34e2b945c663dbafdb68d9
Signed-off-by: default avatarDaniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/363310


Tested-by: default avatarSPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
parent 7b2a6b05
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -161,6 +161,7 @@ SPDK_RPC_REGISTER("get_nvmf_subsystems", spdk_rpc_get_nvmf_subsystems)

#define RPC_MAX_LISTEN_ADDRESSES 255
#define RPC_MAX_HOSTS 255
#define RPC_MAX_NAMESPACES 255

struct rpc_listen_addresses {
	size_t num_listen_address;
@@ -213,7 +214,7 @@ decode_rpc_hosts(const struct spdk_json_val *val, void *out)

struct rpc_dev_names {
	size_t num_names;
	char *names[MAX_VIRTUAL_NAMESPACE];
	char *names[RPC_MAX_NAMESPACES];
};

static int
@@ -222,7 +223,7 @@ decode_rpc_dev_names(const struct spdk_json_val *val, void *out)
	struct rpc_dev_names *dev_names = out;

	return spdk_json_decode_array(val, spdk_json_decode_string, dev_names->names,
				      MAX_VIRTUAL_NAMESPACE,
				      SPDK_COUNTOF(dev_names->names),
				      &dev_names->num_names, sizeof(char *));
}