Commit b257424b authored by Seth Howell's avatar Seth Howell Committed by Tomasz Zawadzki
Browse files

module/event_nvmf: add a map file and remove spdk prefix.



Signed-off-by: default avatarSeth Howell <seth.howell@intel.com>
Change-Id: Ibfaa6bca27faf12455bf325bfb97303805c51f14
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2352


Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
parent ab56b088
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -41,4 +41,6 @@ SO_SUFFIX := $(SO_VER).$(SO_MINOR)
C_SRCS = conf.c nvmf_rpc.c nvmf_tgt.c
LIBNAME = event_nvmf

SPDK_MAP_FILE = $(SPDK_ROOT_DIR)/mk/spdk_blank.map

include $(SPDK_ROOT_DIR)/mk/spdk.lib.mk
+41 −41
Original line number Diff line number Diff line
@@ -47,7 +47,7 @@ struct spdk_nvmf_tgt_conf *g_spdk_nvmf_tgt_conf = NULL;
uint32_t g_spdk_nvmf_tgt_max_subsystems = 0;

static int
spdk_add_nvmf_discovery_subsystem(void)
nvmf_add_discovery_subsystem(void)
{
	struct spdk_nvmf_subsystem *subsystem;

@@ -64,7 +64,7 @@ spdk_add_nvmf_discovery_subsystem(void)
}

