scripts/rpc: Rename rpc related to null bdev

Rename construct_null_bdev to bdev_null_create
Rename delete_null_bdev to bdev_null_delete

Change-Id: I2390b14ac62130eaf20b2c43ebd30c763eca34de
Signed-off-by: Pawel Kaminski <pawelx.kaminski@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465789
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Broadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
This commit is contained in:
Pawel Kaminski 2019-08-20 09:06:22 -04:00 committed by Jim Harris
parent f60eeb6f29
commit 60563dfe7f
14 changed files with 63 additions and 58 deletions

View File

@ -377,17 +377,17 @@ application.
The SPDK null bdev driver is a dummy block I/O target that discards all writes and returns undefined The SPDK null bdev driver is a dummy block I/O target that discards all writes and returns undefined
data for reads. It is useful for benchmarking the rest of the bdev I/O stack with minimal block data for reads. It is useful for benchmarking the rest of the bdev I/O stack with minimal block
device overhead and for testing configurations that can't easily be created with the Malloc bdev. device overhead and for testing configurations that can't easily be created with the Malloc bdev.
To create Null bdev RPC command `construct_null_bdev` should be used. To create Null bdev RPC command `bdev_null_create` should be used.
Example command Example command
`rpc.py construct_null_bdev Null0 8589934592 4096` `rpc.py bdev_null_create Null0 8589934592 4096`
This command will create an 8 petabyte `Null0` device with block size 4096. This command will create an 8 petabyte `Null0` device with block size 4096.
To delete a null bdev use the delete_null_bdev command. To delete a null bdev use the bdev_null_delete command.
`rpc.py delete_null_bdev Null0` `rpc.py bdev_null_delete Null0`
# NVMe bdev {#bdev_config_nvme} # NVMe bdev {#bdev_config_nvme}

View File

@ -294,7 +294,7 @@ Example response:
"apply_nvme_firmware", "apply_nvme_firmware",
"delete_nvme_controller", "delete_nvme_controller",
"construct_nvme_bdev", "construct_nvme_bdev",
"construct_null_bdev", "bdev_null_create",
"delete_malloc_bdev", "delete_malloc_bdev",
"bdev_malloc_create", "bdev_malloc_create",
"delete_ftl_bdev", "delete_ftl_bdev",
@ -1231,7 +1231,7 @@ Example response:
} }
~~~ ~~~
## construct_null_bdev {#rpc_construct_null_bdev} ## bdev_null_create {#rpc_bdev_null_create}
Construct @ref bdev_config_null Construct @ref bdev_config_null
@ -1267,7 +1267,7 @@ Example request:
"dif_is_head_of_md": true "dif_is_head_of_md": true
}, },
"jsonrpc": "2.0", "jsonrpc": "2.0",
"method": "construct_null_bdev", "method": "bdev_null_create",
"id": 1 "id": 1
} }
~~~ ~~~
@ -1282,7 +1282,7 @@ Example response:
} }
~~~ ~~~
## delete_null_bdev {#rpc_delete_null_bdev} ## bdev_null_delete {#rpc_bdev_null_delete}
Delete @ref bdev_config_null. Delete @ref bdev_config_null.
@ -1302,7 +1302,7 @@ Example request:
"name": "Null0" "name": "Null0"
}, },
"jsonrpc": "2.0", "jsonrpc": "2.0",
"method": "delete_null_bdev", "method": "bdev_null_delete",
"id": 1 "id": 1
} }
~~~ ~~~

View File

