Commit ba31ad82 authored by Konrad Sztyber's avatar Konrad Sztyber Committed by Jim Harris
Browse files

lvol: remove size parameter from bedv_lvol_{create,resize}



This parameter was replaced with size_in_mib and was deprecated for a
long time, so it's finally time to remove it.

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


Community-CI: Mellanox Build Bot
Reviewed-by: default avatarAleksey Marchuk <alexeymar@nvidia.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
parent 79e2a56f
Loading
Loading
Loading
Loading
+0 −9
Original line number Diff line number Diff line
@@ -68,15 +68,6 @@ See GitHub issue [2801](https://github.com/spdk/spdk/issues/2801) for additional
New SPDK partition types should use GUID `6527994e-2c5a-4eec-9613-8f5944074e8b` which will create
a bdev of the correct size.

### lvol

#### `vbdev_lvol_rpc_req_size`

Param `size` in rpc commands `rpc_bdev_lvol_create` and `rpc_bdev_lvol_resize` is deprecated and
replace by `size_in_mib`.

See GitHub issue [2346](https://github.com/spdk/spdk/issues/2346) for additional details.

### rpc

#### `spdk_rpc_listen` `spdk_rpc_accept` `spdk_rpc_close`
+2 −4
Original line number Diff line number Diff line
@@ -10194,8 +10194,7 @@ Create a logical volume on a logical volume store.
Name                    | Optional | Type        | Description
----------------------- | -------- | ----------- | -----------
lvol_name               | Required | string      | Name of logical volume to create
size                    | Optional | number      | Desired size of logical volume in bytes (Deprecated. Please use size_in_mib instead.)
size_in_mib             | Optional | number      | Desired size of logical volume in MiB
size_in_mib             | Required | number      | Desired size of logical volume in MiB
thin_provision          | Optional | boolean     | True to enable thin provisioning
uuid                    | Optional | string      | UUID of logical volume store to create logical volume on
lvs_name                | Optional | string      | Name of logical volume store to create logical volume on
@@ -10414,8 +10413,7 @@ Resize a logical volume.
Name                    | Optional | Type        | Description
----------------------- | -------- | ----------- | -----------
name                    | Required | string      | UUID or alias of the logical volume to resize
size                    | Optional | number      | Desired size of the logical volume in bytes (Deprecated. Please use size_in_mib instead.)
size_in_mib             | Optional | number      | Desired size of the logical volume in MiB
size_in_mib             | Required | number      | Desired size of the logical volume in MiB

#### Example

+5 −39
Original line number Diff line number Diff line
@@ -266,7 +266,6 @@ struct rpc_bdev_lvol_create {
	char *uuid;
	char *lvs_name;
	char *lvol_name;
	uint64_t size;
	uint64_t size_in_mib;
	bool thin_provision;
	char *clear_method;
@@ -285,8 +284,7 @@ static const struct spdk_json_object_decoder rpc_bdev_lvol_create_decoders[] = {
	{"uuid", offsetof(struct rpc_bdev_lvol_create, uuid), spdk_json_decode_string, true},
	{"lvs_name", offsetof(struct rpc_bdev_lvol_create, lvs_name), spdk_json_decode_string, true},
	{"lvol_name", offsetof(struct rpc_bdev_lvol_create, lvol_name), spdk_json_decode_string},
	{"size", offsetof(struct rpc_bdev_lvol_create, size), spdk_json_decode_uint64, true},
	{"size_in_mib", offsetof(struct rpc_bdev_lvol_create, size_in_mib), spdk_json_decode_uint64, true},
	{"size_in_mib", offsetof(struct rpc_bdev_lvol_create, size_in_mib), spdk_json_decode_uint64},
	{"thin_provision", offsetof(struct rpc_bdev_lvol_create, thin_provision), spdk_json_decode_bool, true},
	{"clear_method", offsetof(struct rpc_bdev_lvol_create, clear_method), spdk_json_decode_string, true},
};
@@ -311,10 +309,6 @@ invalid:
					 spdk_strerror(-lvolerrno));
}

SPDK_LOG_DEPRECATION_REGISTER(vbdev_lvol_rpc_req_size,
			      "rpc_bdev_lvol_create/resize req.size",
			      "v23.09", 0);

static void
rpc_bdev_lvol_create(struct spdk_jsonrpc_request *request,
		     const struct spdk_json_val *params)
@@ -323,7 +317,6 @@ rpc_bdev_lvol_create(struct spdk_jsonrpc_request *request,
	enum lvol_clear_method clear_method;
	int rc = 0;
	struct spdk_lvol_store *lvs = NULL;
	uint64_t size = 0;

	SPDK_INFOLOG(lvol_rpc, "Creating blob\n");

@@ -336,18 +329,6 @@ rpc_bdev_lvol_create(struct spdk_jsonrpc_request *request,
		goto cleanup;
	}

	if (req.size > 0 && req.size_in_mib > 0) {
		SPDK_LOG_DEPRECATED(vbdev_lvol_rpc_req_size);
		spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INTERNAL_ERROR,
						 "size is deprecated. Specify only size_in_mib instead.");
		goto cleanup;
	} else if (req.size_in_mib > 0) {
		size = req.size_in_mib * 1024 * 1024;
	} else {
		SPDK_LOG_DEPRECATED(vbdev_lvol_rpc_req_size);
		size = req.size;
	}

	rc = vbdev_get_lvol_store_by_uuid_xor_name(req.uuid, req.lvs_name, &lvs);
	if (rc != 0) {
		spdk_jsonrpc_send_error_response(request, rc, spdk_strerror(-rc));
@@ -369,8 +350,8 @@ rpc_bdev_lvol_create(struct spdk_jsonrpc_request *request,
		clear_method = LVOL_CLEAR_WITH_DEFAULT;
	}

	rc = vbdev_lvol_create(lvs, req.lvol_name, size, req.thin_provision,
			       clear_method, rpc_bdev_lvol_create_cb, request);
	rc = vbdev_lvol_create(lvs, req.lvol_name, req.size_in_mib * 1024 * 1024,
			       req.thin_provision, clear_method, rpc_bdev_lvol_create_cb, request);
	if (rc < 0) {
		spdk_jsonrpc_send_error_response(request, rc, spdk_strerror(-rc));
		goto cleanup;
@@ -811,7 +792,6 @@ SPDK_RPC_REGISTER("bdev_lvol_decouple_parent", rpc_bdev_lvol_decouple_parent, SP

struct rpc_bdev_lvol_resize {
	char *name;
	uint64_t size;
	uint64_t size_in_mib;
};

@@ -823,8 +803,7 @@ free_rpc_bdev_lvol_resize(struct rpc_bdev_lvol_resize *req)

static const struct spdk_json_object_decoder rpc_bdev_lvol_resize_decoders[] = {
	{"name", offsetof(struct rpc_bdev_lvol_resize, name), spdk_json_decode_string},
	{"size", offsetof(struct rpc_bdev_lvol_resize, size), spdk_json_decode_uint64, true},
	{"size_in_mib", offsetof(struct rpc_bdev_lvol_resize, size_in_mib), spdk_json_decode_uint64, true},
	{"size_in_mib", offsetof(struct rpc_bdev_lvol_resize, size_in_mib), spdk_json_decode_uint64},
};

static void
@@ -851,7 +830,6 @@ rpc_bdev_lvol_resize(struct spdk_jsonrpc_request *request,
	struct rpc_bdev_lvol_resize req = {};
	struct spdk_bdev *bdev;
	struct spdk_lvol *lvol;
	uint64_t size = 0;

	SPDK_INFOLOG(lvol_rpc, "Resizing lvol\n");

@@ -864,18 +842,6 @@ rpc_bdev_lvol_resize(struct spdk_jsonrpc_request *request,
		goto cleanup;
	}

	if (req.size > 0 && req.size_in_mib > 0) {
		SPDK_LOG_DEPRECATED(vbdev_lvol_rpc_req_size);
		spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INTERNAL_ERROR,
						 "size is deprecated. Specify only size_in_mib instead.");
		goto cleanup;
	} else if (req.size_in_mib > 0) {
		size = req.size_in_mib * 1024 * 1024;
	} else {
		SPDK_LOG_DEPRECATED(vbdev_lvol_rpc_req_size);
		size = req.size;
	}

	bdev = spdk_bdev_get_by_name(req.name);
	if (bdev == NULL) {
		SPDK_ERRLOG("no bdev for provided name %s\n", req.name);
@@ -890,7 +856,7 @@ rpc_bdev_lvol_resize(struct spdk_jsonrpc_request *request,
	}


	vbdev_lvol_resize(lvol, size, rpc_bdev_lvol_resize_cb, request);
	vbdev_lvol_resize(lvol, req.size_in_mib * 1024 * 1024, rpc_bdev_lvol_resize_cb, request);

cleanup:
	free_rpc_bdev_lvol_resize(&req);
+1 −1
Original line number Diff line number Diff line
@@ -65,7 +65,7 @@ file_to_bdev() {
	local -A method_bdev_lvol_create_1=(
		["lvs_name"]=$lvstore
		["lvol_name"]=$lvol
		["size"]=37748736
		["size_in_mib"]=36
		["thin_provision"]=true
	)

+1 −1
Original line number Diff line number Diff line
@@ -75,7 +75,7 @@ function gen_lvol_nvme_json() {
		          "method": "bdev_lvol_create",
		          "params": {
		            "lvol_name": "lvol${subsystem}",
		            "size": 134217728,
		            "size_in_mib": 128,
		            "thin_provision": true,
		            "lvs_name": "lvs${subsystem}"
		          }