rpc: Rename construct_pmem_bdev to bdev_pmem_create

Change-Id: I8cc7a13e45395c19f67d6b22d01a2542cc18634c
Signed-off-by: Pawel Kaminski <pawelx.kaminski@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/466703
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Broadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
Pawel Kaminski 2019-08-29 05:54:36 -04:00 committed by Ben Walker
parent 61a42c0e64
commit f208699589
15 changed files with 72 additions and 69 deletions

View File

@ -527,12 +527,12 @@ Example command
`rpc.py delete_pmem_pool /path/to/pmem_pool` `rpc.py delete_pmem_pool /path/to/pmem_pool`
To create bdev based on pmemblk pool file user should use `construct_pmem_bdev ` RPC To create bdev based on pmemblk pool file user should use `bdev_pmem_create ` RPC
command. command.
Example command Example command
`rpc.py construct_pmem_bdev /path/to/pmem_pool -n pmem` `rpc.py bdev_pmem_create /path/to/pmem_pool -n pmem`
To remove a block device representation use the delete_pmem_bdev command. To remove a block device representation use the delete_pmem_bdev command.

View File

@ -2231,7 +2231,7 @@ Example response:
} }
~~~ ~~~
## construct_pmem_bdev {#rpc_construct_pmem_bdev} ## bdev_pmem_create {#rpc_bdev_pmem_create}
Construct @ref bdev_config_pmem bdev. Construct @ref bdev_config_pmem bdev.
@ -2259,7 +2259,7 @@ Example request:
"name": "Pmem0" "name": "Pmem0"
}, },
"jsonrpc": "2.0", "jsonrpc": "2.0",
"method": "construct_pmem_bdev", "method": "bdev_pmem_create",
"id": 1 "id": 1
} }
~~~ ~~~

View File

@ -290,7 +290,7 @@ bdev_pmem_write_config_json(struct spdk_bdev *bdev, struct spdk_json_write_ctx *
spdk_json_write_object_begin(w); spdk_json_write_object_begin(w);
spdk_json_write_named_string(w, "method", "construct_pmem_bdev"); spdk_json_write_named_string(w, "method", "bdev_pmem_create");
spdk_json_write_named_object_begin(w, "params"); spdk_json_write_named_object_begin(w, "params");
spdk_json_write_named_string(w, "name", bdev->name); spdk_json_write_named_string(w, "name", bdev->name);

View File

@ -45,7 +45,7 @@ struct rpc_construct_pmem {
}; };
static void static void
free_rpc_construct_pmem_bdev(struct rpc_construct_pmem *req) free_rpc_bdev_pmem_create(struct rpc_construct_pmem *req)
{ {
free(req->pmem_file); free(req->pmem_file);
free(req->name); free(req->name);
@ -57,8 +57,8 @@ static const struct spdk_json_object_decoder rpc_construct_pmem_decoders[] = {
}; };
static void static void
spdk_rpc_construct_pmem_bdev(struct spdk_jsonrpc_request *request, spdk_rpc_bdev_pmem_create(struct spdk_jsonrpc_request *request,
const struct spdk_json_val *params) const struct spdk_json_val *params)
{ {
struct rpc_construct_pmem req = {}; struct rpc_construct_pmem req = {};
struct spdk_json_write_ctx *w; struct spdk_json_write_ctx *w;
@ -84,9 +84,10 @@ spdk_rpc_construct_pmem_bdev(struct spdk_jsonrpc_request *request,
spdk_jsonrpc_end_result(request, w); spdk_jsonrpc_end_result(request, w);
cleanup: cleanup:
free_rpc_construct_pmem_bdev(&req); free_rpc_bdev_pmem_create(&req);
} }
SPDK_RPC_REGISTER("construct_pmem_bdev", spdk_rpc_construct_pmem_bdev, SPDK_RPC_RUNTIME) SPDK_RPC_REGISTER("bdev_pmem_create", spdk_rpc_bdev_pmem_create, SPDK_RPC_RUNTIME)
SPDK_RPC_REGISTER_ALIAS_DEPRECATED(bdev_pmem_create, construct_pmem_bdev)
struct rpc_delete_pmem { struct rpc_delete_pmem {
char *name; char *name;

View File

@ -14,7 +14,7 @@ bdev_dict["construct_nvme_bdev"] = []
bdev_dict["bdev_nvme_set_hotplug"] = [] bdev_dict["bdev_nvme_set_hotplug"] = []
bdev_dict["bdev_malloc_create"] = [] bdev_dict["bdev_malloc_create"] = []
bdev_dict["bdev_aio_create"] = [] bdev_dict["bdev_aio_create"] = []
bdev_dict["construct_pmem_bdev"] = [] bdev_dict["bdev_pmem_create"] = []
bdev_dict["construct_virtio_dev"] = [] bdev_dict["construct_virtio_dev"] = []
vhost_dict = OrderedDict() vhost_dict = OrderedDict()
@ -258,7 +258,7 @@ def get_pmem_bdev_json(config, section):
"name": items[1], "name": items[1],
"pmem_file": items[0] "pmem_file": items[0]
}, },
"method": "construct_pmem_bdev" "method": "bdev_pmem_create"
}) })
return pmem_json return pmem_json

