Commit e43b1b86 authored by Konrad Sztyber's avatar Konrad Sztyber
Browse files

nvmf: remove listen_address.transport decoders



This field was deprecated in favor of "trtype" and was supposed to be
removed in the upcoming release.

Signed-off-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I62ecbf3f801e05635937a4d940e2170676d1b205
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24803


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@nvidia.com>
Community-CI: Mellanox Build Bot
parent bcbd1fdd
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -29,11 +29,6 @@ in `spdk_nvme_ctrlr_opts.tls_psk`.

### nvmf

#### `decode_rpc_listen_address`

`transport` field in `listen_addresses` decoders is deprecated. `trtype` field should be used
instead. `transport` field will be removed in 24.09 release.

#### `spdk_nvmf_request_exec_fabrics`

This function is deprecated and will be removed in the 24.09 release.  Instead, users should use
+2 −32
Original line number Diff line number Diff line
@@ -19,8 +19,6 @@

#include "nvmf_internal.h"

static bool g_logged_deprecated_decode_rpc_listen_address = false;

static int rpc_ana_state_parse(const char *str, enum spdk_nvme_ana_state *ana_state);

static int
@@ -583,7 +581,6 @@ invalid_custom_response:
SPDK_RPC_REGISTER("nvmf_delete_subsystem", rpc_nvmf_delete_subsystem, SPDK_RPC_RUNTIME)

struct rpc_listen_address {
	char *transport;
	char *trtype;
	char *adrfam;
	char *traddr;
@@ -591,51 +588,24 @@ struct rpc_listen_address {
};

static const struct spdk_json_object_decoder rpc_listen_address_decoders[] = {
	/* NOTE: "transport" is kept for compatibility; new code should use "trtype" */
	{"transport", offsetof(struct rpc_listen_address, transport), spdk_json_decode_string, true},
	{"trtype", offsetof(struct rpc_listen_address, trtype), spdk_json_decode_string, true},
	{"adrfam", offsetof(struct rpc_listen_address, adrfam), spdk_json_decode_string, true},
	{"traddr", offsetof(struct rpc_listen_address, traddr), spdk_json_decode_string},
	{"trsvcid", offsetof(struct rpc_listen_address, trsvcid), spdk_json_decode_string, true},
};

SPDK_LOG_DEPRECATION_REGISTER(decode_rpc_listen_address,
			      "[listen_]address.transport is deprecated in favor of trtype",
			      "v24.09", 0);

static int
decode_rpc_listen_address(const struct spdk_json_val *val, void *out)
{
	struct rpc_listen_address *req = (struct rpc_listen_address *)out;

	if (spdk_json_decode_object(val, rpc_listen_address_decoders,
				    SPDK_COUNTOF(rpc_listen_address_decoders),
				    req)) {
		SPDK_ERRLOG("spdk_json_decode_object failed\n");
		return -1;
	}

	if (req->transport && req->trtype) {
		SPDK_ERRLOG("It is invalid to specify both 'transport' and 'trtype'.\n");
		return -1;
	}

	/* Log only once */
	if (req->transport && !g_logged_deprecated_decode_rpc_listen_address) {
		SPDK_LOG_DEPRECATED(decode_rpc_listen_address);
		g_logged_deprecated_decode_rpc_listen_address = true;
		/* Move ->transport to ->trtype since that's one we use now. */
		req->trtype = req->transport;
		req->transport = NULL;
	}

	return 0;
	return spdk_json_decode_object(val, rpc_listen_address_decoders,
				       SPDK_COUNTOF(rpc_listen_address_decoders), req);
}

static void
free_rpc_listen_address(struct rpc_listen_address *r)
{
	free(r->transport);
	free(r->trtype);
	free(r->adrfam);
	free(r->traddr);