static void
spdk_nvmf_read_config_file_tgt_max_subsystems(struct spdk_conf_section *sp,
nvmf_read_config_file_tgt_max_subsystems(struct spdk_conf_section *sp,
		int *deprecated_values)
{
	int tgt_max_subsystems;
@@ -102,7 +102,7 @@ spdk_nvmf_read_config_file_tgt_max_subsystems(struct spdk_conf_section *sp,
}

static int
spdk_nvmf_read_config_file_tgt_conf(struct spdk_conf_section *sp,
nvmf_read_config_file_tgt_conf(struct spdk_conf_section *sp,
			       struct spdk_nvmf_tgt_conf *conf)
{
	int acceptor_poll_rate;
@@ -143,21 +143,21 @@ spdk_nvmf_read_config_file_tgt_conf(struct spdk_conf_section *sp,
}

static int
spdk_nvmf_parse_tgt_max_subsystems(void)
nvmf_parse_tgt_max_subsystems(void)
{
	struct spdk_conf_section *sp;
	int deprecated_values = 0;

	sp = spdk_conf_find_section(NULL, "Nvmf");
	if (sp != NULL) {
		spdk_nvmf_read_config_file_tgt_max_subsystems(sp, &deprecated_values);
		nvmf_read_config_file_tgt_max_subsystems(sp, &deprecated_values);
	}

	return deprecated_values;
}

static struct spdk_nvmf_tgt_conf *
spdk_nvmf_parse_tgt_conf(void)
nvmf_parse_tgt_conf(void)
{
	struct spdk_nvmf_tgt_conf *conf;
	struct spdk_conf_section *sp;
@@ -175,7 +175,7 @@ spdk_nvmf_parse_tgt_conf(void)

	sp = spdk_conf_find_section(NULL, "Nvmf");
	if (sp != NULL) {
		rc = spdk_nvmf_read_config_file_tgt_conf(sp, conf);
		rc = nvmf_read_config_file_tgt_conf(sp, conf);
		if (rc) {
			free(conf);
			return NULL;
@@ -186,7 +186,7 @@ spdk_nvmf_parse_tgt_conf(void)
}

static int
spdk_nvmf_parse_nvmf_tgt(void)
nvmf_parse_nvmf_tgt(void)
{
	int rc;
	int using_deprecated_options;
@@ -196,7 +196,7 @@ spdk_nvmf_parse_nvmf_tgt(void)
	};

	if (!g_spdk_nvmf_tgt_max_subsystems) {
		using_deprecated_options = spdk_nvmf_parse_tgt_max_subsystems();
		using_deprecated_options = nvmf_parse_tgt_max_subsystems();
		if (using_deprecated_options < 0) {
			SPDK_ERRLOG("Deprecated options detected for the NVMe-oF target.\n"
				    "The following options are no longer controlled by the target\n"
@@ -208,9 +208,9 @@ spdk_nvmf_parse_nvmf_tgt(void)
	}

	if (!g_spdk_nvmf_tgt_conf) {
		g_spdk_nvmf_tgt_conf = spdk_nvmf_parse_tgt_conf();
		g_spdk_nvmf_tgt_conf = nvmf_parse_tgt_conf();
		if (!g_spdk_nvmf_tgt_conf) {
			SPDK_ERRLOG("spdk_nvmf_parse_tgt_conf() failed\n");
			SPDK_ERRLOG("nvmf_parse_tgt_conf() failed\n");
			return -1;
		}
	}
@@ -225,9 +225,9 @@ spdk_nvmf_parse_nvmf_tgt(void)
		return -1;
	}

	rc = spdk_add_nvmf_discovery_subsystem();
	rc = nvmf_add_discovery_subsystem();
	if (rc != 0) {
		SPDK_ERRLOG("spdk_add_nvmf_discovery_subsystem failed\n");
		SPDK_ERRLOG("nvmf_add_discovery_subsystem failed\n");
		return rc;
	}

@@ -235,7 +235,7 @@ spdk_nvmf_parse_nvmf_tgt(void)
}

static int
spdk_nvmf_tgt_parse_listen_ip_addr(char *address,
nvmf_tgt_parse_listen_ip_addr(char *address,
			      struct spdk_nvme_transport_id *trid)
{
	char *host;
@@ -261,7 +261,7 @@ spdk_nvmf_tgt_parse_listen_ip_addr(char *address,
}

static int
spdk_nvmf_tgt_parse_listen_fc_addr(const char *address,
nvmf_tgt_parse_listen_fc_addr(const char *address,
			      struct spdk_nvme_transport_id *trid)
{
	/* transport address format and requirements,
@@ -282,7 +282,7 @@ spdk_nvmf_tgt_parse_listen_fc_addr(const char *address,
}

static void
spdk_nvmf_tgt_listen_done(void *cb_arg, int status)
nvmf_tgt_listen_done(void *cb_arg, int status)
{
	/* TODO: Config parsing should wait for this operation to finish. */

@@ -292,7 +292,7 @@ spdk_nvmf_tgt_listen_done(void *cb_arg, int status)
}

static int
spdk_nvmf_parse_subsystem(struct spdk_conf_section *sp)
nvmf_parse_subsystem(struct spdk_conf_section *sp)
{
	const char *nqn, *mode;
	size_t i;
@@ -468,9 +468,9 @@ spdk_nvmf_parse_subsystem(struct spdk_conf_section *sp)

		if (trid.trtype == SPDK_NVME_TRANSPORT_RDMA ||
		    trid.trtype == SPDK_NVME_TRANSPORT_TCP) {
			ret = spdk_nvmf_tgt_parse_listen_ip_addr(address_dup, &trid);
			ret = nvmf_tgt_parse_listen_ip_addr(address_dup, &trid);
		} else if (trid.trtype == SPDK_NVME_TRANSPORT_FC) {
			ret = spdk_nvmf_tgt_parse_listen_fc_addr(address_dup, &trid);
			ret = nvmf_tgt_parse_listen_fc_addr(address_dup, &trid);
		}

		free(address_dup);
@@ -483,7 +483,7 @@ spdk_nvmf_parse_subsystem(struct spdk_conf_section *sp)
			SPDK_ERRLOG("Failed to listen on transport address\n");
		}

		spdk_nvmf_subsystem_add_listener(subsystem, &trid, spdk_nvmf_tgt_listen_done, NULL);
		spdk_nvmf_subsystem_add_listener(subsystem, &trid, nvmf_tgt_listen_done, NULL);
		allow_any_listener = false;
	}

@@ -508,7 +508,7 @@ done:
}

static int
spdk_nvmf_parse_subsystems(void)
nvmf_parse_subsystems(void)
{
	int rc = 0;
	struct spdk_conf_section *sp;
@@ -516,7 +516,7 @@ spdk_nvmf_parse_subsystems(void)
	sp = spdk_conf_first_section(NULL);
	while (sp != NULL) {
		if (spdk_conf_section_match_prefix(sp, "Subsystem")) {
			rc = spdk_nvmf_parse_subsystem(sp);
			rc = nvmf_parse_subsystem(sp);
			if (rc < 0) {
				return -1;
			}
@@ -526,17 +526,17 @@ spdk_nvmf_parse_subsystems(void)
	return 0;
}

struct spdk_nvmf_parse_transport_ctx {
struct nvmf_parse_transport_ctx {
	struct spdk_conf_section *sp;
	spdk_nvmf_parse_conf_done_fn cb_fn;
	nvmf_parse_conf_done_fn cb_fn;
};

static void spdk_nvmf_parse_transport(struct spdk_nvmf_parse_transport_ctx *ctx);
static void nvmf_parse_transport(struct nvmf_parse_transport_ctx *ctx);

static void
spdk_nvmf_tgt_add_transport_done(void *cb_arg, int status)
nvmf_tgt_add_transport_done(void *cb_arg, int status)
{
	struct spdk_nvmf_parse_transport_ctx *ctx = cb_arg;
	struct nvmf_parse_transport_ctx *ctx = cb_arg;
	int rc;

	if (status < 0) {
@@ -550,21 +550,21 @@ spdk_nvmf_tgt_add_transport_done(void *cb_arg, int status)
	ctx->sp = spdk_conf_next_section(ctx->sp);
	while (ctx->sp) {
		if (spdk_conf_section_match_prefix(ctx->sp, "Transport")) {
			spdk_nvmf_parse_transport(ctx);
			nvmf_parse_transport(ctx);
			return;
		}
		ctx->sp = spdk_conf_next_section(ctx->sp);
	}

	/* done with transports, parse Subsystem sections */
	rc = spdk_nvmf_parse_subsystems();
	rc = nvmf_parse_subsystems();

	ctx->cb_fn(rc);
	free(ctx);
}

static void
spdk_nvmf_parse_transport(struct spdk_nvmf_parse_transport_ctx *ctx)
nvmf_parse_transport(struct nvmf_parse_transport_ctx *ctx)
{
	const char *type;
	struct spdk_nvmf_transport_opts opts = { 0 };
@@ -653,7 +653,7 @@ spdk_nvmf_parse_transport(struct spdk_nvmf_parse_transport_ctx *ctx)

	transport = spdk_nvmf_transport_create(type, &opts);
	if (transport) {
		spdk_nvmf_tgt_add_transport(g_spdk_nvmf_tgt, transport, spdk_nvmf_tgt_add_transport_done, ctx);
		spdk_nvmf_tgt_add_transport(g_spdk_nvmf_tgt, transport, nvmf_tgt_add_transport_done, ctx);
	} else {
		goto error_out;
	}
@@ -667,11 +667,11 @@ error_out:
}

static int
spdk_nvmf_parse_transports(spdk_nvmf_parse_conf_done_fn cb_fn)
nvmf_parse_transports(nvmf_parse_conf_done_fn cb_fn)
{
	struct spdk_nvmf_parse_transport_ctx *ctx;
	struct nvmf_parse_transport_ctx *ctx;

	ctx = calloc(1, sizeof(struct spdk_nvmf_parse_transport_ctx));
	ctx = calloc(1, sizeof(struct nvmf_parse_transport_ctx));
	if (!ctx) {
		SPDK_ERRLOG("Failed alloc of context memory for parse transports\n");
		return -ENOMEM;
@@ -688,7 +688,7 @@ spdk_nvmf_parse_transports(spdk_nvmf_parse_conf_done_fn cb_fn)

	while (ctx->sp != NULL) {
		if (spdk_conf_section_match_prefix(ctx->sp, "Transport")) {
			spdk_nvmf_parse_transport(ctx);
			nvmf_parse_transport(ctx);
			return 0;
		}
		ctx->sp = spdk_conf_next_section(ctx->sp);
@@ -701,7 +701,7 @@ spdk_nvmf_parse_transports(spdk_nvmf_parse_conf_done_fn cb_fn)
}

int
spdk_nvmf_parse_conf(spdk_nvmf_parse_conf_done_fn cb_fn)
nvmf_parse_conf(nvmf_parse_conf_done_fn cb_fn)
{
	int rc;

@@ -711,13 +711,13 @@ spdk_nvmf_parse_conf(spdk_nvmf_parse_conf_done_fn cb_fn)
	}

	/* NVMf section */
	rc = spdk_nvmf_parse_nvmf_tgt();
	rc = nvmf_parse_nvmf_tgt();
	if (rc < 0) {
		return rc;
	}

	/* Transport sections */
	rc = spdk_nvmf_parse_transports(cb_fn);
	rc = nvmf_parse_transports(cb_fn);
	if (rc < 0) {
		return rc;
	}
+2 −2
Original line number Diff line number Diff line
@@ -67,8 +67,8 @@ extern uint32_t g_spdk_nvmf_tgt_max_subsystems;

extern struct spdk_nvmf_tgt *g_spdk_nvmf_tgt;

typedef void (*spdk_nvmf_parse_conf_done_fn)(int status);
typedef void (*nvmf_parse_conf_done_fn)(int status);

int spdk_nvmf_parse_conf(spdk_nvmf_parse_conf_done_fn cb_fn);
int nvmf_parse_conf(nvmf_parse_conf_done_fn cb_fn);

#endif
+6 −6
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@ static const struct spdk_json_object_decoder nvmf_rpc_subsystem_tgt_opts_decoder
};

static void
spdk_rpc_nvmf_set_max_subsystems(struct spdk_jsonrpc_request *request,
rpc_nvmf_set_max_subsystems(struct spdk_jsonrpc_request *request,
			    const struct spdk_json_val *params)
{
	struct spdk_json_write_ctx *w;
@@ -70,7 +70,7 @@ spdk_rpc_nvmf_set_max_subsystems(struct spdk_jsonrpc_request *request,
	spdk_json_write_bool(w, true);
	spdk_jsonrpc_end_result(request, w);
}
SPDK_RPC_REGISTER("nvmf_set_max_subsystems", spdk_rpc_nvmf_set_max_subsystems,
SPDK_RPC_REGISTER("nvmf_set_max_subsystems", rpc_nvmf_set_max_subsystems,
		  SPDK_RPC_STARTUP)
SPDK_RPC_REGISTER_ALIAS_DEPRECATED(nvmf_set_max_subsystems, set_nvmf_target_max_subsystems)

@@ -117,7 +117,7 @@ static const struct spdk_json_object_decoder nvmf_rpc_subsystem_tgt_conf_decoder
};

static void
spdk_rpc_nvmf_set_config(struct spdk_jsonrpc_request *request,
rpc_nvmf_set_config(struct spdk_jsonrpc_request *request,
		    const struct spdk_json_val *params)
{
	struct spdk_nvmf_tgt_conf *conf;
@@ -159,5 +159,5 @@ spdk_rpc_nvmf_set_config(struct spdk_jsonrpc_request *request,
	spdk_json_write_bool(w, true);
	spdk_jsonrpc_end_result(request, w);
}
SPDK_RPC_REGISTER("nvmf_set_config", spdk_rpc_nvmf_set_config, SPDK_RPC_STARTUP)
SPDK_RPC_REGISTER("nvmf_set_config", rpc_nvmf_set_config, SPDK_RPC_STARTUP)
SPDK_RPC_REGISTER_ALIAS_DEPRECATED(nvmf_set_config, set_nvmf_target_config)
+19 −19
Original line number Diff line number Diff line
@@ -91,11 +91,11 @@ static struct spdk_poller *g_acceptor_poller = NULL;
static void nvmf_tgt_advance_state(void);

static void
_spdk_nvmf_shutdown_cb(void *arg1)
nvmf_shutdown_cb(void *arg1)
{
	/* Still in initialization state, defer shutdown operation */
	if (g_tgt_state < NVMF_TGT_RUNNING) {
		spdk_thread_send_msg(spdk_get_thread(), _spdk_nvmf_shutdown_cb, NULL);
		spdk_thread_send_msg(spdk_get_thread(), nvmf_shutdown_cb, NULL);
		return;
	} else if (g_tgt_state != NVMF_TGT_RUNNING && g_tgt_state != NVMF_TGT_ERROR) {
		/* Already in Shutdown status, ignore the signal */
@@ -112,14 +112,14 @@ _spdk_nvmf_shutdown_cb(void *arg1)
}

static void
spdk_nvmf_subsystem_fini(void)
nvmf_subsystem_fini(void)
{
	_spdk_nvmf_shutdown_cb(NULL);
	nvmf_shutdown_cb(NULL);
}

/* Round robin selection of poll groups */
static struct nvmf_tgt_poll_group *
spdk_nvmf_get_next_pg(void)
nvmf_get_next_pg(void)
{
	struct nvmf_tgt_poll_group *pg;

@@ -133,13 +133,13 @@ spdk_nvmf_get_next_pg(void)
}

static struct nvmf_tgt_poll_group *
spdk_nvmf_get_optimal_pg(struct spdk_nvmf_qpair *qpair)
nvmf_get_optimal_pg(struct spdk_nvmf_qpair *qpair)
{
	struct nvmf_tgt_poll_group *pg, *_pg = NULL;
	struct spdk_nvmf_poll_group *group = spdk_nvmf_get_optimal_poll_group(qpair);

	if (group == NULL) {
		_pg = spdk_nvmf_get_next_pg();
		_pg = nvmf_get_next_pg();
		goto end;
	}

@@ -219,7 +219,7 @@ nvmf_tgt_get_pg(struct spdk_nvmf_qpair *qpair)
				break;
			}
			/* Get the next available poll group for the new host */
			pg = spdk_nvmf_get_next_pg();
			pg = nvmf_get_next_pg();
			new_trid->pg = pg;
			memcpy(new_trid->host_trid.traddr, trid.traddr,
			       SPDK_NVMF_TRADDR_MAX_LEN + 1);
@@ -227,11 +227,11 @@ nvmf_tgt_get_pg(struct spdk_nvmf_qpair *qpair)
		}
		break;
	case CONNECT_SCHED_TRANSPORT_OPTIMAL_GROUP:
		pg = spdk_nvmf_get_optimal_pg(qpair);
		pg = nvmf_get_optimal_pg(qpair);
		break;
	case CONNECT_SCHED_ROUND_ROBIN:
	default:
		pg = spdk_nvmf_get_next_pg();
		pg = nvmf_get_next_pg();
		break;
	}

@@ -470,8 +470,8 @@ nvmf_tgt_parse_conf_done(int status)
static void
nvmf_tgt_parse_conf_start(void *ctx)
{
	if (spdk_nvmf_parse_conf(nvmf_tgt_parse_conf_done)) {
		SPDK_ERRLOG("spdk_nvmf_parse_conf() failed\n");
	if (nvmf_parse_conf(nvmf_tgt_parse_conf_done)) {
		SPDK_ERRLOG("nvmf_parse_conf() failed\n");
		g_tgt_state = NVMF_TGT_ERROR;
		nvmf_tgt_advance_state();
	}
@@ -515,7 +515,7 @@ fixup_identify_ctrlr(struct spdk_nvmf_request *req)
}

static int
spdk_nvmf_custom_identify_hdlr(struct spdk_nvmf_request *req)
nvmf_custom_identify_hdlr(struct spdk_nvmf_request *req)
{
	struct spdk_nvme_cmd *cmd = spdk_nvmf_request_get_cmd(req);
	struct spdk_bdev *bdev;
@@ -576,7 +576,7 @@ nvmf_tgt_advance_state(void)
			/* Config parsed */
			if (g_spdk_nvmf_tgt_conf->admin_passthru.identify_ctrlr) {
				SPDK_NOTICELOG("Custom identify ctrlr handler enabled\n");
				spdk_nvmf_set_custom_admin_cmd_hdlr(SPDK_NVME_OPC_IDENTIFY, spdk_nvmf_custom_identify_hdlr);
				spdk_nvmf_set_custom_admin_cmd_hdlr(SPDK_NVME_OPC_IDENTIFY, nvmf_custom_identify_hdlr);
			}
			/* Create poll group threads, and send a message to each thread
			 * and create a poll group.
@@ -638,7 +638,7 @@ nvmf_tgt_advance_state(void)
}

static void
spdk_nvmf_subsystem_init(void)
nvmf_subsystem_init(void)
{
	g_tgt_state = NVMF_TGT_INIT_NONE;
	nvmf_tgt_advance_state();
@@ -657,7 +657,7 @@ get_conn_sched_string(enum spdk_nvmf_connect_sched sched)
}

static void
spdk_nvmf_subsystem_write_config_json(struct spdk_json_write_ctx *w)
nvmf_subsystem_write_config_json(struct spdk_json_write_ctx *w)
{
	spdk_json_write_array_begin(w);

@@ -681,9 +681,9 @@ spdk_nvmf_subsystem_write_config_json(struct spdk_json_write_ctx *w)

static struct spdk_subsystem g_spdk_subsystem_nvmf = {
	.name = "nvmf",
	.init = spdk_nvmf_subsystem_init,
	.fini = spdk_nvmf_subsystem_fini,
	.write_config_json = spdk_nvmf_subsystem_write_config_json,
	.init = nvmf_subsystem_init,
	.fini = nvmf_subsystem_fini,
	.write_config_json = nvmf_subsystem_write_config_json,
};

SPDK_SUBSYSTEM_REGISTER(g_spdk_subsystem_nvmf)
Loading