diff --git a/doc/bdev.md b/doc/bdev.md index c855a257a..256bfc06e 100644 --- a/doc/bdev.md +++ b/doc/bdev.md @@ -521,11 +521,11 @@ Example command `rpc.py bdev_pmem_get_pool_info /path/to/pmem_pool` -To remove pmem pool file user can use `delete_pmem_pool` RPC command. +To remove pmem pool file user can use `bdev_pmem_delete_pool` RPC command. Example command -`rpc.py delete_pmem_pool /path/to/pmem_pool` +`rpc.py bdev_pmem_delete_pool /path/to/pmem_pool` To create bdev based on pmemblk pool file user should use `bdev_pmem_create ` RPC command. diff --git a/doc/jsonrpc.md b/doc/jsonrpc.md index 233de427d..ec0da2ab1 100644 --- a/doc/jsonrpc.md +++ b/doc/jsonrpc.md @@ -2193,7 +2193,7 @@ Example response: } ~~~ -## delete_pmem_pool {#rpc_delete_pmem_pool} +## bdev_pmem_delete_pool {#rpc_bdev_pmem_delete_pool} Delete pmem pool by removing file `pmem_file`. This method will fail if `pmem_file` is not a valid pmem pool file. @@ -2216,7 +2216,7 @@ Example request: "pmem_file": "/tmp/pmem_file" }, "jsonrpc": "2.0", - "method": "delete_pmem_pool", + "method": "bdev_pmem_delete_pool", "id": 1 } ~~~ diff --git a/module/bdev/pmem/bdev_pmem_rpc.c b/module/bdev/pmem/bdev_pmem_rpc.c index 8e83fc19f..7b688d0cd 100644 --- a/module/bdev/pmem/bdev_pmem_rpc.c +++ b/module/bdev/pmem/bdev_pmem_rpc.c @@ -284,30 +284,30 @@ cleanup: SPDK_RPC_REGISTER("bdev_pmem_get_pool_info", spdk_rpc_bdev_pmem_get_pool_info, SPDK_RPC_RUNTIME) SPDK_RPC_REGISTER_ALIAS_DEPRECATED(bdev_pmem_get_pool_info, pmem_pool_info) -struct rpc_delete_pmem_pool { +struct rpc_bdev_pmem_delete_pool { char *pmem_file; }; -static const struct spdk_json_object_decoder rpc_delete_pmem_pool_decoders[] = { - {"pmem_file", offsetof(struct rpc_delete_pmem_pool, pmem_file), spdk_json_decode_string}, +static const struct spdk_json_object_decoder rpc_bdev_pmem_delete_pool_decoders[] = { + {"pmem_file", offsetof(struct rpc_bdev_pmem_delete_pool, pmem_file), spdk_json_decode_string}, }; static void -free_rpc_delete_pmem_pool(struct rpc_delete_pmem_pool *req) +free_rpc_bdev_pmem_delete_pool(struct rpc_bdev_pmem_delete_pool *req) { free(req->pmem_file); } static void -spdk_rpc_delete_pmem_pool(struct spdk_jsonrpc_request *request, - const struct spdk_json_val *params) +spdk_rpc_bdev_pmem_delete_pool(struct spdk_jsonrpc_request *request, + const struct spdk_json_val *params) { - struct rpc_delete_pmem_pool req = {}; + struct rpc_bdev_pmem_delete_pool req = {}; struct spdk_json_write_ctx *w; int rc; - if (spdk_json_decode_object(params, rpc_delete_pmem_pool_decoders, - SPDK_COUNTOF(rpc_delete_pmem_pool_decoders), + if (spdk_json_decode_object(params, rpc_bdev_pmem_delete_pool_decoders, + SPDK_COUNTOF(rpc_bdev_pmem_delete_pool_decoders), &req)) { spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INTERNAL_ERROR, "spdk_json_decode_object failed"); @@ -331,6 +331,7 @@ spdk_rpc_delete_pmem_pool(struct spdk_jsonrpc_request *request, spdk_jsonrpc_end_result(request, w); cleanup: - free_rpc_delete_pmem_pool(&req); + free_rpc_bdev_pmem_delete_pool(&req); } -SPDK_RPC_REGISTER("delete_pmem_pool", spdk_rpc_delete_pmem_pool, SPDK_RPC_RUNTIME) +SPDK_RPC_REGISTER("bdev_pmem_delete_pool", spdk_rpc_bdev_pmem_delete_pool, SPDK_RPC_RUNTIME) +SPDK_RPC_REGISTER_ALIAS_DEPRECATED(bdev_pmem_delete_pool, delete_pmem_pool) diff --git a/scripts/rpc.py b/scripts/rpc.py index 5ae849a3b..adfa2807d 100755 --- a/scripts/rpc.py +++ b/scripts/rpc.py @@ -1731,13 +1731,14 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse p.add_argument('pmem_file', help='Path to pmemblk pool file') p.set_defaults(func=bdev_pmem_get_pool_info) - def delete_pmem_pool(args): - rpc.pmem.delete_pmem_pool(args.client, - pmem_file=args.pmem_file) + def bdev_pmem_delete_pool(args): + rpc.pmem.bdev_pmem_delete_pool(args.client, + pmem_file=args.pmem_file) - p = subparsers.add_parser('delete_pmem_pool', help='Delete pmem pool') + p = subparsers.add_parser('bdev_pmem_delete_pool', aliases=['delete_pmem_pool'], + help='Delete pmem pool') p.add_argument('pmem_file', help='Path to pmemblk pool file') - p.set_defaults(func=delete_pmem_pool) + p.set_defaults(func=bdev_pmem_delete_pool) # subsystem def get_subsystems(args): diff --git a/scripts/rpc/pmem.py b/scripts/rpc/pmem.py index 5b225b317..403674cf1 100644 --- a/scripts/rpc/pmem.py +++ b/scripts/rpc/pmem.py @@ -25,10 +25,11 @@ def bdev_pmem_get_pool_info(client, pmem_file): return client.call('bdev_pmem_get_pool_info', params) -def delete_pmem_pool(client, pmem_file): +@deprecated_alias('delete_pmem_pool') +def bdev_pmem_delete_pool(client, pmem_file): """Delete pmem pool. Args: pmem_file: path to pmem pool """ params = {'pmem_file': pmem_file} - return client.call('delete_pmem_pool', params) + return client.call('bdev_pmem_delete_pool', params) diff --git a/scripts/spdkcli/ui_node.py b/scripts/spdkcli/ui_node.py index 2a9eec4e9..f8936586c 100644 --- a/scripts/spdkcli/ui_node.py +++ b/scripts/spdkcli/ui_node.py @@ -47,7 +47,7 @@ class UINode(ConfigNode): command in ["create", "delete", "delete_all", "add_initiator", "allow_any_host", "split_bdev", "add_lun", "add_pg_ig_maps", "remove_target", "add_secret", - "destruct_split_bdev", "delete_pmem_pool", + "destruct_split_bdev", "bdev_pmem_delete_pool", "bdev_pmem_create_pool", "delete_secret_all", "delete_initiator", "set_auth", "delete_secret", "delete_pg_ig_maps", "load_config", @@ -434,8 +434,8 @@ class UIPmemBdev(UIBdev): num_blocks=num_blocks, block_size=block_size) - def ui_command_delete_pmem_pool(self, pmem_file): - self.get_root().delete_pmem_pool(pmem_file=pmem_file) + def ui_command_bdev_pmem_delete_pool(self, pmem_file): + self.get_root().bdev_pmem_delete_pool(pmem_file=pmem_file) def ui_command_bdev_pmem_get_pool_info(self, pmem_file): ret = self.get_root().bdev_pmem_get_pool_info(pmem_file=pmem_file) diff --git a/scripts/spdkcli/ui_root.py b/scripts/spdkcli/ui_root.py index d67db31f3..3abd84c6c 100644 --- a/scripts/spdkcli/ui_root.py +++ b/scripts/spdkcli/ui_root.py @@ -211,8 +211,8 @@ class UIRoot(UINode): return response @verbose - def delete_pmem_pool(self, **kwargs): - rpc.pmem.delete_pmem_pool(self.client, **kwargs) + def bdev_pmem_delete_pool(self, **kwargs): + rpc.pmem.bdev_pmem_delete_pool(self.client, **kwargs) @verbose def bdev_pmem_get_pool_info(self, **kwargs): diff --git a/test/iscsi_tgt/pmem/iscsi_pmem.sh b/test/iscsi_tgt/pmem/iscsi_pmem.sh index 4288a1a0b..c0f164fc5 100755 --- a/test/iscsi_tgt/pmem/iscsi_pmem.sh +++ b/test/iscsi_tgt/pmem/iscsi_pmem.sh @@ -65,7 +65,7 @@ done for i in $(seq 1 $TGT_NR); do for c in $(seq 1 $PMEM_PER_TGT); do - $rpc_py delete_pmem_pool /tmp/pool_file${i}_${c} + $rpc_py bdev_pmem_delete_pool /tmp/pool_file${i}_${c} done done diff --git a/test/json_config/json_config.sh b/test/json_config/json_config.sh index c16effee9..7b6fdbedd 100755 --- a/test/json_config/json_config.sh +++ b/test/json_config/json_config.sh @@ -264,7 +264,7 @@ function cleanup_bdev_subsystem_config() { if [[ $SPDK_TEST_PMDK -eq 1 && -n "$pmem_pool_file" && -f "$pmem_pool_file" ]]; then tgt_rpc bdev_pmem_delete pmem1 - tgt_rpc delete_pmem_pool $pmem_pool_file + tgt_rpc bdev_pmem_delete_pool $pmem_pool_file rm -f $pmem_pool_file fi diff --git a/test/pmem/pmem.sh b/test/pmem/pmem.sh index 4be5ee430..bad5aa90d 100755 --- a/test/pmem/pmem.sh +++ b/test/pmem/pmem.sh @@ -32,7 +32,7 @@ function usage() echo "-x set -x for script debug" echo " --info Run test cases for bdev_pmem_get_pool_info" echo " --create Run test cases for bdev_pmem_create_pool" - echo " --delete Run test cases for delete_pmem_pool" + echo " --delete Run test cases for bdev_pmem_delete_pool" echo " --construct_bdev Run test cases for constructing pmem bdevs" echo " --delete_bdev Run test cases for deleting pmem bdevs" echo " --all Run all test cases (default)" @@ -191,7 +191,7 @@ function bdev_pmem_create_pool_tc3() error "Failed to get pmem info" fi - if ! $rpc_py delete_pmem_pool $default_pool_file; then + if ! $rpc_py bdev_pmem_delete_pool $default_pool_file; then error "Failed to delete pool file!" fi @@ -224,7 +224,7 @@ function bdev_pmem_create_pool_tc4() error "Failed to get pmem info" fi - if ! $rpc_py delete_pmem_pool $rootdir/test/pmem/ramspace/pool_file; then + if ! $rpc_py bdev_pmem_delete_pool $rootdir/test/pmem/ramspace/pool_file; then pmem_unmount_ramspace error "Failed to delete pool file!" fi @@ -272,7 +272,7 @@ function bdev_pmem_create_pool_tc5() error "Failed to get pmem info!" fi - if ! $rpc_py delete_pmem_pool $default_pool_file; then + if ! $rpc_py bdev_pmem_delete_pool $default_pool_file; then error "Failed to delete pmem file!" fi @@ -301,7 +301,7 @@ function bdev_pmem_create_pool_tc6() error "Invalid block size of pmem pool!" fi - if ! $rpc_py delete_pmem_pool $default_pool_file; then + if ! $rpc_py bdev_pmem_delete_pool $default_pool_file; then error "Failed to delete pmem file!" fi done @@ -370,23 +370,23 @@ function bdev_pmem_create_pool_tc9() } #================================================ -# delete_pmem_pool tests +# bdev_pmem_delete_pool tests #================================================ -function delete_pmem_pool_tc1() +function bdev_pmem_delete_pool_tc1() { pmem_print_tc_name ${FUNCNAME[0]} pmem_clean_pool_file - if $rpc_py delete_pmem_pool $default_pool_file; then - error "delete_pmem_pool deleted inexistant pool file!" + if $rpc_py bdev_pmem_delete_pool $default_pool_file; then + error "bdev_pmem_delete_pool deleted inexistant pool file!" fi return 0 } -function delete_pmem_pool_tc2() +function bdev_pmem_delete_pool_tc2() { - pmem_print_tc_name "delete_pmem_pool_tc2" + pmem_print_tc_name "bdev_pmem_delete_pool_tc2" pmem_clean_pool_file $obj_pool_file echo "Creating new type OBJ pool file" @@ -397,16 +397,16 @@ function delete_pmem_pool_tc2() truncate -s "32M" $obj_pool_file fi - if $rpc_py delete_pmem_pool $obj_pool_file; then + if $rpc_py bdev_pmem_delete_pool $obj_pool_file; then pmem_clean_pool_file $obj_pool_file - error "delete_pmem_pool deleted invalid pmem pool type!" + error "bdev_pmem_delete_pool deleted invalid pmem pool type!" fi pmem_clean_pool_file $obj_pool_file return 0 } -function delete_pmem_pool_tc3() +function bdev_pmem_delete_pool_tc3() { pmem_print_tc_name ${FUNCNAME[0]} pmem_clean_pool_file @@ -416,7 +416,7 @@ function delete_pmem_pool_tc3() error "Failed to get info on pmem pool file!" fi - if ! $rpc_py delete_pmem_pool $default_pool_file; then + if ! $rpc_py bdev_pmem_delete_pool $default_pool_file; then error "Failed to delete pmem pool file!" fi @@ -427,12 +427,12 @@ function delete_pmem_pool_tc3() return 0 } -function delete_pmem_pool_tc4() +function bdev_pmem_delete_pool_tc4() { pmem_print_tc_name ${FUNCNAME[0]} - delete_pmem_pool_tc3 - if $rpc_py delete_pmem_pool $default_pool_file; then + bdev_pmem_delete_pool_tc3 + if $rpc_py bdev_pmem_delete_pool $default_pool_file; then error "Deleted pmem pool file that shouldn't exist!" fi @@ -537,7 +537,7 @@ function bdev_pmem_create_tc5() error "Failed to delete pmem bdev!" fi - if ! $rpc_py delete_pmem_pool $default_pool_file; then + if ! $rpc_py bdev_pmem_delete_pool $default_pool_file; then error "Failed to delete pmem pool file!" fi @@ -573,7 +573,7 @@ function bdev_pmem_create_tc6() error "Failed to delete pmem bdev!" fi - if ! $rpc_py delete_pmem_pool $default_pool_file; then + if ! $rpc_py bdev_pmem_delete_pool $default_pool_file; then error "Failed to delete pmem pool file!" fi @@ -676,10 +676,10 @@ if $test_create || $test_all; then fi if $test_delete || $test_all; then - delete_pmem_pool_tc1 - delete_pmem_pool_tc2 - delete_pmem_pool_tc3 - delete_pmem_pool_tc4 + bdev_pmem_delete_pool_tc1 + bdev_pmem_delete_pool_tc2 + bdev_pmem_delete_pool_tc3 + bdev_pmem_delete_pool_tc4 fi if $test_construct_bdev || $test_all; then diff --git a/test/pmem/test_plan.md b/test/pmem/test_plan.md index 0d0e03b34..730b99246 100644 --- a/test/pmem/test_plan.md +++ b/test/pmem/test_plan.md @@ -100,7 +100,7 @@ blocksize=512 and total size=256MB - call return code = 0 - call bdev_pmem_get_pool_info and check that pmem file was created - call return code = 0 -- call delete_pmem_pool on previously created pmem +- call bdev_pmem_delete_pool on previously created pmem - return code = 0 and no error code #### bdev_pmem_create_pool_tc4 @@ -112,7 +112,7 @@ blocksize=512 and total size=256MB - call return code = 0 - call bdev_pmem_get_pool_info and check that pmem file was created - call return code = 0 -- call delete_pmem_pool on previously created pmem +- call bdev_pmem_delete_pool on previously created pmem - return code = 0 and no error code #### bdev_pmem_create_pool_tc5 @@ -129,7 +129,7 @@ blocksize=4096 and total size=512MB - call bdev_pmem_create_pool and check that first pmem pool file is still available and not modified (block size and total size stay the same) - call return code = 0 -- call delete_pmem_pool on first created pmem pool +- call bdev_pmem_delete_pool on first created pmem pool - return code =0 and no error code #### bdev_pmem_create_pool_tc6 @@ -142,7 +142,7 @@ For pool files created with block size <512 their block size should be rounded u to 512; other pool files should have the same block size as specified in create command - call return code = 0; block sizes as expected -- call delete_pmem_pool on all created pool files +- call bdev_pmem_delete_pool on all created pool files #### bdev_pmem_create_pool_tc7 Negative test case for creating pmem pool file with total size of less than 16MB. @@ -162,41 +162,41 @@ total size=30MB - call bdev_pmem_get_pool_info to verify pmem pool file was not created - return code = 0 -### delete_pmem_pool +### bdev_pmem_delete_pool -#### delete_pmem_pool_tc1 +#### bdev_pmem_delete_pool_tc1 Negative test case for deleting a pmem. -Call delete_pmem_pool on non-exisiting pmem. +Call bdev_pmem_delete_pool on non-exisiting pmem. Steps & expected results: -- call delete_pmem_pool on non-existing pmem. +- call bdev_pmem_delete_pool on non-existing pmem. - return code !=0 and error code = ENOENT -#### delete_pmem_pool_tc2 +#### bdev_pmem_delete_pool_tc2 Negative test case for deleting a pmem. -Call delete_pmem_pool on a file of wrong type +Call bdev_pmem_delete_pool on a file of wrong type Steps & expected results: - Using pmem utility tools create pool of OBJ type instead of BLK (if needed utility tools are not available - create random file in filesystem) -- Call delete_pmem_pool and point to file created in previous step. +- Call bdev_pmem_delete_pool and point to file created in previous step. - return code !=0 and error code = ENOTBLK -#### delete_pmem_pool_tc3 +#### bdev_pmem_delete_pool_tc3 Positive test case for creating and deleting a pemem. Steps & expected results: - call bdev_pmem_create_pool with correct arguments - return code = 0 and no error code - using bdev_pmem_get_pool_info check that pmem was created - return code = 0 and no error code -- call delete_pmem_pool on previously created pmem +- call bdev_pmem_delete_pool on previously created pmem - return code = 0 and no error code - using bdev_pmem_get_pool_info check that pmem no longer exists - return code !=0 and error code = ENODEV -#### delete_pmem_pool_tc4 +#### bdev_pmem_delete_pool_tc4 Negative test case for creating and deleting a pemem. Steps & expected results: - run scenario from test case 3 -- call delete_pmem_pool on already deleted pmem pool +- call bdev_pmem_delete_pool on already deleted pmem pool - return code !=0 and error code = ENODEV ### bdev_pmem_create diff --git a/test/spdkcli/pmem.sh b/test/spdkcli/pmem.sh index 4ab479035..7fac62ae9 100755 --- a/test/spdkcli/pmem.sh +++ b/test/spdkcli/pmem.sh @@ -37,9 +37,9 @@ timing_exit spdkcli_check_match timing_enter spdkcli_clear_pmem_config $spdkcli_job "'/bdevs/pmemblk delete pmem_bdev0' 'pmem_bdev0' -'/bdevs/pmemblk delete_pmem_pool /tmp/sample_pmem0' '' +'/bdevs/pmemblk bdev_pmem_delete_pool /tmp/sample_pmem0' '' '/bdevs/pmemblk delete_all' 'pmem_bdev1' -'/bdevs/pmemblk delete_pmem_pool /tmp/sample_pmem1' '' +'/bdevs/pmemblk bdev_pmem_delete_pool /tmp/sample_pmem1' '' " rm -f /tmp/sample_pmem rm -f $testdir/match_files/spdkcli_pmem_info.test