Commit 29f6172a authored by Ben Walker's avatar Ben Walker Committed by Daniel Verkamp
Browse files

nvmf: Use trtype enum in transport instead of strings



Change-Id: Ie05f58e677107072fea6cc7702bab47a077cb595
Signed-off-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/370743


Reviewed-by: default avatarDaniel Verkamp <daniel.verkamp@intel.com>
Tested-by: default avatarSPDK Automated Test System <sys_sgsw@intel.com>
parent 402288ac
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -75,9 +75,9 @@ dump_nvmf_subsystem(struct spdk_json_write_ctx *w, struct nvmf_tgt_subsystem *tg
		spdk_json_write_object_begin(w);
		/* NOTE: "transport" is kept for compatibility; new code should use "trtype" */
		spdk_json_write_name(w, "transport");
		spdk_json_write_string(w, listen_addr->trname);
		spdk_json_write_string(w, spdk_nvme_transport_id_trtype_str(listen_addr->trtype));
		spdk_json_write_name(w, "trtype");
		spdk_json_write_string(w, listen_addr->trname);
		spdk_json_write_string(w, spdk_nvme_transport_id_trtype_str(listen_addr->trtype));

		if (adrfam) {
			spdk_json_write_name(w, "adrfam");
+2 −1
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@
#include "spdk/stdinc.h"

#include "spdk/env.h"
#include "spdk/nvme.h"
#include "spdk/nvmf_spec.h"
#include "spdk/queue.h"

@@ -67,9 +68,9 @@ typedef void (*spdk_nvmf_subsystem_connect_fn)(void *cb_ctx, struct spdk_nvmf_re
typedef void (*spdk_nvmf_subsystem_disconnect_fn)(void *cb_ctx, struct spdk_nvmf_conn *conn);

struct spdk_nvmf_listen_addr {
	enum spdk_nvme_transport_type		trtype;
	char					*traddr;
	char					*trsvcid;
	char					*trname;
	enum spdk_nvmf_adrfam			adrfam;
	TAILQ_ENTRY(spdk_nvmf_listen_addr)	link;
};
+1 −1
Original line number Diff line number Diff line
@@ -99,7 +99,7 @@ nvmf_update_discovery_log(void)
			entry->subtype = subsystem->subtype;
			snprintf(entry->subnqn, sizeof(entry->subnqn), "%s", subsystem->subnqn);

			transport = spdk_nvmf_transport_get(listen_addr->trname);
			transport = spdk_nvmf_transport_get(listen_addr->trtype);
			assert(transport != NULL);

			transport->listen_addr_discover(listen_addr, entry);
+6 −12
Original line number Diff line number Diff line
@@ -97,13 +97,15 @@ spdk_nvmf_tgt_fini(void)
}

struct spdk_nvmf_listen_addr *
spdk_nvmf_listen_addr_create(const char *trname, enum spdk_nvmf_adrfam adrfam, const char *traddr,
spdk_nvmf_listen_addr_create(enum spdk_nvme_transport_type trtype,
			     enum spdk_nvmf_adrfam adrfam,
			     const char *traddr,
			     const char *trsvcid)
{
	struct spdk_nvmf_listen_addr *listen_addr;
	const struct spdk_nvmf_transport *transport;

	transport = spdk_nvmf_transport_get(trname);
	transport = spdk_nvmf_transport_get(trtype);
	if (!transport) {
		return NULL;
	}
@@ -113,6 +115,7 @@ spdk_nvmf_listen_addr_create(const char *trname, enum spdk_nvmf_adrfam adrfam, c
		return NULL;
	}

	listen_addr->trtype = trtype;
	listen_addr->adrfam = adrfam;

	listen_addr->traddr = strdup(traddr);
@@ -128,14 +131,6 @@ spdk_nvmf_listen_addr_create(const char *trname, enum spdk_nvmf_adrfam adrfam, c
		return NULL;
	}

	listen_addr->trname = strdup(trname);
	if (!listen_addr->trname) {
		free(listen_addr->traddr);
		free(listen_addr->trsvcid);
		free(listen_addr);
		return NULL;
	}

	return listen_addr;
}

@@ -144,7 +139,7 @@ spdk_nvmf_listen_addr_destroy(struct spdk_nvmf_listen_addr *addr)
{
	const struct spdk_nvmf_transport *transport;

	transport = spdk_nvmf_transport_get(addr->trname);
	transport = spdk_nvmf_transport_get(addr->trtype);
	assert(transport != NULL);
	transport->listen_addr_remove(addr);

@@ -154,7 +149,6 @@ spdk_nvmf_listen_addr_destroy(struct spdk_nvmf_listen_addr *addr)
void
spdk_nvmf_listen_addr_cleanup(struct spdk_nvmf_listen_addr *addr)
{
	free(addr->trname);
	free(addr->trsvcid);
	free(addr->traddr);
	free(addr);
+1 −1
Original line number Diff line number Diff line
@@ -91,7 +91,7 @@ struct spdk_nvmf_tgt {

extern struct spdk_nvmf_tgt g_nvmf_tgt;

struct spdk_nvmf_listen_addr *spdk_nvmf_listen_addr_create(const char *trname,
struct spdk_nvmf_listen_addr *spdk_nvmf_listen_addr_create(enum spdk_nvme_transport_type trtype,
		enum spdk_nvmf_adrfam adrfam, const char *traddr, const char *trsvcid);
void spdk_nvmf_listen_addr_destroy(struct spdk_nvmf_listen_addr *addr);
void spdk_nvmf_listen_addr_cleanup(struct spdk_nvmf_listen_addr *addr);
Loading