rpc: Rename create_pmem_pool to bdev_pmem_create_pool

Change-Id: Ie3cafb3ff4a22b0c38f54ed5d45f19eab9381c23
Signed-off-by: Pawel Kaminski <pawelx.kaminski@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/466708
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Broadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com>
This commit is contained in:
Pawel Kaminski 2019-08-29 06:36:38 -04:00 committed by Jim Harris
parent bd78196c09
commit 5d89d50e06
11 changed files with 109 additions and 103 deletions

View File

@ -509,11 +509,11 @@ First, user needs to configure SPDK to include PMDK support:
`configure --with-pmdk` `configure --with-pmdk`
To create pmemblk pool for use with SPDK user should use `create_pmem_pool` RPC command. To create pmemblk pool for use with SPDK user should use `bdev_pmem_create_pool` RPC command.
Example command Example command
`rpc.py create_pmem_pool /path/to/pmem_pool 25 4096` `rpc.py bdev_pmem_create_pool /path/to/pmem_pool 25 4096`
To get information on created pmem pool file user can use `pmem_pool_info` RPC command. To get information on created pmem pool file user can use `pmem_pool_info` RPC command.

View File

@ -2096,7 +2096,7 @@ Example response:
~~~ ~~~
## create_pmem_pool {#rpc_create_pmem_pool} ## bdev_pmem_create_pool {#rpc_bdev_pmem_create_pool}
Create a @ref bdev_config_pmem blk pool file. It is equivalent of following `pmempool create` command: Create a @ref bdev_config_pmem blk pool file. It is equivalent of following `pmempool create` command:
@ -2126,7 +2126,7 @@ Example request:
"pmem_file": "/tmp/pmem_file" "pmem_file": "/tmp/pmem_file"
}, },
"jsonrpc": "2.0", "jsonrpc": "2.0",
"method": "create_pmem_pool", "method": "bdev_pmem_create_pool",
"id": 1 "id": 1
} }
~~~ ~~~

View File

