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:
parent
bd78196c09
commit
5d89d50e06
@ -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.
|
||||||
|
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
~~~
|
~~~
|
||||||
|
@ -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;
|
||||||
|
@ -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,
|
||||||
|
@ -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):
|
||||||
|
@ -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)
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user