Commit ee3403b5 authored by Pawel Kaminski's avatar Pawel Kaminski Committed by Jim Harris
Browse files

scripts/rpc: Rename rpcs related to ftl bdev



Rename construct_ftl_bdev to bdev_ftl_create
Rename delete_ftl_bdev to bdev_ftl_delete

Change-Id: I661ecea2ed5f53880c9a77819fcca064f0410535
Signed-off-by: default avatarPawel Kaminski <pawelx.kaminski@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465897


Reviewed-by: default avatarBroadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
parent 149f0f7e
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -225,7 +225,7 @@ Logical blks per chunk: 24576

Similarly to other bdevs, the FTL bdevs can be created either based on config files or via RPC. Both
interfaces require the same arguments which are described by the `--help` option of the
`construct_ftl_bdev` RPC call, which are:
`bdev_ftl_create` RPC call, which are:
 - bdev's name
 - transport type of the device (e.g. PCIe)
 - transport address of the device (e.g. `00:0a.0`)
@@ -248,12 +248,12 @@ The above will result in creation of two devices:
The same can be achieved with the following two RPC calls:

```
$ scripts/rpc.py construct_ftl_bdev -b nvme0 -l 0-3 -a 00:0a.0
$ scripts/rpc.py bdev_ftl_create -b nvme0 -l 0-3 -a 00:0a.0
{
        "name": "nvme0",
        "uuid": "b4624a89-3174-476a-b9e5-5fd27d73e870"
}
$ scripts/rpc.py construct_ftl_bdev -b nvme1 -l 0-3 -a 00:0a.0 -u e9825835-b03c-49d7-bc3e-5827cbde8a88
$ scripts/rpc.py bdev_ftl_create -b nvme1 -l 0-3 -a 00:0a.0 -u e9825835-b03c-49d7-bc3e-5827cbde8a88
{
        "name": "nvme1",
        "uuid": "e9825835-b03c-49d7-bc3e-5827cbde8a88"
+6 −6
Original line number Diff line number Diff line
@@ -297,8 +297,8 @@ Example response:
    "bdev_null_create",
    "bdev_malloc_delete",
    "bdev_malloc_create",
    "delete_ftl_bdev",
    "construct_ftl_bdev",
    "bdev_ftl_delete",
    "bdev_ftl_create",
    "bdev_lvol_get_lvstores",
    "bdev_lvol_delete",
    "bdev_lvol_resize",
@@ -2005,7 +2005,7 @@ Example response:
}
~~~

## construct_ftl_bdev {#rpc_construct_ftl_bdev}
## bdev_ftl_create {#rpc_bdev_ftl_create}

Create FTL bdev.

@@ -2040,7 +2040,7 @@ Example request:
    "uuid": "4a7481ce-786f-41a0-9b86-8f7465c8f4d3"
  },
  "jsonrpc": "2.0",
  "method": "construct_ftl_bdev",
  "method": "bdev_ftl_create",
  "id": 1
}
~~~
@@ -2058,7 +2058,7 @@ Example response:
}
~~~

## delete_ftl_bdev {#rpc_delete_ftl_bdev}
## bdev_ftl_delete {#rpc_bdev_ftl_delete}

Delete FTL bdev.

@@ -2080,7 +2080,7 @@ Example request:
    "name": "nvme0"
  },
  "jsonrpc": "2.0",
  "method": "delete_ftl_bdev",
  "method": "bdev_ftl_delete",
  "id": 1
}
~~~
+1 −1
Original line number Diff line number Diff line
@@ -437,7 +437,7 @@ bdev_ftl_write_config_json(struct spdk_bdev *bdev, struct spdk_json_write_ctx *w

	spdk_json_write_object_begin(w);

	spdk_json_write_named_string(w, "method", "construct_ftl_bdev");
	spdk_json_write_named_string(w, "method", "bdev_ftl_create");

	spdk_json_write_named_object_begin(w, "params");
	spdk_json_write_named_string(w, "name", ftl_bdev->bdev.name);
+35 −33
Original line number Diff line number Diff line
@@ -39,7 +39,7 @@

#include "bdev_ftl.h"

struct rpc_construct_ftl {
struct rpc_bdev_ftl_create {
	char *name;
	char *trtype;
	char *traddr;
@@ -50,7 +50,7 @@ struct rpc_construct_ftl {
};

static void
free_rpc_construct_ftl(struct rpc_construct_ftl *req)
free_rpc_bdev_ftl_create(struct rpc_bdev_ftl_create *req)
{
	free(req->name);
	free(req->trtype);
@@ -60,65 +60,65 @@ free_rpc_construct_ftl(struct rpc_construct_ftl *req)
	free(req->cache_bdev);
}

static const struct spdk_json_object_decoder rpc_construct_ftl_decoders[] = {
	{"name", offsetof(struct rpc_construct_ftl, name), spdk_json_decode_string},
	{"trtype", offsetof(struct rpc_construct_ftl, trtype), spdk_json_decode_string},
	{"traddr", offsetof(struct rpc_construct_ftl, traddr), spdk_json_decode_string},
	{"punits", offsetof(struct rpc_construct_ftl, punits), spdk_json_decode_string},
	{"uuid", offsetof(struct rpc_construct_ftl, uuid), spdk_json_decode_string, true},
	{"cache", offsetof(struct rpc_construct_ftl, cache_bdev), spdk_json_decode_string, true},
static const struct spdk_json_object_decoder rpc_bdev_ftl_create_decoders[] = {
	{"name", offsetof(struct rpc_bdev_ftl_create, name), spdk_json_decode_string},
	{"trtype", offsetof(struct rpc_bdev_ftl_create, trtype), spdk_json_decode_string},
	{"traddr", offsetof(struct rpc_bdev_ftl_create, traddr), spdk_json_decode_string},
	{"punits", offsetof(struct rpc_bdev_ftl_create, punits), spdk_json_decode_string},
	{"uuid", offsetof(struct rpc_bdev_ftl_create, uuid), spdk_json_decode_string, true},
	{"cache", offsetof(struct rpc_bdev_ftl_create, cache_bdev), spdk_json_decode_string, true},
	{
		"allow_open_bands", offsetof(struct rpc_construct_ftl, ftl_conf) +
		"allow_open_bands", offsetof(struct rpc_bdev_ftl_create, ftl_conf) +
		offsetof(struct spdk_ftl_conf, allow_open_bands), spdk_json_decode_bool, true
	},
	{
		"overprovisioning", offsetof(struct rpc_construct_ftl, ftl_conf) +
		"overprovisioning", offsetof(struct rpc_bdev_ftl_create, ftl_conf) +
		offsetof(struct spdk_ftl_conf, lba_rsvd), spdk_json_decode_uint64, true
	},
	{
		"limit_crit", offsetof(struct rpc_construct_ftl, ftl_conf) +
		"limit_crit", offsetof(struct rpc_bdev_ftl_create, ftl_conf) +
		offsetof(struct spdk_ftl_conf, limits[SPDK_FTL_LIMIT_CRIT]) +
		offsetof(struct spdk_ftl_limit, limit),
		spdk_json_decode_uint64, true
	},
	{
		"limit_crit_threshold", offsetof(struct rpc_construct_ftl, ftl_conf) +
		"limit_crit_threshold", offsetof(struct rpc_bdev_ftl_create, ftl_conf) +
		offsetof(struct spdk_ftl_conf, limits[SPDK_FTL_LIMIT_CRIT]) +
		offsetof(struct spdk_ftl_limit, thld),
		spdk_json_decode_uint64, true
	},
	{
		"limit_high", offsetof(struct rpc_construct_ftl, ftl_conf) +
		"limit_high", offsetof(struct rpc_bdev_ftl_create, ftl_conf) +
		offsetof(struct spdk_ftl_conf, limits[SPDK_FTL_LIMIT_HIGH]) +
		offsetof(struct spdk_ftl_limit, limit),
		spdk_json_decode_uint64, true
	},
	{
		"limit_high_threshold", offsetof(struct rpc_construct_ftl, ftl_conf) +
		"limit_high_threshold", offsetof(struct rpc_bdev_ftl_create, ftl_conf) +
		offsetof(struct spdk_ftl_conf, limits[SPDK_FTL_LIMIT_HIGH]) +
		offsetof(struct spdk_ftl_limit, thld),
		spdk_json_decode_uint64, true
	},
	{
		"limit_low", offsetof(struct rpc_construct_ftl, ftl_conf) +
		"limit_low", offsetof(struct rpc_bdev_ftl_create, ftl_conf) +
		offsetof(struct spdk_ftl_conf, limits[SPDK_FTL_LIMIT_LOW]) +
		offsetof(struct spdk_ftl_limit, limit),
		spdk_json_decode_uint64, true
	},
	{
		"limit_low_threshold", offsetof(struct rpc_construct_ftl, ftl_conf) +
		"limit_low_threshold", offsetof(struct rpc_bdev_ftl_create, ftl_conf) +
		offsetof(struct spdk_ftl_conf, limits[SPDK_FTL_LIMIT_LOW]) +
		offsetof(struct spdk_ftl_limit, thld),
		spdk_json_decode_uint64, true
	},
	{
		"limit_start", offsetof(struct rpc_construct_ftl, ftl_conf) +
		"limit_start", offsetof(struct rpc_bdev_ftl_create, ftl_conf) +
		offsetof(struct spdk_ftl_conf, limits[SPDK_FTL_LIMIT_START]) +
		offsetof(struct spdk_ftl_limit, limit),
		spdk_json_decode_uint64, true
	},
	{
		"limit_start_threshold", offsetof(struct rpc_construct_ftl, ftl_conf) +
		"limit_start_threshold", offsetof(struct rpc_bdev_ftl_create, ftl_conf) +
		offsetof(struct spdk_ftl_conf, limits[SPDK_FTL_LIMIT_START]) +
		offsetof(struct spdk_ftl_limit, thld),
		spdk_json_decode_uint64, true
@@ -128,7 +128,7 @@ static const struct spdk_json_object_decoder rpc_construct_ftl_decoders[] = {
#define FTL_RANGE_MAX_LENGTH 32

static void
_spdk_rpc_construct_ftl_bdev_cb(const struct ftl_bdev_info *bdev_info, void *ctx, int status)
_spdk_rpc_bdev_ftl_create_cb(const struct ftl_bdev_info *bdev_info, void *ctx, int status)
{
	struct spdk_jsonrpc_request *request = ctx;
	char bdev_uuid[SPDK_UUID_STRING_LEN];
@@ -151,18 +151,18 @@ _spdk_rpc_construct_ftl_bdev_cb(const struct ftl_bdev_info *bdev_info, void *ctx
}

static void
spdk_rpc_construct_ftl_bdev(struct spdk_jsonrpc_request *request,
spdk_rpc_bdev_ftl_create(struct spdk_jsonrpc_request *request,
			 const struct spdk_json_val *params)
{
	struct rpc_construct_ftl req = {};
	struct rpc_bdev_ftl_create req = {};
	struct ftl_bdev_init_opts opts = {};
	char range[FTL_RANGE_MAX_LENGTH];
	int rc;

	spdk_ftl_conf_init_defaults(&req.ftl_conf);

	if (spdk_json_decode_object(params, rpc_construct_ftl_decoders,
				    SPDK_COUNTOF(rpc_construct_ftl_decoders),
	if (spdk_json_decode_object(params, rpc_bdev_ftl_create_decoders,
				    SPDK_COUNTOF(rpc_bdev_ftl_create_decoders),
				    &req)) {
		spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INVALID_PARAMS,
						 "Invalid parameters");
@@ -220,7 +220,7 @@ spdk_rpc_construct_ftl_bdev(struct spdk_jsonrpc_request *request,
		}
	}

	rc = bdev_ftl_init_bdev(&opts, _spdk_rpc_construct_ftl_bdev_cb, request);
	rc = bdev_ftl_init_bdev(&opts, _spdk_rpc_bdev_ftl_create_cb, request);
	if (rc) {
		spdk_jsonrpc_send_error_response_fmt(request, SPDK_JSONRPC_ERROR_INTERNAL_ERROR,
						     "Failed to create FTL bdev: %s",
@@ -229,21 +229,22 @@ spdk_rpc_construct_ftl_bdev(struct spdk_jsonrpc_request *request,
	}

invalid:
	free_rpc_construct_ftl(&req);
	free_rpc_bdev_ftl_create(&req);
}

SPDK_RPC_REGISTER("construct_ftl_bdev", spdk_rpc_construct_ftl_bdev, SPDK_RPC_RUNTIME)
SPDK_RPC_REGISTER("bdev_ftl_create", spdk_rpc_bdev_ftl_create, SPDK_RPC_RUNTIME)
SPDK_RPC_REGISTER_ALIAS_DEPRECATED(bdev_ftl_create, construct_ftl_bdev)

struct rpc_delete_ftl {
	char *name;
};

static const struct spdk_json_object_decoder rpc_delete_ftl_decoders[] = {
	{"name", offsetof(struct rpc_construct_ftl, name), spdk_json_decode_string},
	{"name", offsetof(struct rpc_bdev_ftl_create, name), spdk_json_decode_string},
};

static void
_spdk_rpc_delete_ftl_bdev_cb(void *cb_arg, int bdeverrno)
_spdk_rpc_bdev_ftl_delete_cb(void *cb_arg, int bdeverrno)
{
	struct spdk_jsonrpc_request *request = cb_arg;
	struct spdk_json_write_ctx *w = spdk_jsonrpc_begin_result(request);
@@ -253,7 +254,7 @@ _spdk_rpc_delete_ftl_bdev_cb(void *cb_arg, int bdeverrno)
}

static void
spdk_rpc_delete_ftl_bdev(struct spdk_jsonrpc_request *request,
spdk_rpc_bdev_ftl_delete(struct spdk_jsonrpc_request *request,
			 const struct spdk_json_val *params)
{
	struct rpc_delete_ftl attrs = {};
@@ -266,9 +267,10 @@ spdk_rpc_delete_ftl_bdev(struct spdk_jsonrpc_request *request,
		goto invalid;
	}

	bdev_ftl_delete_bdev(attrs.name, _spdk_rpc_delete_ftl_bdev_cb, request);
	bdev_ftl_delete_bdev(attrs.name, _spdk_rpc_bdev_ftl_delete_cb, request);
invalid:
	free(attrs.name);
}

SPDK_RPC_REGISTER("delete_ftl_bdev", spdk_rpc_delete_ftl_bdev, SPDK_RPC_RUNTIME)
SPDK_RPC_REGISTER("bdev_ftl_delete", spdk_rpc_bdev_ftl_delete, SPDK_RPC_RUNTIME)
SPDK_RPC_REGISTER_ALIAS_DEPRECATED(bdev_ftl_delete, delete_ftl_bdev)
+1 −1
Original line number Diff line number Diff line
@@ -27,7 +27,7 @@ function create_json_config()
	echo '"subsystem": "bdev",'
	echo '"config": ['
	echo '{'
	echo '"method": "construct_ftl_bdev",'
	echo '"method": "bdev_ftl_create",'
	echo '"params": {'
	echo "\"name\": \"$2\","
	echo '"trtype": "PCIe",'
Loading