@ -143,35 +143,35 @@ cleanup:
SPDK_RPC_REGISTER("bdev_pmem_delete", spdk_rpc_bdev_pmem_delete, SPDK_RPC_RUNTIME) SPDK_RPC_REGISTER("bdev_pmem_delete", spdk_rpc_bdev_pmem_delete, SPDK_RPC_RUNTIME)
SPDK_RPC_REGISTER_ALIAS_DEPRECATED(bdev_pmem_delete, delete_pmem_bdev) SPDK_RPC_REGISTER_ALIAS_DEPRECATED(bdev_pmem_delete, delete_pmem_bdev)
struct rpc_create_pmem_pool { struct rpc_bdev_pmem_create_pool {
char *pmem_file; char *pmem_file;
uint64_t num_blocks; uint64_t num_blocks;
uint32_t block_size; uint32_t block_size;
}; };
static const struct spdk_json_object_decoder rpc_create_pmem_pool_decoders[] = { static const struct spdk_json_object_decoder rpc_bdev_pmem_create_pool_decoders[] = {
{"pmem_file", offsetof(struct rpc_create_pmem_pool, pmem_file), spdk_json_decode_string}, {"pmem_file", offsetof(struct rpc_bdev_pmem_create_pool, pmem_file), spdk_json_decode_string},
{"num_blocks", offsetof(struct rpc_create_pmem_pool, num_blocks), spdk_json_decode_uint64}, {"num_blocks", offsetof(struct rpc_bdev_pmem_create_pool, num_blocks), spdk_json_decode_uint64},
{"block_size", offsetof(struct rpc_create_pmem_pool, block_size), spdk_json_decode_uint32}, {"block_size", offsetof(struct rpc_bdev_pmem_create_pool, block_size), spdk_json_decode_uint32},
}; };
static void static void
free_rpc_create_pmem_pool(struct rpc_create_pmem_pool *req) free_rpc_bdev_pmem_create_pool(struct rpc_bdev_pmem_create_pool *req)
{ {
free(req->pmem_file); free(req->pmem_file);
} }
static void static void
spdk_rpc_create_pmem_pool(struct spdk_jsonrpc_request *request, spdk_rpc_bdev_pmem_create_pool(struct spdk_jsonrpc_request *request,
const struct spdk_json_val *params) const struct spdk_json_val *params)
{ {
struct rpc_create_pmem_pool req = {}; struct rpc_bdev_pmem_create_pool req = {};
struct spdk_json_write_ctx *w; struct spdk_json_write_ctx *w;
uint64_t pool_size; uint64_t pool_size;
PMEMblkpool *pbp; PMEMblkpool *pbp;
if (spdk_json_decode_object(params, rpc_create_pmem_pool_decoders, if (spdk_json_decode_object(params, rpc_bdev_pmem_create_pool_decoders,
SPDK_COUNTOF(rpc_create_pmem_pool_decoders), SPDK_COUNTOF(rpc_bdev_pmem_create_pool_decoders),
&req)) { &req)) {
SPDK_DEBUGLOG(SPDK_LOG_BDEV_PMEM, "spdk_json_decode_object failed\n"); SPDK_DEBUGLOG(SPDK_LOG_BDEV_PMEM, "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,
@ -210,9 +210,10 @@ spdk_rpc_create_pmem_pool(struct spdk_jsonrpc_request *request,
spdk_jsonrpc_end_result(request, w); spdk_jsonrpc_end_result(request, w);
cleanup: cleanup:
free_rpc_create_pmem_pool(&req); free_rpc_bdev_pmem_create_pool(&req);
} }
SPDK_RPC_REGISTER("create_pmem_pool", spdk_rpc_create_pmem_pool, SPDK_RPC_RUNTIME) SPDK_RPC_REGISTER("bdev_pmem_create_pool", spdk_rpc_bdev_pmem_create_pool, SPDK_RPC_RUNTIME)
SPDK_RPC_REGISTER_ALIAS_DEPRECATED(bdev_pmem_create_pool, create_pmem_pool)
struct rpc_pmem_pool_info { struct rpc_pmem_pool_info {
char *pmem_file; char *pmem_file;

View File

@ -1708,18 +1708,19 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
p.set_defaults(func=nvmf_get_stats) p.set_defaults(func=nvmf_get_stats)
# pmem # pmem
def create_pmem_pool(args): def bdev_pmem_create_pool(args):
num_blocks = int((args.total_size * 1024 * 1024) / args.block_size) num_blocks = int((args.total_size * 1024 * 1024) / args.block_size)
rpc.pmem.create_pmem_pool(args.client, rpc.pmem.bdev_pmem_create_pool(args.client,
pmem_file=args.pmem_file, pmem_file=args.pmem_file,
num_blocks=num_blocks, num_blocks=num_blocks,
block_size=args.block_size) block_size=args.block_size)
p = subparsers.add_parser('create_pmem_pool', help='Create pmem pool') p = subparsers.add_parser('bdev_pmem_create_pool', aliases=['create_pmem_pool'],
help='Create pmem pool')
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('total_size', help='Size of malloc bdev in MB (int > 0)', type=int) p.add_argument('total_size', help='Size of malloc bdev in MB (int > 0)', type=int)
p.add_argument('block_size', help='Block size for this pmem pool', type=int) p.add_argument('block_size', help='Block size for this pmem pool', type=int)
p.set_defaults(func=create_pmem_pool) p.set_defaults(func=bdev_pmem_create_pool)
def pmem_pool_info(args): def pmem_pool_info(args):
print_dict(rpc.pmem.pmem_pool_info(args.client, print_dict(rpc.pmem.pmem_pool_info(args.client,

View File

@ -1,4 +1,8 @@
def create_pmem_pool(client, pmem_file, num_blocks, block_size): from .helpers import deprecated_alias
@deprecated_alias('create_pmem_pool')
def bdev_pmem_create_pool(client, pmem_file, num_blocks, block_size):
"""Create pmem pool at specified path. """Create pmem pool at specified path.
Args: Args:
pmem_file: path at which to create pmem pool pmem_file: path at which to create pmem pool
@ -8,7 +12,7 @@ def create_pmem_pool(client, pmem_file, num_blocks, block_size):
params = {'pmem_file': pmem_file, params = {'pmem_file': pmem_file,
'num_blocks': num_blocks, 'num_blocks': num_blocks,
'block_size': block_size} 'block_size': block_size}
return client.call('create_pmem_pool', params) return client.call('bdev_pmem_create_pool', params)
def pmem_pool_info(client, pmem_file): def pmem_pool_info(client, pmem_file):

View File

@ -48,7 +48,7 @@ class UINode(ConfigNode):
"allow_any_host", "split_bdev", "add_lun", "allow_any_host", "split_bdev", "add_lun",
"add_pg_ig_maps", "remove_target", "add_secret", "add_pg_ig_maps", "remove_target", "add_secret",
"destruct_split_bdev", "delete_pmem_pool", "destruct_split_bdev", "delete_pmem_pool",
"create_pmem_pool", "delete_secret_all", "bdev_pmem_create_pool", "delete_secret_all",
"delete_initiator", "set_auth", "delete_secret", "delete_initiator", "set_auth", "delete_secret",
"delete_pg_ig_maps", "load_config", "delete_pg_ig_maps", "load_config",
"load_subsystem_config"]: "load_subsystem_config"]:
@ -425,14 +425,14 @@ class UIPmemBdev(UIBdev):
def delete(self, name): def delete(self, name):
self.get_root().bdev_pmem_delete(name=name) self.get_root().bdev_pmem_delete(name=name)
def ui_command_create_pmem_pool(self, pmem_file, total_size, block_size): def ui_command_bdev_pmem_create_pool(self, pmem_file, total_size, block_size):
total_size = self.ui_eval_param(total_size, "number", None) total_size = self.ui_eval_param(total_size, "number", None)
block_size = self.ui_eval_param(block_size, "number", None) block_size = self.ui_eval_param(block_size, "number", None)
num_blocks = int((total_size * 1024 * 1024) / block_size) num_blocks = int((total_size * 1024 * 1024) / block_size)
self.get_root().create_pmem_pool(pmem_file=pmem_file, self.get_root().bdev_pmem_create_pool(pmem_file=pmem_file,
num_blocks=num_blocks, num_blocks=num_blocks,
block_size=block_size) block_size=block_size)
def ui_command_delete_pmem_pool(self, pmem_file): def ui_command_delete_pmem_pool(self, pmem_file):
self.get_root().delete_pmem_pool(pmem_file=pmem_file) self.get_root().delete_pmem_pool(pmem_file=pmem_file)

View File

@ -206,8 +206,8 @@ class UIRoot(UINode):
rpc.lvol.bdev_lvol_delete_lvstore(self.client, **kwargs) rpc.lvol.bdev_lvol_delete_lvstore(self.client, **kwargs)
@verbose @verbose
def create_pmem_pool(self, **kwargs): def bdev_pmem_create_pool(self, **kwargs):
response = rpc.pmem.create_pmem_pool(self.client, **kwargs) response = rpc.pmem.bdev_pmem_create_pool(self.client, **kwargs)
return response return response
@verbose @verbose

View File

@ -37,7 +37,7 @@ function pmem_create_pool_file()
pmem_clean_pool_file $pool_file pmem_clean_pool_file $pool_file
echo "Creating new pool file" echo "Creating new pool file"
if ! $rpc_py create_pmem_pool $pool_file $size $block_size; then if ! $rpc_py bdev_pmem_create_pool $pool_file $size $block_size; then
error "Creating pool_file failed!" error "Creating pool_file failed!"
fi fi

View File

@ -31,7 +31,7 @@ function usage()
echo "-h, --help Print help and exit" echo "-h, --help Print help and exit"
echo "-x set -x for script debug" echo "-x set -x for script debug"
echo " --info Run test cases for pmem_pool_info" echo " --info Run test cases for pmem_pool_info"
echo " --create Run test cases for create_pmem_pool" 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 delete_pmem_pool"
echo " --construct_bdev Run test cases for constructing pmem bdevs" echo " --construct_bdev Run test cases for constructing pmem bdevs"
echo " --delete_bdev Run test cases for deleting pmem bdevs" echo " --delete_bdev Run test cases for deleting pmem bdevs"
@ -130,60 +130,60 @@ function pmem_pool_info_tc4()
} }
#================================================ #================================================
# create_pmem_pool tests # bdev_pmem_create_pool tests
#================================================ #================================================
function create_pmem_pool_tc1() function bdev_pmem_create_pool_tc1()
{ {
pmem_print_tc_name ${FUNCNAME[0]} pmem_print_tc_name ${FUNCNAME[0]}
pmem_clean_pool_file pmem_clean_pool_file
if $rpc_py create_pmem_pool 32 512; then if $rpc_py bdev_pmem_create_pool 32 512; then
error "Mem pool file created w/out given path!" error "Mem pool file created w/out given path!"
fi fi
if $rpc_py create_pmem_pool $default_pool_file; then if $rpc_py bdev_pmem_create_pool $default_pool_file; then
error "Mem pool file created w/out size & block size arguments!" error "Mem pool file created w/out size & block size arguments!"
fi fi
if $rpc_py pmem_pool_info $default_pool_file; then if $rpc_py pmem_pool_info $default_pool_file; then
error "create_pmem_pool created invalid pool file!" error "bdev_pmem_create_pool created invalid pool file!"
fi fi
if $rpc_py create_pmem_pool $default_pool_file 32; then if $rpc_py bdev_pmem_create_pool $default_pool_file 32; then
error "Mem pool file created w/out block size argument!" error "Mem pool file created w/out block size argument!"
fi fi
if $rpc_py pmem_pool_info $default_pool_file; then if $rpc_py pmem_pool_info $default_pool_file; then
error "create_pmem_pool created invalid pool file!" error "bdev_pmem_create_pool created invalid pool file!"
fi fi
pmem_clean_pool_file pmem_clean_pool_file
return 0 return 0
} }
function create_pmem_pool_tc2() function bdev_pmem_create_pool_tc2()
{ {
pmem_print_tc_name ${FUNCNAME[0]} pmem_print_tc_name ${FUNCNAME[0]}
pmem_clean_pool_file pmem_clean_pool_file
if $rpc_py create_pmem_pool $rootdir/non/existing/path/non_existent_file 32 512; then if $rpc_py bdev_pmem_create_pool $rootdir/non/existing/path/non_existent_file 32 512; then
error "Mem pool file created with incorrect path!" error "Mem pool file created with incorrect path!"
fi fi
if $rpc_py pmem_pool_info $rootdir/non/existing/path/non_existent_file; then if $rpc_py pmem_pool_info $rootdir/non/existing/path/non_existent_file; then
error "create_pmem_pool created invalid pool file!" error "bdev_pmem_create_pool created invalid pool file!"
fi fi
pmem_clean_pool_file pmem_clean_pool_file
return 0 return 0
} }
function create_pmem_pool_tc3() function bdev_pmem_create_pool_tc3()
{ {
pmem_print_tc_name ${FUNCNAME[0]} pmem_print_tc_name ${FUNCNAME[0]}
pmem_clean_pool_file pmem_clean_pool_file
if ! $rpc_py create_pmem_pool $default_pool_file 256 512; then if ! $rpc_py bdev_pmem_create_pool $default_pool_file 256 512; then
error "Failed to create pmem pool!" error "Failed to create pmem pool!"
fi fi
@ -207,14 +207,14 @@ function create_pmem_pool_tc3()
return 0 return 0
} }
function create_pmem_pool_tc4() function bdev_pmem_create_pool_tc4()
{ {
pmem_print_tc_name ${FUNCNAME[0]} pmem_print_tc_name ${FUNCNAME[0]}
pmem_unmount_ramspace pmem_unmount_ramspace
mkdir $rootdir/test/pmem/ramspace mkdir $rootdir/test/pmem/ramspace
mount -t tmpfs -o size=300m tmpfs $rootdir/test/pmem/ramspace mount -t tmpfs -o size=300m tmpfs $rootdir/test/pmem/ramspace
if ! $rpc_py create_pmem_pool $rootdir/test/pmem/ramspace/pool_file 256 512; then if ! $rpc_py bdev_pmem_create_pool $rootdir/test/pmem/ramspace/pool_file 256 512; then
pmem_unmount_ramspace pmem_unmount_ramspace
error "Failed to create pmem pool!" error "Failed to create pmem pool!"
fi fi
@ -238,14 +238,14 @@ function create_pmem_pool_tc4()
return 0 return 0
} }
function create_pmem_pool_tc5() function bdev_pmem_create_pool_tc5()
{ {
pmem_print_tc_name ${FUNCNAME[0]} pmem_print_tc_name ${FUNCNAME[0]}
pmem_clean_pool_file pmem_clean_pool_file
local pmem_block_size local pmem_block_size
local pmem_num_block local pmem_num_block
if ! $rpc_py create_pmem_pool $default_pool_file 256 512; then if ! $rpc_py bdev_pmem_create_pool $default_pool_file 256 512; then
error "Failed to create pmem pool!" error "Failed to create pmem pool!"
fi fi
@ -256,7 +256,7 @@ function create_pmem_pool_tc5()
error "Failed to get pmem info!" error "Failed to get pmem info!"
fi fi
if $rpc_py create_pmem_pool $default_pool_file 512 4096; then if $rpc_py bdev_pmem_create_pool $default_pool_file 512 4096; then
error "Pmem pool with already occupied path has been created!" error "Pmem pool with already occupied path has been created!"
fi fi
@ -280,7 +280,7 @@ function create_pmem_pool_tc5()
return 0 return 0
} }
function create_pmem_pool_tc6() function bdev_pmem_create_pool_tc6()
{ {
pmem_print_tc_name ${FUNCNAME[0]} pmem_print_tc_name ${FUNCNAME[0]}
pmem_clean_pool_file pmem_clean_pool_file
@ -288,7 +288,7 @@ function create_pmem_pool_tc6()
for i in 511 512 1024 2048 4096 131072 262144 for i in 511 512 1024 2048 4096 131072 262144
do do
if ! $rpc_py create_pmem_pool $default_pool_file 256 $i; then if ! $rpc_py bdev_pmem_create_pool $default_pool_file 256 $i; then
error "Failed to create pmem pool!" error "Failed to create pmem pool!"
fi fi
@ -310,12 +310,12 @@ function create_pmem_pool_tc6()
return 0 return 0
} }
function create_pmem_pool_tc7() function bdev_pmem_create_pool_tc7()
{ {
pmem_print_tc_name ${FUNCNAME[0]} pmem_print_tc_name ${FUNCNAME[0]}
pmem_clean_pool_file pmem_clean_pool_file
if $rpc_py create_pmem_pool $default_pool_file 15 512; then if $rpc_py bdev_pmem_create_pool $default_pool_file 15 512; then
error "Created pmem pool with invalid size!" error "Created pmem pool with invalid size!"
fi fi
@ -327,12 +327,12 @@ function create_pmem_pool_tc7()
return 0 return 0
} }
function create_pmem_pool_tc8() function bdev_pmem_create_pool_tc8()
{ {
pmem_print_tc_name "create_pmem_pool_tc8" pmem_print_tc_name "bdev_pmem_create_pool_tc8"
pmem_clean_pool_file pmem_clean_pool_file
if $rpc_py create_pmem_pool $default_pool_file 32 65536; then if $rpc_py bdev_pmem_create_pool $default_pool_file 32 65536; then
error "Created pmem pool with invalid block number!" error "Created pmem pool with invalid block number!"
fi fi
@ -344,25 +344,25 @@ function create_pmem_pool_tc8()
return 0 return 0
} }
function create_pmem_pool_tc9() function bdev_pmem_create_pool_tc9()
{ {
pmem_print_tc_name ${FUNCNAME[0]} pmem_print_tc_name ${FUNCNAME[0]}
pmem_clean_pool_file pmem_clean_pool_file
if $rpc_py create_pmem_pool $default_pool_file 256 -1; then if $rpc_py bdev_pmem_create_pool $default_pool_file 256 -1; then
error "Created pmem pool with negative block size number!" error "Created pmem pool with negative block size number!"
fi fi
if $rpc_py pmem_pool_info $default_pool_file; then if $rpc_py pmem_pool_info $default_pool_file; then
error "create_pmem_pool create invalid pool file!" error "bdev_pmem_create_pool create invalid pool file!"
fi fi
if $rpc_py create_pmem_pool $default_pool_file -1 512; then if $rpc_py bdev_pmem_create_pool $default_pool_file -1 512; then
error "Created pmem pool with negative size number!" error "Created pmem pool with negative size number!"
fi fi
if $rpc_py pmem_pool_info $default_pool_file; then if $rpc_py pmem_pool_info $default_pool_file; then
error "create_pmem_pool create invalid pool file!" error "bdev_pmem_create_pool create invalid pool file!"
fi fi
pmem_clean_pool_file pmem_clean_pool_file
@ -664,15 +664,15 @@ if $test_info || $test_all; then
fi fi
if $test_create || $test_all; then if $test_create || $test_all; then
create_pmem_pool_tc1 bdev_pmem_create_pool_tc1
create_pmem_pool_tc2 bdev_pmem_create_pool_tc2
create_pmem_pool_tc3 bdev_pmem_create_pool_tc3
create_pmem_pool_tc4 bdev_pmem_create_pool_tc4
create_pmem_pool_tc5 bdev_pmem_create_pool_tc5
create_pmem_pool_tc6 bdev_pmem_create_pool_tc6
create_pmem_pool_tc7 bdev_pmem_create_pool_tc7
create_pmem_pool_tc8 bdev_pmem_create_pool_tc8
create_pmem_pool_tc9 bdev_pmem_create_pool_tc9
fi fi
if $test_delete || $test_all; then if $test_delete || $test_all; then

View File

@ -57,7 +57,7 @@ Steps & expected results:
- Call pmem_pool_info with path argument that points to existing file. - Call pmem_pool_info with path argument that points to existing file.
- Check that return code == 0 - Check that return code == 0
### create_pmem_pool ### bdev_pmem_create_pool
From libpmemblk documentation: From libpmemblk documentation:
- PMEM block size has to be bigger than 512 internal blocks; if lower value - PMEM block size has to be bigger than 512 internal blocks; if lower value
is used then PMEM library will silently round it up to 512 which is defined is used then PMEM library will silently round it up to 512 which is defined
@ -66,36 +66,36 @@ in pmem/libpmemblk.h file as PMEMBLK_MIN_BLK.
pmem/libpmemblk.h file as PMEMBLK_MIN_POOL pmem/libpmemblk.h file as PMEMBLK_MIN_POOL
- Total number of segments in PMEP pool file cannot be less than 256 - Total number of segments in PMEP pool file cannot be less than 256
#### create_pmem_pool_tc1 #### bdev_pmem_create_pool_tc1
Negative test case for creating a new pmem. Negative test case for creating a new pmem.
Call create_pmem_pool with missing arguments. Call bdev_pmem_create_pool with missing arguments.
Steps & expected results: Steps & expected results:
- call create_pmem_pool without path argument - call bdev_pmem_create_pool without path argument
- call return code != 0 - call return code != 0
- call pmem_pool_info and check that pmem pool file was not created - call pmem_pool_info and check that pmem pool file was not created
- call return code != 0 - call return code != 0
- call create_pmem_pool with path but without size and block size arguments - call bdev_pmem_create_pool with path but without size and block size arguments
- call return code != 0 - call return code != 0
- call pmem_pool_info and check that pmem pool file was not created - call pmem_pool_info and check that pmem pool file was not created
- call return code != 0 - call return code != 0
- call create_pmem_pool with path and size but without block size arguments - call bdev_pmem_create_pool with path and size but without block size arguments
- call return code != 0 - call return code != 0
- call pmem_pool_info and check that pmem pool file was not created - call pmem_pool_info and check that pmem pool file was not created
- call return code != 0 - call return code != 0
#### create_pmem_pool_tc2 #### bdev_pmem_create_pool_tc2
Negative test case for creating a new pmem. Negative test case for creating a new pmem.
Call create_pmem_pool with non existing path argument. Call bdev_pmem_create_pool with non existing path argument.
Steps & expected results: Steps & expected results:
- call create_pmem_pool with path that does not exist - call bdev_pmem_create_pool with path that does not exist
- call return code != 0 - call return code != 0
- call pmem_pool_info and check that pmem pool file was not created - call pmem_pool_info and check that pmem pool file was not created
- call return code != 0 - call return code != 0
#### create_pmem_pool_tc3 #### bdev_pmem_create_pool_tc3
Positive test case for creating a new pmem pool on disk space. Positive test case for creating a new pmem pool on disk space.
Steps & expected results: Steps & expected results:
- call create_pmem_pool with correct path argument, - call bdev_pmem_create_pool with correct path argument,
blocksize=512 and total size=256MB blocksize=512 and total size=256MB
- call return code = 0 - call return code = 0
- call pmem_pool_info and check that pmem file was created - call pmem_pool_info and check that pmem file was created
@ -103,11 +103,11 @@ blocksize=512 and total size=256MB
- call delete_pmem_pool on previously created pmem - call delete_pmem_pool on previously created pmem
- return code = 0 and no error code - return code = 0 and no error code
#### create_pmem_pool_tc4 #### bdev_pmem_create_pool_tc4
Positive test case for creating a new pmem pool in RAM space. Positive test case for creating a new pmem pool in RAM space.
# TODO: Research test steps for creating a pool in RAM!!! # TODO: Research test steps for creating a pool in RAM!!!
Steps & expected results: Steps & expected results:
- call create_pmem_pool with correct path argument, - call bdev_pmem_create_pool with correct path argument,
blocksize=512 and total size=256MB blocksize=512 and total size=256MB
- call return code = 0 - call return code = 0
- call pmem_pool_info and check that pmem file was created - call pmem_pool_info and check that pmem file was created
@ -115,27 +115,27 @@ blocksize=512 and total size=256MB
- call delete_pmem_pool on previously created pmem - call delete_pmem_pool on previously created pmem
- return code = 0 and no error code - return code = 0 and no error code
#### create_pmem_pool_tc5 #### bdev_pmem_create_pool_tc5
Negative test case for creating two pmems with same path. Negative test case for creating two pmems with same path.
Steps & expected results: Steps & expected results:
- call create_pmem_pool with correct path argument, - call bdev_pmem_create_pool with correct path argument,
blocksize=512 and total size=256MB blocksize=512 and total size=256MB
- call return code = 0 - call return code = 0
- call pmem_pool_info and check that pmem file was created - call pmem_pool_info and check that pmem file was created
- call return code = 0 - call return code = 0
- call create_pmem_pool with the same path argument as before, - call bdev_pmem_create_pool with the same path argument as before,
blocksize=4096 and total size=512MB blocksize=4096 and total size=512MB
- call return code != 0, error code = EEXIST - call return code != 0, error code = EEXIST
- call create_pmem_pool and check that first pmem pool file is still - 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) available and not modified (block size and total size stay the same)
- call return code = 0 - call return code = 0
- call delete_pmem_pool on first created pmem pool - call delete_pmem_pool on first created pmem pool
- return code =0 and no error code - return code =0 and no error code
#### create_pmem_pool_tc6 #### bdev_pmem_create_pool_tc6
Positive test case for creating pmem pool file with various block sizes. Positive test case for creating pmem pool file with various block sizes.
Steps & expected results: Steps & expected results:
- call create_pmem_pool with correct path argument, total size=256MB - call bdev_pmem_create_pool with correct path argument, total size=256MB
with different block size arguments - 1, 511, 512, 513, 1024, 4096, 128k and 256k with different block size arguments - 1, 511, 512, 513, 1024, 4096, 128k and 256k
- call pmem_pool_info on each of created pmem pool and check if it was created; - call pmem_pool_info on each of created pmem pool and check if it was created;
For pool files created with block size <512 their block size should be rounded up For pool files created with block size <512 their block size should be rounded up
@ -144,19 +144,19 @@ command
- call return code = 0; block sizes as expected - call return code = 0; block sizes as expected
- call delete_pmem_pool on all created pool files - call delete_pmem_pool on all created pool files
#### create_pmem_pool_tc7 #### bdev_pmem_create_pool_tc7
Negative test case for creating pmem pool file with total size of less than 16MB. Negative test case for creating pmem pool file with total size of less than 16MB.
Steps & expected results: Steps & expected results:
- call create_pmem_pool with correct path argument, block size=512 and - call bdev_pmem_create_pool with correct path argument, block size=512 and
total size less than 16MB total size less than 16MB
- return code !=0 and error code !=0 - return code !=0 and error code !=0
- call pmem_pool_info to verify pmem pool file was not created - call pmem_pool_info to verify pmem pool file was not created
- return code = 0 - return code = 0
#### create_pmem_pool_tc8 #### bdev_pmem_create_pool_tc8
Negative test case for creating pmem pool file with less than 256 blocks. Negative test case for creating pmem pool file with less than 256 blocks.
Steps & expected results: Steps & expected results:
- call create_pmem_pool with correct path argument, block size=128k and - call bdev_pmem_create_pool with correct path argument, block size=128k and
total size=30MB total size=30MB
- return code !=0 and error code !=0 - return code !=0 and error code !=0
- call pmem_pool_info to verify pmem pool file was not created - call pmem_pool_info to verify pmem pool file was not created
@ -183,7 +183,7 @@ Steps & expected results:
#### delete_pmem_pool_tc3 #### delete_pmem_pool_tc3
Positive test case for creating and deleting a pemem. Positive test case for creating and deleting a pemem.
Steps & expected results: Steps & expected results:
- call create_pmem_pool with correct arguments - call bdev_pmem_create_pool with correct arguments
- return code = 0 and no error code - return code = 0 and no error code
- using pmem_pool_info check that pmem was created - using pmem_pool_info check that pmem was created
- return code = 0 and no error code - return code = 0 and no error code
@ -234,7 +234,7 @@ Steps & expected results:
#### bdev_pmem_create_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 bdev_pmem_create_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
@ -249,7 +249,7 @@ Steps & expected results:
#### bdev_pmem_create_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 bdev_pmem_create_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
@ -270,7 +270,7 @@ Positive test for deleting pmem bdevs using bdev_pmem_delete call.
Steps & expected results: Steps & expected results:
- construct malloc and aio bdevs (also NVMe if possible) - construct malloc and aio bdevs (also NVMe if possible)
- all calls - return code = 0, no errors; bdevs created - all calls - return code = 0, no errors; bdevs created
- call create_pmem_pool with correct path argument, - call bdev_pmem_create_pool with correct path argument,
block size=512, total size=256M 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
@ -286,7 +286,7 @@ were unaffected.
#### bdev_pmem_delete_tc2 #### bdev_pmem_delete_tc2
Negative test for deleting pmem bdev twice. Negative test for deleting pmem bdev twice.
Steps & expected results: Steps & expected results:
- call create_pmem_pool with correct path argument, - call bdev_pmem_create_pool with correct path argument,
block size=512, total size=256M 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

View File

@ -16,8 +16,8 @@ run_spdk_tgt
timing_exit run_spdk_tgt timing_exit run_spdk_tgt
timing_enter spdkcli_create_pmem_config timing_enter spdkcli_create_pmem_config
$spdkcli_job "'/bdevs/pmemblk create_pmem_pool /tmp/sample_pmem0 32 512' '' True $spdkcli_job "'/bdevs/pmemblk bdev_pmem_create_pool /tmp/sample_pmem0 32 512' '' True
'/bdevs/pmemblk create_pmem_pool /tmp/sample_pmem1 32 512' '' True '/bdevs/pmemblk bdev_pmem_create_pool /tmp/sample_pmem1 32 512' '' True
" "
# Saving pmem pool info before they get claimed by /bdevs/pmemblk create # Saving pmem pool info before they get claimed by /bdevs/pmemblk create