View File

@ -529,15 +529,16 @@ if __name__ == "__main__":
p.add_argument('name', help='iSCSI bdev name') p.add_argument('name', help='iSCSI bdev name')
p.set_defaults(func=bdev_iscsi_delete) p.set_defaults(func=bdev_iscsi_delete)
def construct_pmem_bdev(args): def bdev_pmem_create(args):
print_json(rpc.bdev.construct_pmem_bdev(args.client, print_json(rpc.bdev.bdev_pmem_create(args.client,
pmem_file=args.pmem_file, pmem_file=args.pmem_file,
name=args.name)) name=args.name))
p = subparsers.add_parser('construct_pmem_bdev', help='Add a bdev with pmem backend') p = subparsers.add_parser('bdev_pmem_create', aliases=['construct_pmem_bdev'],
help='Add a bdev with pmem backend')
p.add_argument('pmem_file', help='Path to pmemblk pool file') p.add_argument('pmem_file', help='Path to pmemblk pool file')
p.add_argument('-n', '--name', help='Block device name', required=True) p.add_argument('-n', '--name', help='Block device name', required=True)
p.set_defaults(func=construct_pmem_bdev) p.set_defaults(func=bdev_pmem_create)
def delete_pmem_bdev(args): def delete_pmem_bdev(args):
rpc.bdev.delete_pmem_bdev(args.client, rpc.bdev.delete_pmem_bdev(args.client,

View File

@ -578,7 +578,8 @@ def bdev_iscsi_delete(client, name):
return client.call('bdev_iscsi_delete', params) return client.call('bdev_iscsi_delete', params)
def construct_pmem_bdev(client, pmem_file, name): @deprecated_alias('construct_pmem_bdev')
def bdev_pmem_create(client, pmem_file, name):
"""Construct a libpmemblk block device. """Construct a libpmemblk block device.
Args: Args:
@ -592,7 +593,7 @@ def construct_pmem_bdev(client, pmem_file, name):
'pmem_file': pmem_file, 'pmem_file': pmem_file,
'name': name 'name': name
} }
return client.call('construct_pmem_bdev', params) return client.call('bdev_pmem_create', params)
def delete_pmem_bdev(client, name): def delete_pmem_bdev(client, name):

View File

@ -442,7 +442,7 @@ class UIPmemBdev(UIBdev):
self.shell.log.info(json.dumps(ret, indent=2)) self.shell.log.info(json.dumps(ret, indent=2))
def ui_command_create(self, pmem_file, name): def ui_command_create(self, pmem_file, name):
ret_name = self.get_root().create_pmem_bdev(pmem_file=pmem_file, ret_name = self.get_root().bdev_pmem_create(pmem_file=pmem_file,
name=name) name=name)
self.shell.log.info(ret_name) self.shell.log.info(ret_name)

View File

@ -220,8 +220,8 @@ class UIRoot(UINode):
return response return response
@verbose @verbose
def create_pmem_bdev(self, **kwargs): def bdev_pmem_create(self, **kwargs):
response = rpc.bdev.construct_pmem_bdev(self.client, **kwargs) response = rpc.bdev.bdev_pmem_create(self.client, **kwargs)
return response return response
@verbose @verbose