@ -202,7 +202,7 @@ bdev_null_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_null_bdev"); spdk_json_write_named_string(w, "method", "bdev_null_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);
@ -227,7 +227,7 @@ static const struct spdk_bdev_fn_table null_fn_table = {
}; };
int int
create_null_bdev(struct spdk_bdev **bdev, const struct spdk_null_bdev_opts *opts) bdev_null_create(struct spdk_bdev **bdev, const struct spdk_null_bdev_opts *opts)
{ {
struct null_bdev *null_disk; struct null_bdev *null_disk;
uint32_t data_block_size; uint32_t data_block_size;
@ -323,7 +323,7 @@ create_null_bdev(struct spdk_bdev **bdev, const struct spdk_null_bdev_opts *opts
} }
void void
delete_null_bdev(struct spdk_bdev *bdev, spdk_delete_null_complete cb_fn, void *cb_arg) bdev_null_delete(struct spdk_bdev *bdev, spdk_delete_null_complete cb_fn, void *cb_arg)
{ {
if (!bdev || bdev->module != &null_if) { if (!bdev || bdev->module != &null_if) {
cb_fn(cb_arg, -ENODEV); cb_fn(cb_arg, -ENODEV);
@ -480,7 +480,7 @@ bdev_null_initialize(void)
opts.md_interleave = true; opts.md_interleave = true;
opts.dif_type = dif_type; opts.dif_type = dif_type;
opts.dif_is_head_of_md = false; opts.dif_is_head_of_md = false;
rc = create_null_bdev(&bdev, &opts); rc = bdev_null_create(&bdev, &opts);
if (rc) { if (rc) {
SPDK_ERRLOG("Could not create null bdev\n"); SPDK_ERRLOG("Could not create null bdev\n");
goto end; goto end;

View File

@ -52,7 +52,7 @@ struct spdk_null_bdev_opts {
bool dif_is_head_of_md; bool dif_is_head_of_md;
}; };
int create_null_bdev(struct spdk_bdev **bdev, const struct spdk_null_bdev_opts *opts); int bdev_null_create(struct spdk_bdev **bdev, const struct spdk_null_bdev_opts *opts);
/** /**
* Delete null bdev. * Delete null bdev.
@ -61,7 +61,7 @@ int create_null_bdev(struct spdk_bdev **bdev, const struct spdk_null_bdev_opts *
* \param cb_fn Function to call after deletion. * \param cb_fn Function to call after deletion.
* \param cb_arg Argument to pass to cb_fn. * \param cb_arg Argument to pass to cb_fn.
*/ */
void delete_null_bdev(struct spdk_bdev *bdev, spdk_delete_null_complete cb_fn, void bdev_null_delete(struct spdk_bdev *bdev, spdk_delete_null_complete cb_fn,
void *cb_arg); void *cb_arg);
#endif /* SPDK_BDEV_NULL_H */ #endif /* SPDK_BDEV_NULL_H */

View File

@ -67,8 +67,8 @@ static const struct spdk_json_object_decoder rpc_construct_null_decoders[] = {
}; };
static void static void
spdk_rpc_construct_null_bdev(struct spdk_jsonrpc_request *request, spdk_rpc_bdev_null_create(struct spdk_jsonrpc_request *request,
const struct spdk_json_val *params) const struct spdk_json_val *params)
{ {
struct rpc_construct_null req = {}; struct rpc_construct_null req = {};
struct spdk_json_write_ctx *w; struct spdk_json_write_ctx *w;
@ -128,7 +128,7 @@ spdk_rpc_construct_null_bdev(struct spdk_jsonrpc_request *request,
opts.md_interleave = true; opts.md_interleave = true;
opts.dif_type = req.dif_type; opts.dif_type = req.dif_type;
opts.dif_is_head_of_md = req.dif_is_head_of_md; opts.dif_is_head_of_md = req.dif_is_head_of_md;
rc = create_null_bdev(&bdev, &opts); rc = bdev_null_create(&bdev, &opts);
if (rc) { if (rc) {
spdk_jsonrpc_send_error_response(request, rc, spdk_strerror(-rc)); spdk_jsonrpc_send_error_response(request, rc, spdk_strerror(-rc));
goto cleanup; goto cleanup;
@ -143,7 +143,8 @@ spdk_rpc_construct_null_bdev(struct spdk_jsonrpc_request *request,
cleanup: cleanup:
free_rpc_construct_null(&req); free_rpc_construct_null(&req);
} }
SPDK_RPC_REGISTER("construct_null_bdev", spdk_rpc_construct_null_bdev, SPDK_RPC_RUNTIME) SPDK_RPC_REGISTER("bdev_null_create", spdk_rpc_bdev_null_create, SPDK_RPC_RUNTIME)
SPDK_RPC_REGISTER_ALIAS_DEPRECATED(bdev_null_create, construct_null_bdev)
struct rpc_delete_null { struct rpc_delete_null {
char *name; char *name;
@ -160,7 +161,7 @@ static const struct spdk_json_object_decoder rpc_delete_null_decoders[] = {
}; };
static void static void
_spdk_rpc_delete_null_bdev_cb(void *cb_arg, int bdeverrno) _spdk_rpc_bdev_null_delete_cb(void *cb_arg, int bdeverrno)
{ {
struct spdk_jsonrpc_request *request = cb_arg; struct spdk_jsonrpc_request *request = cb_arg;
struct spdk_json_write_ctx *w = spdk_jsonrpc_begin_result(request); struct spdk_json_write_ctx *w = spdk_jsonrpc_begin_result(request);
@ -170,7 +171,7 @@ _spdk_rpc_delete_null_bdev_cb(void *cb_arg, int bdeverrno)
} }
static void static void
spdk_rpc_delete_null_bdev(struct spdk_jsonrpc_request *request, spdk_rpc_bdev_null_delete(struct spdk_jsonrpc_request *request,
const struct spdk_json_val *params) const struct spdk_json_val *params)
{ {
struct rpc_delete_null req = {NULL}; struct rpc_delete_null req = {NULL};
@ -190,7 +191,7 @@ spdk_rpc_delete_null_bdev(struct spdk_jsonrpc_request *request,
goto cleanup; goto cleanup;
} }
delete_null_bdev(bdev, _spdk_rpc_delete_null_bdev_cb, request); bdev_null_delete(bdev, _spdk_rpc_bdev_null_delete_cb, request);
free_rpc_delete_null(&req); free_rpc_delete_null(&req);
@ -199,4 +200,5 @@ spdk_rpc_delete_null_bdev(struct spdk_jsonrpc_request *request,
cleanup: cleanup:
free_rpc_delete_null(&req); free_rpc_delete_null(&req);
} }
SPDK_RPC_REGISTER("delete_null_bdev", spdk_rpc_delete_null_bdev, SPDK_RPC_RUNTIME) SPDK_RPC_REGISTER("bdev_null_delete", spdk_rpc_bdev_null_delete, SPDK_RPC_RUNTIME)
SPDK_RPC_REGISTER_ALIAS_DEPRECATED(bdev_null_delete, delete_null_bdev)

View File

@ -478,7 +478,7 @@ class SPDKTarget(Target):
def spdk_tgt_add_nullblock(self): def spdk_tgt_add_nullblock(self):
self.log_print("Adding null block bdev to config via RPC") self.log_print("Adding null block bdev to config via RPC")
rpc.bdev.construct_null_bdev(self.client, 102400, 4096, "Nvme0n1") rpc.bdev.bdev_null_create(self.client, 102400, 4096, "Nvme0n1")
self.log_print("SPDK Bdevs configuration:") self.log_print("SPDK Bdevs configuration:")
rpc.client.print_dict(rpc.bdev.get_bdevs(self.client)) rpc.client.print_dict(rpc.bdev.get_bdevs(self.client))

View File

@ -258,18 +258,18 @@ if __name__ == "__main__":
p.add_argument('name', help='malloc bdev name') p.add_argument('name', help='malloc bdev name')
p.set_defaults(func=delete_malloc_bdev) p.set_defaults(func=delete_malloc_bdev)
def construct_null_bdev(args): def bdev_null_create(args):
num_blocks = (args.total_size * 1024 * 1024) // args.block_size num_blocks = (args.total_size * 1024 * 1024) // args.block_size
print_json(rpc.bdev.construct_null_bdev(args.client, print_json(rpc.bdev.bdev_null_create(args.client,
num_blocks=num_blocks, num_blocks=num_blocks,
block_size=args.block_size, block_size=args.block_size,
name=args.name, name=args.name,
uuid=args.uuid, uuid=args.uuid,
md_size=args.md_size, md_size=args.md_size,
dif_type=args.dif_type, dif_type=args.dif_type,
dif_is_head_of_md=args.dif_is_head_of_md)) dif_is_head_of_md=args.dif_is_head_of_md))
p = subparsers.add_parser('construct_null_bdev', p = subparsers.add_parser('bdev_null_create', aliases=['construct_null_bdev'],
help='Add a bdev with null backend') help='Add a bdev with null backend')
p.add_argument('name', help='Block device name') p.add_argument('name', help='Block device name')
p.add_argument('-u', '--uuid', help='UUID of the bdev') p.add_argument('-u', '--uuid', help='UUID of the bdev')
@ -282,15 +282,16 @@ if __name__ == "__main__":
help='Protection information type. Default: 0 - no protection') help='Protection information type. Default: 0 - no protection')
p.add_argument('-d', '--dif-is-head-of-md', action='store_true', p.add_argument('-d', '--dif-is-head-of-md', action='store_true',
help='Protection information is in the first 8 bytes of metadata. Default: in the last 8 bytes') help='Protection information is in the first 8 bytes of metadata. Default: in the last 8 bytes')
p.set_defaults(func=construct_null_bdev) p.set_defaults(func=bdev_null_create)
def delete_null_bdev(args): def bdev_null_delete(args):
rpc.bdev.delete_null_bdev(args.client, rpc.bdev.bdev_null_delete(args.client,
name=args.name) name=args.name)
p = subparsers.add_parser('delete_null_bdev', help='Delete a null bdev') p = subparsers.add_parser('bdev_null_delete', aliases=['delete_null_bdev'],
help='Delete a null bdev')
p.add_argument('name', help='null bdev name') p.add_argument('name', help='null bdev name')
p.set_defaults(func=delete_null_bdev) p.set_defaults(func=bdev_null_delete)
def bdev_aio_create(args): def bdev_aio_create(args):
print_json(rpc.bdev.bdev_aio_create(args.client, print_json(rpc.bdev.bdev_aio_create(args.client,

View File

@ -189,8 +189,9 @@ def delete_malloc_bdev(client, name):
return client.call('delete_malloc_bdev', params) return client.call('delete_malloc_bdev', params)
def construct_null_bdev(client, num_blocks, block_size, name, uuid=None, md_size=None, @deprecated_alias('construct_null_bdev')
dif_type=None, dif_is_head_of_md=None): def bdev_null_create(client, num_blocks, block_size, name, uuid=None, md_size=None,
dif_type=None, dif_is_head_of_md=None):
"""Construct a null block device. """Construct a null block device.
Args: Args:
@ -215,17 +216,18 @@ def construct_null_bdev(client, num_blocks, block_size, name, uuid=None, md_size
params['dif_type'] = dif_type params['dif_type'] = dif_type
if dif_is_head_of_md: if dif_is_head_of_md:
params['dif_is_head_of_md'] = dif_is_head_of_md params['dif_is_head_of_md'] = dif_is_head_of_md
return client.call('construct_null_bdev', params) return client.call('bdev_null_create', params)
def delete_null_bdev(client, name): @deprecated_alias('delete_null_bdev')
def bdev_null_delete(client, name):
"""Remove null bdev from the system. """Remove null bdev from the system.
Args: Args:
name: name of null bdev to delete name: name of null bdev to delete
""" """
params = {'name': name} params = {'name': name}
return client.call('delete_null_bdev', params) return client.call('bdev_null_delete', params)
def get_raid_bdevs(client, category): def get_raid_bdevs(client, category):

View File

@ -324,7 +324,7 @@ class UINullBdev(UIBdev):
UIBdev.__init__(self, "null", parent) UIBdev.__init__(self, "null", parent)
def delete(self, name): def delete(self, name):
self.get_root().delete_null_bdev(name=name) self.get_root().bdev_null_delete(name=name)
def ui_command_create(self, name, size, block_size, uuid=None): def ui_command_create(self, name, size, block_size, uuid=None):
""" """
@ -341,7 +341,7 @@ class UINullBdev(UIBdev):
size = self.ui_eval_param(size, "number", None) size = self.ui_eval_param(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 = size * 1024 * 1024 // block_size num_blocks = size * 1024 * 1024 // block_size
ret_name = self.get_root().create_null_bdev(num_blocks=num_blocks, ret_name = self.get_root().bdev_null_create(num_blocks=num_blocks,
block_size=block_size, block_size=block_size,
name=name, uuid=uuid) name=name, uuid=uuid)
self.shell.log.info(ret_name) self.shell.log.info(ret_name)

View File

@ -172,13 +172,13 @@ class UIRoot(UINode):
rpc.bdev.delete_nvme_controller(self.client, **kwargs) rpc.bdev.delete_nvme_controller(self.client, **kwargs)
@verbose @verbose
def create_null_bdev(self, **kwargs): def bdev_null_create(self, **kwargs):
response = rpc.bdev.construct_null_bdev(self.client, **kwargs) response = rpc.bdev.bdev_null_create(self.client, **kwargs)
return response return response
@verbose @verbose
def delete_null_bdev(self, **kwargs): def bdev_null_delete(self, **kwargs):
rpc.bdev.delete_null_bdev(self.client, **kwargs) rpc.bdev.bdev_null_delete(self.client, **kwargs)
@verbose @verbose
def create_error_bdev(self, **kwargs): def create_error_bdev(self, **kwargs):

View File

@ -32,7 +32,7 @@ def get_bdev_name(bdev):
def get_bdev_destroy_method(bdev): def get_bdev_destroy_method(bdev):
destroy_method_map = {'bdev_malloc_create': "delete_malloc_bdev", destroy_method_map = {'bdev_malloc_create': "delete_malloc_bdev",
'construct_null_bdev': "delete_null_bdev", 'bdev_null_create': "bdev_null_delete",
'construct_rbd_bdev': "delete_rbd_bdev", 'construct_rbd_bdev': "delete_rbd_bdev",
'construct_pmem_bdev': "delete_pmem_bdev", 'construct_pmem_bdev': "delete_pmem_bdev",
'bdev_aio_create': "bdev_aio_delete", 'bdev_aio_create': "bdev_aio_delete",

View File

@ -171,7 +171,7 @@ function create_bdev_subsystem_config() {
tgt_rpc bdev_malloc_create 8 4096 --name Malloc3 tgt_rpc bdev_malloc_create 8 4096 --name Malloc3
tgt_rpc construct_passthru_bdev -b Malloc3 -p PTBdevFromMalloc3 tgt_rpc construct_passthru_bdev -b Malloc3 -p PTBdevFromMalloc3
tgt_rpc construct_null_bdev Null0 32 512 tgt_rpc bdev_null_create Null0 32 512
tgt_rpc bdev_malloc_create 32 512 --name Malloc0 tgt_rpc bdev_malloc_create 32 512 --name Malloc0
tgt_rpc bdev_malloc_create 16 4096 --name Malloc1 tgt_rpc bdev_malloc_create 16 4096 --name Malloc1

View File

@ -22,8 +22,8 @@ nvmfappstart "-m 0xF"
# Use nvmf_create_transport call to create transport # Use nvmf_create_transport call to create transport
$rpc_py nvmf_create_transport $NVMF_TRANSPORT_OPTS -u 8192 $rpc_py nvmf_create_transport $NVMF_TRANSPORT_OPTS -u 8192
null_bdevs="$($rpc_py construct_null_bdev Null0 $NULL_BDEV_SIZE $NULL_BLOCK_SIZE) " null_bdevs="$($rpc_py bdev_null_create Null0 $NULL_BDEV_SIZE $NULL_BLOCK_SIZE) "
null_bdevs+="$($rpc_py construct_null_bdev Null1 $NULL_BDEV_SIZE $NULL_BLOCK_SIZE)" null_bdevs+="$($rpc_py bdev_null_create Null1 $NULL_BDEV_SIZE $NULL_BLOCK_SIZE)"
$rpc_py nvmf_subsystem_create nqn.2016-06.io.spdk:cnode1 -a -s SPDK00000000000001 $rpc_py nvmf_subsystem_create nqn.2016-06.io.spdk:cnode1 -a -s SPDK00000000000001
for null_bdev in $null_bdevs; do for null_bdev in $null_bdevs; do
@ -39,7 +39,7 @@ $rpc_py get_nvmf_subsystems
$rpc_py delete_nvmf_subsystem nqn.2016-06.io.spdk:cnode1 $rpc_py delete_nvmf_subsystem nqn.2016-06.io.spdk:cnode1
for null_bdev in $null_bdevs; do for null_bdev in $null_bdevs; do
$rpc_py delete_null_bdev $null_bdev $rpc_py bdev_null_delete $null_bdev
done done
check_bdevs=$($rpc_py get_bdevs | jq -r '.[].name') check_bdevs=$($rpc_py get_bdevs | jq -r '.[].name')

View File

@ -21,8 +21,8 @@ nvmfappstart "-m 0xF"
$rpc_py nvmf_create_transport $NVMF_TRANSPORT_OPTS -u 8192 $rpc_py nvmf_create_transport $NVMF_TRANSPORT_OPTS -u 8192
null_bdevs="$($rpc_py construct_null_bdev Null0 $NULL_BDEV_SIZE $NULL_BLOCK_SIZE) " null_bdevs="$($rpc_py bdev_null_create Null0 $NULL_BDEV_SIZE $NULL_BLOCK_SIZE) "
null_bdevs+="$($rpc_py construct_null_bdev Null1 $NULL_BDEV_SIZE $NULL_BLOCK_SIZE)" null_bdevs+="$($rpc_py bdev_null_create Null1 $NULL_BDEV_SIZE $NULL_BLOCK_SIZE)"
$rpc_py nvmf_subsystem_create nqn.2016-06.io.spdk:cnode1 -a -s SPDK00000000000001 $rpc_py nvmf_subsystem_create nqn.2016-06.io.spdk:cnode1 -a -s SPDK00000000000001
for null_bdev in $null_bdevs; do for null_bdev in $null_bdevs; do
@ -38,7 +38,7 @@ $rpc_py get_nvmf_subsystems
$rpc_py delete_nvmf_subsystem nqn.2016-06.io.spdk:cnode1 $rpc_py delete_nvmf_subsystem nqn.2016-06.io.spdk:cnode1
for null_bdev in $null_bdevs; do for null_bdev in $null_bdevs; do
$rpc_py delete_null_bdev $null_bdev $rpc_py bdev_null_delete $null_bdev
done done
check_bdevs=$($rpc_py get_bdevs | jq -r '.[].name') check_bdevs=$($rpc_py get_bdevs | jq -r '.[].name')