Commit f0731534 authored by Maciej Wawryk's avatar Maciej Wawryk Committed by Jim Harris
Browse files

RPC: rename rpc construct_raid_bdev to bdev_raid_create

parent b9477173
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -473,7 +473,7 @@ Example commands

RAID virtual bdev module provides functionality to combine any SPDK bdevs into
one RAID bdev. Currently SPDK supports only RAID 0. RAID functionality does not
store on-disk metadata on the member disks, so user must reconstruct the RAID
store on-disk metadata on the member disks, so user must recreate the RAID
volume when restarting application. User may specify member disks to create RAID
volume event if they do not exists yet - as the member disks are registered at
a later time, the RAID module will claim them and will surface the RAID volume
@@ -483,7 +483,7 @@ each member disk.

Example commands

`rpc.py construct_raid_bdev -n Raid0 -z 64 -r 0 -b "lvol0 lvol1 lvol2 lvol3"`
`rpc.py bdev_raid_create -n Raid0 -z 64 -r 0 -b "lvol0 lvol1 lvol2 lvol3"`

`rpc.py bdev_raid_get_bdevs`

+2 −2
Original line number Diff line number Diff line
@@ -5330,7 +5330,7 @@ Example response:
}
~~~

## construct_raid_bdev {#rpc_construct_raid_bdev}
## bdev_raid_create {#rpc_bdev_raid_create}

Constructs new RAID bdev.

