Commit f5260201 authored by Wojciech Panfil's avatar Wojciech Panfil Committed by Tomasz Zawadzki
Browse files

nvmf/transport: Cleanup on listener_dump usage



Listen_address is printed in multiple places in code, but don't use
common function. Not to change API, some new parameters need to be
added.

Change-Id: Ie84df818e3db19d34112e0abb1d35e76179823a8
Signed-off-by: default avatarWojciech Panfil <wojciech.panfil@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/18833


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
parent 6a6e9354
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -569,6 +569,7 @@ nvmf_write_subsystem_config_json(struct spdk_json_write_ctx *w,

	for (listener = spdk_nvmf_subsystem_get_first_listener(subsystem); listener != NULL;
	     listener = spdk_nvmf_subsystem_get_next_listener(subsystem, listener)) {
		transport = listener->transport;
		trid = spdk_nvmf_subsystem_listener_get_trid(listener);

		spdk_json_write_object_begin(w);
@@ -578,7 +579,14 @@ nvmf_write_subsystem_config_json(struct spdk_json_write_ctx *w,
		spdk_json_write_named_object_begin(w, "params");

		spdk_json_write_named_string(w, "nqn", spdk_nvmf_subsystem_get_nqn(subsystem));
		nvmf_transport_listen_dump_opts(listener->transport, trid, w);

		spdk_json_write_named_object_begin(w, "listen_address");
		nvmf_transport_listen_dump_trid(trid, w);
		spdk_json_write_object_end(w);
		if (transport->ops->listen_dump_opts) {
			transport->ops->listen_dump_opts(transport, trid, w);
		}

		spdk_json_write_named_bool(w, "secure_channel", listener->opts.secure_channel);

		/*     } "params" */
+2 −2
Original line number Diff line number Diff line
@@ -397,8 +397,8 @@ struct spdk_nvmf_listener *nvmf_transport_find_listener(
	const struct spdk_nvme_transport_id *trid);
void nvmf_transport_dump_opts(struct spdk_nvmf_transport *transport, struct spdk_json_write_ctx *w,
			      bool named);
void nvmf_transport_listen_dump_opts(struct spdk_nvmf_transport *transport,
				     const struct spdk_nvme_transport_id *trid, struct spdk_json_write_ctx *w);
void nvmf_transport_listen_dump_trid(const struct spdk_nvme_transport_id *trid,
				     struct spdk_json_write_ctx *w);
void nvmf_subsystem_set_ana_state(struct spdk_nvmf_subsystem *subsystem,
				  const struct spdk_nvme_transport_id *trid,
				  enum spdk_nvme_ana_state ana_state, uint32_t anagrpid,
+11 −21
Original line number Diff line number Diff line
@@ -190,22 +190,15 @@ dump_nvmf_subsystem(struct spdk_json_write_ctx *w, struct spdk_nvmf_subsystem *s
	for (listener = spdk_nvmf_subsystem_get_first_listener(subsystem); listener != NULL;
	     listener = spdk_nvmf_subsystem_get_next_listener(subsystem, listener)) {
		const struct spdk_nvme_transport_id *trid;
		const char *adrfam;

		trid = spdk_nvmf_subsystem_listener_get_trid(listener);

		spdk_json_write_object_begin(w);
		adrfam = spdk_nvme_transport_id_adrfam_str(trid->adrfam);
		if (adrfam == NULL) {
			adrfam = "unknown";
		}
		/* NOTE: "transport" is kept for compatibility and will be removed in SPDK v24.01
		 * New code should use "trtype". */

		/* NOTE: "transport" is kept for compatibility; new code should use "trtype". */
		/* TODO: Remove after SPDK v23.09 release. */
		spdk_json_write_named_string(w, "transport", trid->trstring);
		spdk_json_write_named_string(w, "trtype", trid->trstring);
		spdk_json_write_named_string(w, "adrfam", adrfam);
		spdk_json_write_named_string(w, "traddr", trid->traddr);
		spdk_json_write_named_string(w, "trsvcid", trid->trsvcid);
		nvmf_transport_listen_dump_trid(trid, w);
		spdk_json_write_object_end(w);
	}
	spdk_json_write_array_end(w);
@@ -2258,7 +2251,12 @@ dump_nvmf_qpair(struct spdk_json_write_ctx *w, struct spdk_nvmf_qpair *qpair)
	spdk_json_write_named_string(w, "state", nvmf_qpair_state_str(qpair->state));

	if (spdk_nvmf_qpair_get_listen_trid(qpair, &listen_trid) == 0) {
		nvmf_transport_listen_dump_opts(qpair->transport, &listen_trid, w);
		spdk_json_write_named_object_begin(w, "listen_address");
		nvmf_transport_listen_dump_trid(&listen_trid, w);
		spdk_json_write_object_end(w);
		if (qpair->transport->ops->listen_dump_opts) {
			qpair->transport->ops->listen_dump_opts(qpair->transport, &listen_trid, w);
		}
	}

	spdk_json_write_object_end(w);
@@ -2288,20 +2286,12 @@ dump_nvmf_subsystem_listener(struct spdk_json_write_ctx *w,
			     struct spdk_nvmf_subsystem_listener *listener)
{
	const struct spdk_nvme_transport_id *trid = listener->trid;
	const char *adrfam;
	uint32_t i;

	spdk_json_write_object_begin(w);

	spdk_json_write_named_object_begin(w, "address");
	adrfam = spdk_nvme_transport_id_adrfam_str(trid->adrfam);
	if (adrfam == NULL) {
		adrfam = "unknown";
	}
	spdk_json_write_named_string(w, "trtype", trid->trstring);
	spdk_json_write_named_string(w, "adrfam", adrfam);
	spdk_json_write_named_string(w, "traddr", trid->traddr);
	spdk_json_write_named_string(w, "trsvcid", trid->trsvcid);
	nvmf_transport_listen_dump_trid(trid, w);
	spdk_json_write_object_end(w);

	if (nvmf_subsystem_get_ana_reporting(listener->subsystem)) {
+2 −10
Original line number Diff line number Diff line
@@ -97,23 +97,15 @@ nvmf_transport_dump_opts(struct spdk_nvmf_transport *transport, struct spdk_json
}

void
nvmf_transport_listen_dump_opts(struct spdk_nvmf_transport *transport,
				const struct spdk_nvme_transport_id *trid, struct spdk_json_write_ctx *w)
nvmf_transport_listen_dump_trid(const struct spdk_nvme_transport_id *trid,
				struct spdk_json_write_ctx *w)
{
	const char *adrfam = spdk_nvme_transport_id_adrfam_str(trid->adrfam);

	spdk_json_write_named_object_begin(w, "listen_address");

	spdk_json_write_named_string(w, "trtype", trid->trstring);
	spdk_json_write_named_string(w, "adrfam", adrfam ? adrfam : "unknown");
	spdk_json_write_named_string(w, "traddr", trid->traddr);
	spdk_json_write_named_string(w, "trsvcid", trid->trsvcid);

	spdk_json_write_object_end(w);

	if (transport->ops->listen_dump_opts) {
		transport->ops->listen_dump_opts(transport, trid, w);
	}
}

spdk_nvme_transport_type_t
+2 −2
Original line number Diff line number Diff line
@@ -105,8 +105,8 @@ DEFINE_STUB(spdk_nvmf_subsystem_get_first, struct spdk_nvmf_subsystem *,
	    (struct spdk_nvmf_tgt *tgt), NULL);
DEFINE_STUB_V(nvmf_transport_dump_opts, (struct spdk_nvmf_transport *transport,
		struct spdk_json_write_ctx *w, bool named));
DEFINE_STUB_V(nvmf_transport_listen_dump_opts, (struct spdk_nvmf_transport *transport,
		const struct spdk_nvme_transport_id *trid, struct spdk_json_write_ctx *w));
DEFINE_STUB_V(nvmf_transport_listen_dump_trid, (const struct spdk_nvme_transport_id *trid,
		struct spdk_json_write_ctx *w));

struct spdk_io_channel {
	struct spdk_thread		*thread;