View File

@ -164,7 +164,7 @@
"name": "Pmem0", "name": "Pmem0",
"pmem_file": "/tmp/sample_pmem" "pmem_file": "/tmp/sample_pmem"
}, },
"method": "construct_pmem_bdev" "method": "bdev_pmem_create"
} }
] ]
}, },

View File

@ -39,7 +39,7 @@ for i in $(seq 1 $TGT_NR); do
luns="" luns=""
for j in $(seq 1 $PMEM_PER_TGT); do for j in $(seq 1 $PMEM_PER_TGT); do
$rpc_py create_pmem_pool /tmp/pool_file${i}_${j} $PMEM_SIZE $PMEM_BLOCK_SIZE $rpc_py create_pmem_pool /tmp/pool_file${i}_${j} $PMEM_SIZE $PMEM_BLOCK_SIZE
bdevs_name="$($rpc_py construct_pmem_bdev -n pmem${i}_${j} /tmp/pool_file${i}_${j})" bdevs_name="$($rpc_py bdev_pmem_create -n pmem${i}_${j} /tmp/pool_file${i}_${j})"
PMEM_BDEVS+="$bdevs_name " PMEM_BDEVS+="$bdevs_name "
luns+="$bdevs_name:$((j - 1)) " luns+="$bdevs_name:$((j - 1)) "
done done

View File

