RPC: rename rcp rename_lvol_bdev to bdev_lvol_rename

Signed-off-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Change-Id: I73c31950dd4131077b71674860ca435d4ad87e39
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/466120
Reviewed-by: Broadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Pawel Kaminski <pawelx.kaminski@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
Maciej Wawryk 2019-08-23 11:57:07 +02:00 committed by Ben Walker
parent 827b266717
commit 0ce883cef0
8 changed files with 42 additions and 39 deletions

View File

@ -305,7 +305,7 @@ Example response:
"set_read_only_lvol_bdev", "set_read_only_lvol_bdev",
"decouple_parent_lvol_bdev", "decouple_parent_lvol_bdev",
"inflate_lvol_bdev", "inflate_lvol_bdev",
"rename_lvol_bdev", "bdev_lvol_rename",
"bdev_lvol_clone", "bdev_lvol_clone",
"snapshot_lvol_bdev", "snapshot_lvol_bdev",
"construct_lvol_bdev", "construct_lvol_bdev",
@ -5067,7 +5067,7 @@ Example response:
} }
~~~ ~~~
## rename_lvol_bdev {#rpc_rename_lvol_bdev} ## bdev_lvol_rename {#rpc_bdev_lvol_rename}
Rename a logical volume. New name will rename only the alias of the logical volume. Rename a logical volume. New name will rename only the alias of the logical volume.
@ -5085,7 +5085,7 @@ Example request:
~~~ ~~~
{ {
"jsonrpc": "2.0", "jsonrpc": "2.0",
"method": "rename_lvol_bdev", "method": "bdev_lvol_rename",
"id": 1, "id": 1,
"params": { "params": {
"old_name": "067df606-6dbc-4143-a499-0d05855cb3b8", "old_name": "067df606-6dbc-4143-a499-0d05855cb3b8",

View File

@ -137,7 +137,7 @@ bdev_lvol_clone [-h] snapshot_name clone_name
Create a clone with clone_name of a given lvol snapshot. Create a clone with clone_name of a given lvol snapshot.
optional arguments: optional arguments:
-h, --help show help -h, --help show help
rename_lvol_bdev [-h] old_name new_name bdev_lvol_rename [-h] old_name new_name
Change lvol bdev name Change lvol bdev name
optional arguments: optional arguments:
-h, --help show help -h, --help show help

View File

@ -562,25 +562,25 @@ cleanup:
SPDK_RPC_REGISTER("bdev_lvol_clone", spdk_rpc_bdev_lvol_clone, SPDK_RPC_RUNTIME) SPDK_RPC_REGISTER("bdev_lvol_clone", spdk_rpc_bdev_lvol_clone, SPDK_RPC_RUNTIME)
SPDK_RPC_REGISTER_ALIAS_DEPRECATED(bdev_lvol_clone, clone_lvol_bdev) SPDK_RPC_REGISTER_ALIAS_DEPRECATED(bdev_lvol_clone, clone_lvol_bdev)
struct rpc_rename_lvol_bdev { struct rpc_bdev_lvol_rename {
char *old_name; char *old_name;
char *new_name; char *new_name;
}; };
static void static void
free_rpc_rename_lvol_bdev(struct rpc_rename_lvol_bdev *req) free_rpc_bdev_lvol_rename(struct rpc_bdev_lvol_rename *req)
{ {
free(req->old_name); free(req->old_name);
free(req->new_name); free(req->new_name);
} }
static const struct spdk_json_object_decoder rpc_rename_lvol_bdev_decoders[] = { static const struct spdk_json_object_decoder rpc_bdev_lvol_rename_decoders[] = {
{"old_name", offsetof(struct rpc_rename_lvol_bdev, old_name), spdk_json_decode_string}, {"old_name", offsetof(struct rpc_bdev_lvol_rename, old_name), spdk_json_decode_string},
{"new_name", offsetof(struct rpc_rename_lvol_bdev, new_name), spdk_json_decode_string}, {"new_name", offsetof(struct rpc_bdev_lvol_rename, new_name), spdk_json_decode_string},
}; };
static void static void
_spdk_rpc_rename_lvol_bdev_cb(void *cb_arg, int lvolerrno) _spdk_rpc_bdev_lvol_rename_cb(void *cb_arg, int lvolerrno)
{ {
struct spdk_json_write_ctx *w; struct spdk_json_write_ctx *w;
struct spdk_jsonrpc_request *request = cb_arg; struct spdk_jsonrpc_request *request = cb_arg;
@ -600,17 +600,17 @@ invalid:
} }
static void static void
spdk_rpc_rename_lvol_bdev(struct spdk_jsonrpc_request *request, spdk_rpc_bdev_lvol_rename(struct spdk_jsonrpc_request *request,
const struct spdk_json_val *params) const struct spdk_json_val *params)
{ {
struct rpc_rename_lvol_bdev req = {}; struct rpc_bdev_lvol_rename req = {};
struct spdk_bdev *bdev; struct spdk_bdev *bdev;
struct spdk_lvol *lvol; struct spdk_lvol *lvol;
SPDK_INFOLOG(SPDK_LOG_LVOL_RPC, "Renaming lvol\n"); SPDK_INFOLOG(SPDK_LOG_LVOL_RPC, "Renaming lvol\n");
if (spdk_json_decode_object(params, rpc_rename_lvol_bdev_decoders, if (spdk_json_decode_object(params, rpc_bdev_lvol_rename_decoders,
SPDK_COUNTOF(rpc_rename_lvol_bdev_decoders), SPDK_COUNTOF(rpc_bdev_lvol_rename_decoders),
&req)) { &req)) {
SPDK_INFOLOG(SPDK_LOG_LVOL_RPC, "spdk_json_decode_object failed\n"); SPDK_INFOLOG(SPDK_LOG_LVOL_RPC, "spdk_json_decode_object failed\n");
spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INTERNAL_ERROR, spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INTERNAL_ERROR,
@ -632,13 +632,14 @@ spdk_rpc_rename_lvol_bdev(struct spdk_jsonrpc_request *request,
goto cleanup; goto cleanup;
} }
vbdev_lvol_rename(lvol, req.new_name, _spdk_rpc_rename_lvol_bdev_cb, request); vbdev_lvol_rename(lvol, req.new_name, _spdk_rpc_bdev_lvol_rename_cb, request);
cleanup: cleanup:
free_rpc_rename_lvol_bdev(&req); free_rpc_bdev_lvol_rename(&req);
} }
SPDK_RPC_REGISTER("rename_lvol_bdev", spdk_rpc_rename_lvol_bdev, SPDK_RPC_RUNTIME) SPDK_RPC_REGISTER("bdev_lvol_rename", spdk_rpc_bdev_lvol_rename, SPDK_RPC_RUNTIME)
SPDK_RPC_REGISTER_ALIAS_DEPRECATED(bdev_lvol_rename, rename_lvol_bdev)
struct rpc_inflate_lvol_bdev { struct rpc_inflate_lvol_bdev {
char *name; char *name;

View File

@ -1195,15 +1195,16 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.add_argument('clone_name', help='lvol clone name') p.add_argument('clone_name', help='lvol clone name')
p.set_defaults(func=bdev_lvol_clone) p.set_defaults(func=bdev_lvol_clone)
def rename_lvol_bdev(args): def bdev_lvol_rename(args):
rpc.lvol.rename_lvol_bdev(args.client, rpc.lvol.bdev_lvol_rename(args.client,
old_name=args.old_name, old_name=args.old_name,
new_name=args.new_name) new_name=args.new_name)
p = subparsers.add_parser('rename_lvol_bdev', help='Change lvol bdev name') p = subparsers.add_parser('bdev_lvol_rename', aliases=['rename_lvol_bdev'],
help='Change lvol bdev name')
p.add_argument('old_name', help='lvol bdev name') p.add_argument('old_name', help='lvol bdev name')
p.add_argument('new_name', help='new lvol name') p.add_argument('new_name', help='new lvol name')
p.set_defaults(func=rename_lvol_bdev) p.set_defaults(func=bdev_lvol_rename)
def inflate_lvol_bdev(args): def inflate_lvol_bdev(args):
rpc.lvol.inflate_lvol_bdev(args.client, rpc.lvol.inflate_lvol_bdev(args.client,

View File

@ -100,7 +100,8 @@ def bdev_lvol_clone(client, snapshot_name, clone_name):
return client.call('bdev_lvol_clone', params) return client.call('bdev_lvol_clone', params)
def rename_lvol_bdev(client, old_name, new_name): @deprecated_alias('rename_lvol_bdev')
def bdev_lvol_rename(client, old_name, new_name):
"""Rename a logical volume. """Rename a logical volume.
Args: Args:
@ -111,7 +112,7 @@ def rename_lvol_bdev(client, old_name, new_name):
'old_name': old_name, 'old_name': old_name,
'new_name': new_name 'new_name': new_name
} }
return client.call('rename_lvol_bdev', params) return client.call('bdev_lvol_rename', params)
def resize_lvol_bdev(client, name, size): def resize_lvol_bdev(client, name, size):

View File

@ -78,8 +78,8 @@ function usage() {
800: 'rename_positive', 800: 'rename_positive',
801: 'rename_lvs_nonexistent', 801: 'rename_lvs_nonexistent',
802: 'rename_lvs_EEXIST', 802: 'rename_lvs_EEXIST',
803: 'rename_lvol_bdev_nonexistent', 803: 'bdev_lvol_rename_nonexistent',
804: 'rename_lvol_bdev_EEXIST', 804: 'bdev_lvol_rename_EEXIST',
10000: 'SIGTERM' 10000: 'SIGTERM'
or or
all: This parameter runs all tests all: This parameter runs all tests

View File

@ -209,9 +209,9 @@ class Commands_Rpc(object):
output, rc = self.rpc.rename_lvol_store(old_name, new_name) output, rc = self.rpc.rename_lvol_store(old_name, new_name)
return rc return rc
def rename_lvol_bdev(self, old_name, new_name): def bdev_lvol_rename(self, old_name, new_name):
print("INFO: Renaming lvol bdev from {old} to {new}".format(old=old_name, new=new_name)) print("INFO: Renaming lvol bdev from {old} to {new}".format(old=old_name, new=new_name))
output, rc = self.rpc.rename_lvol_bdev(old_name, new_name) output, rc = self.rpc.bdev_lvol_rename(old_name, new_name)
return rc return rc
def snapshot_lvol_bdev(self, bdev_name, snapshot_name): def snapshot_lvol_bdev(self, bdev_name, snapshot_name):

View File

@ -178,8 +178,8 @@ def case_message(func):
800: 'rename_positive', 800: 'rename_positive',
801: 'rename_lvs_nonexistent', 801: 'rename_lvs_nonexistent',
802: 'rename_lvs_EEXIST', 802: 'rename_lvs_EEXIST',
803: 'rename_lvol_bdev_nonexistent', 803: 'bdev_lvol_rename_nonexistent',
804: 'rename_lvol_bdev_EEXIST', 804: 'bdev_lvol_rename_EEXIST',
# SIGTERM # SIGTERM
10000: 'SIGTERM', 10000: 'SIGTERM',
} }
@ -3158,7 +3158,7 @@ class TestCases(object):
bdev_aliases = ["/".join([new_lvs_name, name]) for name in bdev_names] bdev_aliases = ["/".join([new_lvs_name, name]) for name in bdev_names]
print(bdev_aliases) print(bdev_aliases)
for uuid, new_name, new_alias in zip(bdev_uuids, bdev_names, bdev_aliases): for uuid, new_name, new_alias in zip(bdev_uuids, bdev_names, bdev_aliases):
fail_count += self.c.rename_lvol_bdev(uuid, new_name) fail_count += self.c.bdev_lvol_rename(uuid, new_name)
fail_count += self.c.check_get_bdevs_methods(uuid, fail_count += self.c.check_get_bdevs_methods(uuid,
bdev_size, bdev_size,
new_alias) new_alias)
@ -3168,7 +3168,7 @@ class TestCases(object):
new_bdev_aliases = ["/".join([new_lvs_name, name]) for name in bdev_names] new_bdev_aliases = ["/".join([new_lvs_name, name]) for name in bdev_names]
print(bdev_aliases) print(bdev_aliases)
for uuid, old_alias, new_alias, new_name in zip(bdev_uuids, bdev_aliases, new_bdev_aliases, bdev_names): for uuid, old_alias, new_alias, new_name in zip(bdev_uuids, bdev_aliases, new_bdev_aliases, bdev_names):
fail_count += self.c.rename_lvol_bdev(old_alias, new_name) fail_count += self.c.bdev_lvol_rename(old_alias, new_name)
fail_count += self.c.check_get_bdevs_methods(uuid, fail_count += self.c.check_get_bdevs_methods(uuid,
bdev_size, bdev_size,
new_alias) new_alias)
@ -3309,25 +3309,25 @@ class TestCases(object):
@case_message @case_message
def test_case803(self): def test_case803(self):
""" """
rename_lvol_bdev_nonexistent bdev_lvol_rename_nonexistent
Negative test case for lvol bdev rename. Negative test case for lvol bdev rename.
Check that error is returned when trying to rename not existing lvol bdev. Check that error is returned when trying to rename not existing lvol bdev.
""" """
fail_count = 0 fail_count = 0
# Call rename_lvol_bdev with name pointing to not existing lvol bdev # Call bdev_lvol_rename with name pointing to not existing lvol bdev
if self.c.rename_lvol_bdev("NOTEXIST", "WHATEVER") == 0: if self.c.bdev_lvol_rename("NOTEXIST", "WHATEVER") == 0:
fail_count += 1 fail_count += 1
# Expected results: # Expected results:
# - rename_lvol_bdev return code != 0 # - bdev_lvol_rename return code != 0
# - no other operation fails # - no other operation fails
return fail_count return fail_count
@case_message @case_message
def test_case804(self): def test_case804(self):
""" """
rename_lvol_bdev_EEXIST bdev_lvol_rename_EEXIST
Negative test case for lvol bdev rename. Negative test case for lvol bdev rename.
Check that error is returned when trying to rename to a name which is already Check that error is returned when trying to rename to a name which is already
@ -3358,9 +3358,9 @@ class TestCases(object):
fail_count += self.c.check_get_bdevs_methods(bdev_uuid_2, fail_count += self.c.check_get_bdevs_methods(bdev_uuid_2,
bdev_size) bdev_size)
# Call rename_lvol_bdev on first lvol bdev and try to change its name to # Call bdev_lvol_rename on first lvol bdev and try to change its name to
# the same name as used by second lvol bdev # the same name as used by second lvol bdev
if self.c.rename_lvol_bdev(self.lbd_name + "1", self.lbd_name + "2") == 0: if self.c.bdev_lvol_rename(self.lbd_name + "1", self.lbd_name + "2") == 0:
fail_count += 1 fail_count += 1
# Verify that lvol bdev still have the same names as before # Verify that lvol bdev still have the same names as before
fail_count += self.c.check_get_bdevs_methods(bdev_uuid_1, fail_count += self.c.check_get_bdevs_methods(bdev_uuid_1,
@ -3373,7 +3373,7 @@ class TestCases(object):
fail_count += self.c.delete_malloc_bdev(base_bdev) fail_count += self.c.delete_malloc_bdev(base_bdev)
# Expected results: # Expected results:
# - rename_lvol_bdev return code != 0; not possible to rename to already # - bdev_lvol_rename return code != 0; not possible to rename to already
# used name # used name
# - no other operation fails # - no other operation fails
return fail_count return fail_count