@@ -5351,7 +5351,7 @@ Example request:
~~~
{
  "jsonrpc": "2.0",
  "method": "construct_raid_bdev",
  "method": "bdev_raid_create",
  "id": 1,
  "params": {
    "name": "Raid0",
+1 −1
Original line number Diff line number Diff line
@@ -987,7 +987,7 @@ raid_bdev_write_config_json(struct spdk_bdev *bdev, struct spdk_json_write_ctx *

	spdk_json_write_object_begin(w);

	spdk_json_write_named_string(w, "method", "construct_raid_bdev");
	spdk_json_write_named_string(w, "method", "bdev_raid_create");

	spdk_json_write_named_object_begin(w, "params");
	spdk_json_write_named_string(w, "name", bdev->name);
+25 −24
Original line number Diff line number Diff line
@@ -143,9 +143,9 @@ SPDK_RPC_REGISTER("bdev_raid_get_bdevs", spdk_rpc_bdev_raid_get_bdevs, SPDK_RPC_
SPDK_RPC_REGISTER_ALIAS_DEPRECATED(bdev_raid_get_bdevs, get_raid_bdevs)

/*
 * Base bdevs in RPC construct_raid
 * Base bdevs in RPC bdev_raid_create
 */
struct rpc_construct_raid_base_bdevs {
struct rpc_bdev_raid_create_base_bdevs {
	/* Number of base bdevs */
	size_t           num_base_bdevs;

@@ -154,9 +154,9 @@ struct rpc_construct_raid_base_bdevs {
};

/*
 * Input structure for RPC construct_raid
 * Input structure for RPC rpc_bdev_raid_create
 */
struct rpc_construct_raid_bdev {
struct rpc_bdev_raid_create {
	/* Raid bdev name */
	char                                 *name;

@@ -168,19 +168,19 @@ struct rpc_construct_raid_bdev {
	uint8_t                              raid_level;

	/* Base bdevs information */
	struct rpc_construct_raid_base_bdevs base_bdevs;
	struct rpc_bdev_raid_create_base_bdevs base_bdevs;
};

/*
 * brief:
 * free_rpc_construct_raid_bdev function is to free RPC construct_raid_bdev related parameters
 * free_rpc_bdev_raid_create function is to free RPC bdev_raid_create related parameters
 * params:
 * req - pointer to RPC request
 * returns:
 * none
 */
static void
free_rpc_construct_raid_bdev(struct rpc_construct_raid_bdev *req)
free_rpc_bdev_raid_create(struct rpc_bdev_raid_create *req)
{
	free(req->name);
	for (size_t i = 0; i < req->base_bdevs.num_base_bdevs; i++) {
@@ -189,31 +189,31 @@ free_rpc_construct_raid_bdev(struct rpc_construct_raid_bdev *req)
}

/*
 * Decoder function for RPC construct_raid_bdev to decode base bdevs list
 * Decoder function for RPC bdev_raid_create to decode base bdevs list
 */
static int
decode_base_bdevs(const struct spdk_json_val *val, void *out)
{
	struct rpc_construct_raid_base_bdevs *base_bdevs = out;
	struct rpc_bdev_raid_create_base_bdevs *base_bdevs = out;
	return spdk_json_decode_array(val, spdk_json_decode_string, base_bdevs->base_bdevs,
				      RPC_MAX_BASE_BDEVS, &base_bdevs->num_base_bdevs, sizeof(char *));
}

/*
 * Decoder object for RPC construct_raid
 * Decoder object for RPC bdev_raid_create
 */
/* Note: strip_size is deprecated, one of the two options must be specified but not both. */
static const struct spdk_json_object_decoder rpc_construct_raid_bdev_decoders[] = {
	{"name", offsetof(struct rpc_construct_raid_bdev, name), spdk_json_decode_string},
	{"strip_size", offsetof(struct rpc_construct_raid_bdev, strip_size), spdk_json_decode_uint32, true},
	{"strip_size_kb", offsetof(struct rpc_construct_raid_bdev, strip_size_kb), spdk_json_decode_uint32, true},
	{"raid_level", offsetof(struct rpc_construct_raid_bdev, raid_level), spdk_json_decode_uint32},
	{"base_bdevs", offsetof(struct rpc_construct_raid_bdev, base_bdevs), decode_base_bdevs},
static const struct spdk_json_object_decoder rpc_bdev_raid_create_decoders[] = {
	{"name", offsetof(struct rpc_bdev_raid_create, name), spdk_json_decode_string},
	{"strip_size", offsetof(struct rpc_bdev_raid_create, strip_size), spdk_json_decode_uint32, true},
	{"strip_size_kb", offsetof(struct rpc_bdev_raid_create, strip_size_kb), spdk_json_decode_uint32, true},
	{"raid_level", offsetof(struct rpc_bdev_raid_create, raid_level), spdk_json_decode_uint32},
	{"base_bdevs", offsetof(struct rpc_bdev_raid_create, base_bdevs), decode_base_bdevs},
};

/*
 * brief:
 * spdk_rpc_construct_raid_bdev function is the RPC for construct_raids. It takes
 * spdk_rpc_bdev_raid_create function is the RPC for creating RAID bdevs. It takes
 * input as raid bdev name, raid level, strip size in KB and list of base bdev names.
 * params:
 * requuest - pointer to json rpc request
@@ -222,16 +222,16 @@ static const struct spdk_json_object_decoder rpc_construct_raid_bdev_decoders[]
 * none
 */
static void
spdk_rpc_construct_raid_bdev(struct spdk_jsonrpc_request *request,
spdk_rpc_bdev_raid_create(struct spdk_jsonrpc_request *request,
			  const struct spdk_json_val *params)
{
	struct rpc_construct_raid_bdev	req = {};
	struct rpc_bdev_raid_create	req = {};
	struct spdk_json_write_ctx	*w;
	struct raid_bdev_config		*raid_cfg;
	int				rc;

	if (spdk_json_decode_object(params, rpc_construct_raid_bdev_decoders,
				    SPDK_COUNTOF(rpc_construct_raid_bdev_decoders),
	if (spdk_json_decode_object(params, rpc_bdev_raid_create_decoders,
				    SPDK_COUNTOF(rpc_bdev_raid_create_decoders),
				    &req)) {
		spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INTERNAL_ERROR,
						 "spdk_json_decode_object failed");
@@ -294,9 +294,10 @@ spdk_rpc_construct_raid_bdev(struct spdk_jsonrpc_request *request,
	spdk_jsonrpc_end_result(request, w);

cleanup:
	free_rpc_construct_raid_bdev(&req);
	free_rpc_bdev_raid_create(&req);
}
SPDK_RPC_REGISTER("construct_raid_bdev", spdk_rpc_construct_raid_bdev, SPDK_RPC_RUNTIME)
SPDK_RPC_REGISTER("bdev_raid_create", spdk_rpc_bdev_raid_create, SPDK_RPC_RUNTIME)
SPDK_RPC_REGISTER_ALIAS_DEPRECATED(bdev_raid_create, construct_raid_bdev)

/*
 * Input structure for RPC destroy_raid
+10 −9
Original line number Diff line number Diff line
@@ -1334,24 +1334,25 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
    p.add_argument('category', help='all or online or configuring or offline')
    p.set_defaults(func=bdev_raid_get_bdevs)

    def construct_raid_bdev(args):
    def bdev_raid_create(args):
        base_bdevs = []
        for u in args.base_bdevs.strip().split(" "):
            base_bdevs.append(u)

        rpc.bdev.construct_raid_bdev(args.client,
        rpc.bdev.bdev_raid_create(args.client,
                                  name=args.name,
                                  strip_size=args.strip_size,
                                  strip_size_kb=args.strip_size_kb,
                                  raid_level=args.raid_level,
                                  base_bdevs=base_bdevs)
    p = subparsers.add_parser('construct_raid_bdev', help='Construct new raid bdev')
    p = subparsers.add_parser('bdev_raid_create', aliases=['construct_raid_bdev'],
                              help='Create new raid bdev')
    p.add_argument('-n', '--name', help='raid bdev name', required=True)
    p.add_argument('-s', '--strip-size', help='strip size in KB (deprecated)', type=int)
    p.add_argument('-z', '--strip-size_kb', help='strip size in KB', type=int)
    p.add_argument('-r', '--raid-level', help='raid level, only raid level 0 is supported', type=int, required=True)
    p.add_argument('-b', '--base-bdevs', help='base bdevs name, whitespace separated list in quotes', required=True)
    p.set_defaults(func=construct_raid_bdev)
    p.set_defaults(func=bdev_raid_create)

    def destroy_raid_bdev(args):
        rpc.bdev.destroy_raid_bdev(args.client,
Loading