Commit de756853 authored by Maciej Wawryk's avatar Maciej Wawryk Committed by Ben Walker
Browse files

RPC: rename rpc construct_lvol_store to bdev_lvol_create_lvstore

parent 90e4ae5d
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -423,11 +423,11 @@ please refer to @ref lvol.
Before creating any logical volumes (lvols), an lvol store has to be created first on
selected block device. Lvol store is lvols vessel responsible for managing underlying
bdev space assignment to lvol bdevs and storing metadata. To create lvol store user
should use using `construct_lvol_store` RPC command.
should use using `bdev_lvol_create_lvstore` RPC command.

Example command

`rpc.py construct_lvol_store Malloc2 lvs -c 4096`
`rpc.py bdev_lvol_create_lvstore Malloc2 lvs -c 4096`

This will create lvol store named `lvs` with cluster size 4096, build on top of
`Malloc2` bdev. In response user will be provided with uuid which is unique lvol store
+3 −3
Original line number Diff line number Diff line
@@ -311,7 +311,7 @@ Example response:
    "bdev_lvol_create",
    "bdev_lvol_delete_lvstore",
    "bdev_lvol_rename_lvstore",
    "construct_lvol_store"
    "bdev_lvol_create_lvstore"
  ]
}
~~~
@@ -4770,7 +4770,7 @@ The alias of the logical volume takes the format _lvs_name/lvol_name_ where:
* _lvs_name_ is the name of the logical volume store.
* _lvol_name_ is specified on creation and can be renamed.

## construct_lvol_store {#rpc_construct_lvol_store}
## bdev_lvol_create_lvstore {#rpc_bdev_lvol_create_lvstore}

Construct a logical volume store.