@ -34,7 +34,7 @@ def get_bdev_destroy_method(bdev):
destroy_method_map = {'bdev_malloc_create': "delete_malloc_bdev", destroy_method_map = {'bdev_malloc_create': "delete_malloc_bdev",
'bdev_null_create': "bdev_null_delete", 'bdev_null_create': "bdev_null_delete",
'construct_rbd_bdev': "delete_rbd_bdev", 'construct_rbd_bdev': "delete_rbd_bdev",
'construct_pmem_bdev': "delete_pmem_bdev", 'bdev_pmem_create': "delete_pmem_bdev",
'bdev_aio_create': "bdev_aio_delete", 'bdev_aio_create': "bdev_aio_delete",
'bdev_error_create': "bdev_error_delete", 'bdev_error_create': "bdev_error_delete",
'construct_split_vbdev': "destruct_split_vbdev", 'construct_split_vbdev': "destruct_split_vbdev",

View File

@ -233,7 +233,7 @@ function create_bdev_subsystem_config() {
pmem_pool_file=$(mktemp /tmp/pool_file1.XXXXX) pmem_pool_file=$(mktemp /tmp/pool_file1.XXXXX)
rm -f $pmem_pool_file rm -f $pmem_pool_file
tgt_rpc create_pmem_pool $pmem_pool_file 128 4096 tgt_rpc create_pmem_pool $pmem_pool_file 128 4096
tgt_rpc construct_pmem_bdev -n pmem1 $pmem_pool_file tgt_rpc bdev_pmem_create -n pmem1 $pmem_pool_file
expected_notifications+=( bdev_register:pmem1 ) expected_notifications+=( bdev_register:pmem1 )
fi fi

View File

@ -440,46 +440,46 @@ function delete_pmem_pool_tc4()
} }
#================================================ #================================================
# construct_pmem_bdev tests # bdev_pmem_create tests
#================================================ #================================================
function construct_pmem_bdev_tc1() function bdev_pmem_create_tc1()
{ {
pmem_print_tc_name ${FUNCNAME[0]} pmem_print_tc_name ${FUNCNAME[0]}
pmem_clean_pool_file pmem_clean_pool_file
pmem_create_pool_file pmem_create_pool_file
if $rpc_py construct_pmem_bdev; then if $rpc_py bdev_pmem_create; then
error "construct_pmem_bdev passed with missing argument!" error "bdev_pmem_create passed with missing argument!"
fi fi
pmem_clean_pool_file pmem_clean_pool_file
return 0 return 0
} }
function construct_pmem_bdev_tc2() function bdev_pmem_create_tc2()
{ {
pmem_print_tc_name ${FUNCNAME[0]} pmem_print_tc_name ${FUNCNAME[0]}
pmem_clean_pool_file pmem_clean_pool_file
pmem_create_pool_file pmem_create_pool_file
if $rpc_py construct_pmem_bdev -n $bdev_name $rootdir/non/existing/path/non_existent_file; then if $rpc_py bdev_pmem_create -n $bdev_name $rootdir/non/existing/path/non_existent_file; then
error "Created pmem bdev w/out valid pool file!" error "Created pmem bdev w/out valid pool file!"
fi fi
if $rpc_py get_bdevs | jq -r '.[] .name' | grep -qi pmem; then if $rpc_py get_bdevs | jq -r '.[] .name' | grep -qi pmem; then
error "construct_pmem_bdev passed with invalid argument!" error "bdev_pmem_create passed with invalid argument!"
fi fi
pmem_clean_pool_file pmem_clean_pool_file
return 0 return 0
} }
function construct_pmem_bdev_tc3() function bdev_pmem_create_tc3()
{ {
pmem_print_tc_name ${FUNCNAME[0]} pmem_print_tc_name ${FUNCNAME[0]}
truncate -s 32M $rootdir/test/pmem/random_file truncate -s 32M $rootdir/test/pmem/random_file
if $rpc_py construct_pmem_bdev -n $bdev_name $rootdir/test/pmem/random_file; then if $rpc_py bdev_pmem_create -n $bdev_name $rootdir/test/pmem/random_file; then
error "Created pmem bdev from random file!" error "Created pmem bdev from random file!"
fi fi
@ -491,7 +491,7 @@ function construct_pmem_bdev_tc3()
return 0 return 0
} }
function construct_pmem_bdev_tc4() function bdev_pmem_create_tc4()
{ {
pmem_print_tc_name ${FUNCNAME[0]} pmem_print_tc_name ${FUNCNAME[0]}
pmem_clean_pool_file $obj_pool_file pmem_clean_pool_file $obj_pool_file
@ -504,7 +504,7 @@ function construct_pmem_bdev_tc4()
truncate -s "32M" $obj_pool_file truncate -s "32M" $obj_pool_file
fi fi
if $rpc_py construct_pmem_bdev -n $bdev_name $obj_pool_file; then if $rpc_py bdev_pmem_create -n $bdev_name $obj_pool_file; then
pmem_clean_pool_file $obj_pool_file pmem_clean_pool_file $obj_pool_file
error "Created pmem bdev from obj type pmem file!" error "Created pmem bdev from obj type pmem file!"
fi fi
@ -513,7 +513,7 @@ function construct_pmem_bdev_tc4()
return 0 return 0
} }
function construct_pmem_bdev_tc5() function bdev_pmem_create_tc5()
{ {
pmem_print_tc_name ${FUNCNAME[0]} pmem_print_tc_name ${FUNCNAME[0]}
pmem_clean_pool_file pmem_clean_pool_file
@ -524,7 +524,7 @@ function construct_pmem_bdev_tc5()
error "Failed to get pmem info!" error "Failed to get pmem info!"
fi fi
pmem_bdev_name=$($rpc_py construct_pmem_bdev -n $bdev_name $default_pool_file) pmem_bdev_name=$($rpc_py bdev_pmem_create -n $bdev_name $default_pool_file)
if [ $? != 0 ]; then if [ $? != 0 ]; then
error "Failed to create pmem bdev" error "Failed to create pmem bdev"
fi fi
@ -545,7 +545,7 @@ function construct_pmem_bdev_tc5()
return 0 return 0
} }
function construct_pmem_bdev_tc6() function bdev_pmem_create_tc6()
{ {
pmem_print_tc_name ${FUNCNAME[0]} pmem_print_tc_name ${FUNCNAME[0]}
local pmem_bdev_name local pmem_bdev_name
@ -556,7 +556,7 @@ function construct_pmem_bdev_tc6()
error "Failed to get info on pmem pool file!" error "Failed to get info on pmem pool file!"
fi fi
pmem_bdev_name=$($rpc_py construct_pmem_bdev -n $bdev_name $default_pool_file) pmem_bdev_name=$($rpc_py bdev_pmem_create -n $bdev_name $default_pool_file)
if [ $? != 0 ]; then if [ $? != 0 ]; then
error "Failed to create pmem bdev!" error "Failed to create pmem bdev!"
fi fi
@ -565,7 +565,7 @@ function construct_pmem_bdev_tc6()
error "Pmem bdev not found!" error "Pmem bdev not found!"
fi fi
if $rpc_py construct_pmem_bdev -n $bdev_name $default_pool_file; then if $rpc_py bdev_pmem_create -n $bdev_name $default_pool_file; then
error "Constructed pmem bdev with occupied path!" error "Constructed pmem bdev with occupied path!"
fi fi
@ -596,7 +596,7 @@ function delete_bdev_tc1()
error "Failed to get pmem info!" error "Failed to get pmem info!"
fi fi
pmem_bdev_name=$($rpc_py construct_pmem_bdev -n $bdev_name $default_pool_file) pmem_bdev_name=$($rpc_py bdev_pmem_create -n $bdev_name $default_pool_file)
if [ $? != 0 ]; then if [ $? != 0 ]; then
error "Failed to create pmem bdev!" error "Failed to create pmem bdev!"
fi fi
@ -629,7 +629,7 @@ function delete_bdev_tc2()
error "Failed to get pmem info!" error "Failed to get pmem info!"
fi fi
pmem_bdev_name=$($rpc_py construct_pmem_bdev -n $bdev_name $default_pool_file) pmem_bdev_name=$($rpc_py bdev_pmem_create -n $bdev_name $default_pool_file)
if [ $? != 0 ]; then if [ $? != 0 ]; then
error "Failed to create pmem bdev" error "Failed to create pmem bdev"
fi fi
@ -683,12 +683,12 @@ if $test_delete || $test_all; then
fi fi
if $test_construct_bdev || $test_all; then if $test_construct_bdev || $test_all; then
construct_pmem_bdev_tc1 bdev_pmem_create_tc1
construct_pmem_bdev_tc2 bdev_pmem_create_tc2
construct_pmem_bdev_tc3 bdev_pmem_create_tc3
construct_pmem_bdev_tc4 bdev_pmem_create_tc4
construct_pmem_bdev_tc5 bdev_pmem_create_tc5
construct_pmem_bdev_tc6 bdev_pmem_create_tc6
fi fi
if $test_delete_bdev || $test_all; then if $test_delete_bdev || $test_all; then

View File

@ -199,46 +199,46 @@ Steps & expected results:
- call delete_pmem_pool on already deleted pmem pool - call delete_pmem_pool on already deleted pmem pool
- return code !=0 and error code = ENODEV - return code !=0 and error code = ENODEV
### construct_pmem_bdev ### bdev_pmem_create
#### construct_pmem_bdev_tc1 #### bdev_pmem_create_tc1
Negative test for constructing new pmem bdev. Negative test for constructing new pmem bdev.
Call create_pmem_bdev with missing argument. Call bdev_pmem_create with missing argument.
Steps & expected results: Steps & expected results:
- Call construct_pmem_bdev with missing path argument. - Call bdev_pmem_create with missing path argument.
- Check that return code != 0 - Check that return code != 0
#### construct_pmem_bdev_tc2 #### bdev_pmem_create_tc2
Negative test for constructing new pmem bdev. Negative test for constructing new pmem bdev.
Call construct_pmem_bdev with not existing path argument. Call bdev_pmem_create with not existing path argument.
Steps & expected results: Steps & expected results:
- call construct_pmem_bdev with incorrect (not existing) path - call bdev_pmem_create with incorrect (not existing) path
- call return code != 0 and error code = ENODEV - call return code != 0 and error code = ENODEV
- using get_bdevs check that no pmem bdev was created - using get_bdevs check that no pmem bdev was created
#### construct_pmem_bdev_tc3 #### bdev_pmem_create_tc3
Negative test for constructing pmem bdevs with random file instead of pmemblk pool. Negative test for constructing pmem bdevs with random file instead of pmemblk pool.
Steps & expected results: Steps & expected results:
- using a system tool (like dd) create a random file - using a system tool (like dd) create a random file
- call construct_pmem_bdev with path pointing to that file - call bdev_pmem_create with path pointing to that file
- return code != 0, error code = ENOTBLK - return code != 0, error code = ENOTBLK
#### construct_pmem_bdev_tc4 #### bdev_pmem_create_tc4
Negative test for constructing pmem bdevs with pmemobj instead of pmemblk pool. Negative test for constructing pmem bdevs with pmemobj instead of pmemblk pool.
Steps & expected results: Steps & expected results:
- Using pmem utility tools create pool of OBJ type instead of BLK - Using pmem utility tools create pool of OBJ type instead of BLK
(if needed utility tools are not available - create random file in filesystem) (if needed utility tools are not available - create random file in filesystem)
- call construct_pmem_bdev with path pointing to that pool - call bdev_pmem_create with path pointing to that pool
- return code != 0, error code = ENOTBLK - return code != 0, error code = ENOTBLK
#### construct_pmem_bdev_tc5 #### bdev_pmem_create_tc5
Positive test for constructing pmem bdev. Positive test for constructing pmem bdev.
Steps & expected results: Steps & expected results:
- call create_pmem_pool with correct arguments - call create_pmem_pool with correct arguments
- return code = 0, no errors - return code = 0, no errors
- call pmem_pool_info and check if pmem files exists - call pmem_pool_info and check if pmem files exists
- return code = 0, no errors - return code = 0, no errors
- call construct_pmem_bdev with with correct arguments to create a pmem bdev - call bdev_pmem_create with with correct arguments to create a pmem bdev
- return code = 0, no errors - return code = 0, no errors
- using get_bdevs check that pmem bdev was created - using get_bdevs check that pmem bdev was created
- delete pmem bdev using delete_pmem_bdev - delete pmem bdev using delete_pmem_bdev
@ -246,17 +246,17 @@ Steps & expected results:
- delete previously created pmem pool - delete previously created pmem pool
- return code = 0, no error code - return code = 0, no error code
#### construct_pmem_bdev_tc6 #### bdev_pmem_create_tc6
Negative test for constructing pmem bdevs twice on the same pmem. Negative test for constructing pmem bdevs twice on the same pmem.
Steps & expected results: Steps & expected results:
- call create_pmem_pool with correct arguments - call create_pmem_pool with correct arguments
- return code = 0, no errors - return code = 0, no errors
- call pmem_pool_info and check if pmem files exists - call pmem_pool_info and check if pmem files exists
- return code = 0, no errors - return code = 0, no errors
- call construct_pmem_bdev with with correct arguments to create a pmem bdev - call bdev_pmem_create with with correct arguments to create a pmem bdev
- return code = 0, no errors - return code = 0, no errors
- using get_bdevs check that pmem bdev was created - using get_bdevs check that pmem bdev was created
- call construct_pmem_bdev again on the same pmem file - call bdev_pmem_create again on the same pmem file
- return code != 0, error code = EEXIST - return code != 0, error code = EEXIST
- delete pmem bdev using delete_pmem_bdev - delete pmem bdev using delete_pmem_bdev
- return code = 0, no error code - return code = 0, no error code
@ -275,7 +275,7 @@ block size=512, total size=256M
- return code = 0, no errors - return code = 0, no errors
- call pmem_pool_info and check if pmem file exists - call pmem_pool_info and check if pmem file exists
- return code = 0, no errors - return code = 0, no errors
- call construct_pmem_bdev and create a pmem bdev - call bdev_pmem_create and create a pmem bdev
- return code = 0, no errors - return code = 0, no errors
- using get_bdevs check that pmem bdev was created - using get_bdevs check that pmem bdev was created
- delete pmem bdev using delete_pmem_bdev - delete pmem bdev using delete_pmem_bdev
@ -291,7 +291,7 @@ block size=512, total size=256M
- return code = 0, no errors - return code = 0, no errors
- call pmem_pool_info and check if pmem file exists - call pmem_pool_info and check if pmem file exists
- return code = 0, no errors - return code = 0, no errors
- call construct_pmem_bdev and create a pmem bdev - call bdev_pmem_create and create a pmem bdev
- return code = 0, no errors - return code = 0, no errors
- using get_bdevs check that pmem bdev was created - using get_bdevs check that pmem bdev was created
- delete pmem bdev using delete_pmem_bdev - delete pmem bdev using delete_pmem_bdev