@@ -4795,7 +4795,7 @@ Example request:
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "construct_lvol_store",
  "method": "bdev_lvol_create_lvstore",
  "params": {
    "lvs_name": "LVS0",
    "bdev_name": "Malloc0"
+1 −1
Original line number Diff line number Diff line
@@ -80,7 +80,7 @@ There is no static configuration available for logical volumes. All configuratio
RPC regarding lvolstore:

```
construct_lvol_store [-h] [-c CLUSTER_SZ] bdev_name lvs_name
bdev_lvol_create_lvstore [-h] [-c CLUSTER_SZ] bdev_name lvs_name
    Constructs lvolstore on specified bdev with specified name. During
    construction bdev is unmapped at initialization and all data is
    erased. Then original bdev is claimed by
+16 −15
Original line number Diff line number Diff line
@@ -40,7 +40,7 @@

SPDK_LOG_REGISTER_COMPONENT("lvolrpc", SPDK_LOG_LVOL_RPC)

struct rpc_construct_lvol_store {
struct rpc_bdev_lvol_create_lvstore {
	char *lvs_name;
	char *bdev_name;
	uint32_t cluster_sz;
@@ -78,18 +78,18 @@ vbdev_get_lvol_store_by_uuid_xor_name(const char *uuid, const char *lvs_name,
}

static void
free_rpc_construct_lvol_store(struct rpc_construct_lvol_store *req)
free_rpc_bdev_lvol_create_lvstore(struct rpc_bdev_lvol_create_lvstore *req)
{
	free(req->bdev_name);
	free(req->lvs_name);
	free(req->clear_method);
}

static const struct spdk_json_object_decoder rpc_construct_lvol_store_decoders[] = {
	{"bdev_name", offsetof(struct rpc_construct_lvol_store, bdev_name), spdk_json_decode_string},
	{"cluster_sz", offsetof(struct rpc_construct_lvol_store, cluster_sz), spdk_json_decode_uint32, true},
	{"lvs_name", offsetof(struct rpc_construct_lvol_store, lvs_name), spdk_json_decode_string},
	{"clear_method", offsetof(struct rpc_construct_lvol_store, clear_method), spdk_json_decode_string, true},
static const struct spdk_json_object_decoder rpc_bdev_lvol_create_lvstore_decoders[] = {
	{"bdev_name", offsetof(struct rpc_bdev_lvol_create_lvstore, bdev_name), spdk_json_decode_string},
	{"cluster_sz", offsetof(struct rpc_bdev_lvol_create_lvstore, cluster_sz), spdk_json_decode_uint32, true},
	{"lvs_name", offsetof(struct rpc_bdev_lvol_create_lvstore, lvs_name), spdk_json_decode_string},
	{"clear_method", offsetof(struct rpc_bdev_lvol_create_lvstore, clear_method), spdk_json_decode_string, true},
};

static void
@@ -116,16 +116,16 @@ invalid:
}

static void
spdk_rpc_construct_lvol_store(struct spdk_jsonrpc_request *request,
spdk_rpc_bdev_lvol_create_lvstore(struct spdk_jsonrpc_request *request,
				  const struct spdk_json_val *params)
{
	struct rpc_construct_lvol_store req = {};
	struct rpc_bdev_lvol_create_lvstore req = {};
	struct spdk_bdev *bdev;
	int rc = 0;
	enum lvs_clear_method clear_method;

	if (spdk_json_decode_object(params, rpc_construct_lvol_store_decoders,
				    SPDK_COUNTOF(rpc_construct_lvol_store_decoders),
	if (spdk_json_decode_object(params, rpc_bdev_lvol_create_lvstore_decoders,
				    SPDK_COUNTOF(rpc_bdev_lvol_create_lvstore_decoders),
				    &req)) {
		SPDK_INFOLOG(SPDK_LOG_LVOL_RPC, "spdk_json_decode_object failed\n");
		spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INTERNAL_ERROR,
@@ -161,14 +161,15 @@ spdk_rpc_construct_lvol_store(struct spdk_jsonrpc_request *request,
		spdk_jsonrpc_send_error_response(request, -rc, spdk_strerror(rc));
		goto cleanup;
	}
	free_rpc_construct_lvol_store(&req);
	free_rpc_bdev_lvol_create_lvstore(&req);

	return;

cleanup:
	free_rpc_construct_lvol_store(&req);
	free_rpc_bdev_lvol_create_lvstore(&req);
}
SPDK_RPC_REGISTER("construct_lvol_store", spdk_rpc_construct_lvol_store, SPDK_RPC_RUNTIME)
SPDK_RPC_REGISTER("bdev_lvol_create_lvstore", spdk_rpc_bdev_lvol_create_lvstore, SPDK_RPC_RUNTIME)
SPDK_RPC_REGISTER_ALIAS_DEPRECATED(bdev_lvol_create_lvstore, construct_lvol_store)

struct rpc_bdev_lvol_rename_lvstore {
	char *old_name;
+10 −9
Original line number Diff line number Diff line
@@ -1152,20 +1152,21 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
    p.set_defaults(func=get_log_print_level)

    # lvol
    def construct_lvol_store(args):
        print_json(rpc.lvol.construct_lvol_store(args.client,
    def bdev_lvol_create_lvstore(args):
        print_json(rpc.lvol.bdev_lvol_create_lvstore(args.client,
                                                     bdev_name=args.bdev_name,
                                                     lvs_name=args.lvs_name,
                                                     cluster_sz=args.cluster_sz,
                                                     clear_method=args.clear_method))

    p = subparsers.add_parser('construct_lvol_store', help='Add logical volume store on base bdev')
    p = subparsers.add_parser('bdev_lvol_create_lvstore', aliases=['construct_lvol_store'],
                              help='Add logical volume store on base bdev')
    p.add_argument('bdev_name', help='base bdev name')
    p.add_argument('lvs_name', help='name for lvol store')
    p.add_argument('-c', '--cluster-sz', help='size of cluster (in bytes)', type=int, required=False)
    p.add_argument('--clear-method', help="""Change clear method for data region.
        Available: none, unmap, write_zeroes""", required=False)
    p.set_defaults(func=construct_lvol_store)
    p.set_defaults(func=bdev_lvol_create_lvstore)

    def bdev_lvol_rename_lvstore(args):
        rpc.lvol.bdev_lvol_rename_lvstore(args.client,
Loading