rpc: Rename passthru related rpcs.

Rename construct_passthru_bdev to bdev_passthru_create
Rename delete_passthru_bdev to bdev_passthru_delete

Change-Id: I8850b78f846acc42cb8530acaf462af867b0bb2e
Signed-off-by: Pawel Kaminski <pawelx.kaminski@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/466520
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Pawel Kaminski 2019-08-28 04:56:12 -04:00 committed by Jim Harris
parent 29a9a3089a
commit 7e875f371f
10 changed files with 61 additions and 55 deletions

View File

@ -497,9 +497,9 @@ and demonstrates some other basic features such as the use of per I/O context.
Example commands Example commands
`rpc.py construct_passthru_bdev -b aio -p pt` `rpc.py bdev_passthru_create -b aio -p pt`
`rpc.py delete_passthru_bdev pt` `rpc.py bdev_passthru_delete pt`
# Pmem {#bdev_config_pmem} # Pmem {#bdev_config_pmem}

View File

@ -290,7 +290,8 @@ Example response:
"bdev_error_inject_error", "bdev_error_inject_error",
"bdev_error_delete", "bdev_error_delete",
"bdev_error_create", "bdev_error_create",
"construct_passthru_bdev", "bdev_passthru_create",
"bdev_passthru_delete"
"bdev_nvme_apply_firmware", "bdev_nvme_apply_firmware",
"delete_nvme_controller", "delete_nvme_controller",
"bdev_nvme_attach_controller", "bdev_nvme_attach_controller",
@ -2315,7 +2316,7 @@ Example response:
} }
~~~ ~~~
## construct_passthru_bdev {#rpc_construct_passthru_bdev} ## bdev_passthru_create {#rpc_bdev_passthru_create}
Create passthru bdev. This bdev type redirects all IO to it's base bdev. It has no other purpose than being an example Create passthru bdev. This bdev type redirects all IO to it's base bdev. It has no other purpose than being an example
and a starting point in development of new bdev type. and a starting point in development of new bdev type.
@ -2342,7 +2343,7 @@ Example request:
"name": "Passsthru0" "name": "Passsthru0"
}, },
"jsonrpc": "2.0", "jsonrpc": "2.0",
"method": "construct_passthru_bdev", "method": "bdev_passthru_create",
"id": 1 "id": 1
} }
~~~ ~~~
@ -2357,7 +2358,7 @@ Example response:
} }
~~~ ~~~
## delete_passthru_bdev {#rpc_delete_passthru_bdev} ## bdev_passthru_delete {#rpc_bdev_passthru_delete}
Delete passthru bdev. Delete passthru bdev.
@ -2377,7 +2378,7 @@ Example request:
"name": "Passsthru0" "name": "Passsthru0"
}, },
"jsonrpc": "2.0", "jsonrpc": "2.0",
"method": "delete_passthru_bdev", "method": "bdev_passthru_delete",
"id": 1 "id": 1
} }

View File

@ -385,7 +385,7 @@ vbdev_passthru_config_json(struct spdk_json_write_ctx *w)
TAILQ_FOREACH(pt_node, &g_pt_nodes, link) { TAILQ_FOREACH(pt_node, &g_pt_nodes, link) {
spdk_json_write_object_begin(w); spdk_json_write_object_begin(w);
spdk_json_write_named_string(w, "method", "construct_passthru_bdev"); spdk_json_write_named_string(w, "method", "bdev_passthru_create");
spdk_json_write_named_object_begin(w, "params"); spdk_json_write_named_object_begin(w, "params");
spdk_json_write_named_string(w, "base_bdev_name", spdk_bdev_get_name(pt_node->base_bdev)); spdk_json_write_named_string(w, "base_bdev_name", spdk_bdev_get_name(pt_node->base_bdev));
spdk_json_write_named_string(w, "name", spdk_bdev_get_name(&pt_node->pt_bdev)); spdk_json_write_named_string(w, "name", spdk_bdev_get_name(&pt_node->pt_bdev));
@ -687,7 +687,7 @@ vbdev_passthru_register(struct spdk_bdev *bdev)
/* Create the passthru disk from the given bdev and vbdev name. */ /* Create the passthru disk from the given bdev and vbdev name. */
int int
create_passthru_disk(const char *bdev_name, const char *vbdev_name) bdev_passthru_create_disk(const char *bdev_name, const char *vbdev_name)
{ {
struct spdk_bdev *bdev = NULL; struct spdk_bdev *bdev = NULL;
int rc = 0; int rc = 0;
@ -713,7 +713,7 @@ create_passthru_disk(const char *bdev_name, const char *vbdev_name)
} }
void void
delete_passthru_disk(struct spdk_bdev *bdev, spdk_bdev_unregister_cb cb_fn, void *cb_arg) bdev_passthru_delete_disk(struct spdk_bdev *bdev, spdk_bdev_unregister_cb cb_fn, void *cb_arg)
{ {
struct bdev_names *name; struct bdev_names *name;

View File

@ -46,7 +46,7 @@
* \param vbdev_name Name of the pass through bdev. * \param vbdev_name Name of the pass through bdev.
* \return 0 on success, other on failure. * \return 0 on success, other on failure.
*/ */
int create_passthru_disk(const char *bdev_name, const char *vbdev_name); int bdev_passthru_create_disk(const char *bdev_name, const char *vbdev_name);
/** /**
* Delete passthru bdev. * Delete passthru bdev.
@ -55,7 +55,7 @@ int create_passthru_disk(const char *bdev_name, const char *vbdev_name);
* \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_passthru_disk(struct spdk_bdev *bdev, spdk_bdev_unregister_cb cb_fn, void bdev_passthru_delete_disk(struct spdk_bdev *bdev, spdk_bdev_unregister_cb cb_fn,
void *cb_arg); void *cb_arg);
#endif /* SPDK_VBDEV_PASSTHRU_H */ #endif /* SPDK_VBDEV_PASSTHRU_H */

View File

@ -38,38 +38,38 @@
#include "spdk_internal/log.h" #include "spdk_internal/log.h"
/* Structure to hold the parameters for this RPC method. */ /* Structure to hold the parameters for this RPC method. */
struct rpc_construct_passthru { struct rpc_bdev_passthru_create {
char *base_bdev_name; char *base_bdev_name;
char *name; char *name;
}; };
/* Free the allocated memory resource after the RPC handling. */ /* Free the allocated memory resource after the RPC handling. */
static void static void
free_rpc_construct_passthru(struct rpc_construct_passthru *r) free_rpc_bdev_passthru_create(struct rpc_bdev_passthru_create *r)
{ {
free(r->base_bdev_name); free(r->base_bdev_name);
free(r->name); free(r->name);
} }
/* Structure to decode the input parameters for this RPC method. */ /* Structure to decode the input parameters for this RPC method. */
static const struct spdk_json_object_decoder rpc_construct_passthru_decoders[] = { static const struct spdk_json_object_decoder rpc_bdev_passthru_create_decoders[] = {
{"base_bdev_name", offsetof(struct rpc_construct_passthru, base_bdev_name), spdk_json_decode_string}, {"base_bdev_name", offsetof(struct rpc_bdev_passthru_create, base_bdev_name), spdk_json_decode_string},
{"name", offsetof(struct rpc_construct_passthru, name), spdk_json_decode_string}, {"name", offsetof(struct rpc_bdev_passthru_create, name), spdk_json_decode_string},
}; };
/* Decode the parameters for this RPC method and properly construct the passthru /* Decode the parameters for this RPC method and properly construct the passthru
* device. Error status returned in the failed cases. * device. Error status returned in the failed cases.
*/ */
static void static void
spdk_rpc_construct_passthru_bdev(struct spdk_jsonrpc_request *request, spdk_rpc_bdev_passthru_create(struct spdk_jsonrpc_request *request,
const struct spdk_json_val *params) const struct spdk_json_val *params)
{ {
struct rpc_construct_passthru req = {NULL}; struct rpc_bdev_passthru_create req = {NULL};
struct spdk_json_write_ctx *w; struct spdk_json_write_ctx *w;
int rc; int rc;
if (spdk_json_decode_object(params, rpc_construct_passthru_decoders, if (spdk_json_decode_object(params, rpc_bdev_passthru_create_decoders,
SPDK_COUNTOF(rpc_construct_passthru_decoders), SPDK_COUNTOF(rpc_bdev_passthru_create_decoders),
&req)) { &req)) {
SPDK_DEBUGLOG(SPDK_LOG_VBDEV_PASSTHRU, "spdk_json_decode_object failed\n"); SPDK_DEBUGLOG(SPDK_LOG_VBDEV_PASSTHRU, "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,
@ -77,7 +77,7 @@ spdk_rpc_construct_passthru_bdev(struct spdk_jsonrpc_request *request,
goto cleanup; goto cleanup;
} }
rc = create_passthru_disk(req.base_bdev_name, req.name); rc = bdev_passthru_create_disk(req.base_bdev_name, req.name);
if (rc != 0) { if (rc != 0) {
spdk_jsonrpc_send_error_response(request, rc, spdk_strerror(-rc)); spdk_jsonrpc_send_error_response(request, rc, spdk_strerror(-rc));
goto cleanup; goto cleanup;
@ -88,26 +88,27 @@ spdk_rpc_construct_passthru_bdev(struct spdk_jsonrpc_request *request,
spdk_jsonrpc_end_result(request, w); spdk_jsonrpc_end_result(request, w);
cleanup: cleanup:
free_rpc_construct_passthru(&req); free_rpc_bdev_passthru_create(&req);
} }
SPDK_RPC_REGISTER("construct_passthru_bdev", spdk_rpc_construct_passthru_bdev, SPDK_RPC_RUNTIME) SPDK_RPC_REGISTER("bdev_passthru_create", spdk_rpc_bdev_passthru_create, SPDK_RPC_RUNTIME)
SPDK_RPC_REGISTER_ALIAS_DEPRECATED(bdev_passthru_create, construct_passthru_bdev)
struct rpc_delete_passthru { struct rpc_bdev_passthru_delete {
char *name; char *name;
}; };
static void static void
free_rpc_delete_passthru(struct rpc_delete_passthru *req) free_rpc_bdev_passthru_delete(struct rpc_bdev_passthru_delete *req)
{ {
free(req->name); free(req->name);
} }
static const struct spdk_json_object_decoder rpc_delete_passthru_decoders[] = { static const struct spdk_json_object_decoder rpc_bdev_passthru_delete_decoders[] = {
{"name", offsetof(struct rpc_delete_passthru, name), spdk_json_decode_string}, {"name", offsetof(struct rpc_bdev_passthru_delete, name), spdk_json_decode_string},
}; };
static void static void
_spdk_rpc_delete_passthru_bdev_cb(void *cb_arg, int bdeverrno) _spdk_rpc_bdev_passthru_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; struct spdk_json_write_ctx *w;
@ -118,14 +119,14 @@ _spdk_rpc_delete_passthru_bdev_cb(void *cb_arg, int bdeverrno)
} }
static void static void
spdk_rpc_delete_passthru_bdev(struct spdk_jsonrpc_request *request, spdk_rpc_bdev_passthru_delete(struct spdk_jsonrpc_request *request,
const struct spdk_json_val *params) const struct spdk_json_val *params)
{ {
struct rpc_delete_passthru req = {NULL}; struct rpc_bdev_passthru_delete req = {NULL};
struct spdk_bdev *bdev; struct spdk_bdev *bdev;
if (spdk_json_decode_object(params, rpc_delete_passthru_decoders, if (spdk_json_decode_object(params, rpc_bdev_passthru_delete_decoders,
SPDK_COUNTOF(rpc_delete_passthru_decoders), SPDK_COUNTOF(rpc_bdev_passthru_delete_decoders),
&req)) { &req)) {
spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INTERNAL_ERROR, spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INTERNAL_ERROR,
"spdk_json_decode_object failed"); "spdk_json_decode_object failed");
@ -138,9 +139,10 @@ spdk_rpc_delete_passthru_bdev(struct spdk_jsonrpc_request *request,
goto cleanup; goto cleanup;
} }
delete_passthru_disk(bdev, _spdk_rpc_delete_passthru_bdev_cb, request); bdev_passthru_delete_disk(bdev, _spdk_rpc_bdev_passthru_delete_cb, request);
cleanup: cleanup:
free_rpc_delete_passthru(&req); free_rpc_bdev_passthru_delete(&req);
} }
SPDK_RPC_REGISTER("delete_passthru_bdev", spdk_rpc_delete_passthru_bdev, SPDK_RPC_RUNTIME) SPDK_RPC_REGISTER("bdev_passthru_delete", spdk_rpc_bdev_passthru_delete, SPDK_RPC_RUNTIME)
SPDK_RPC_REGISTER_ALIAS_DEPRECATED(bdev_passthru_delete, delete_passthru_bdev)

View File

@ -551,24 +551,25 @@ if __name__ == "__main__":
p.add_argument('name', help='pmem bdev name') p.add_argument('name', help='pmem bdev name')
p.set_defaults(func=bdev_pmem_delete) p.set_defaults(func=bdev_pmem_delete)
def construct_passthru_bdev(args): def bdev_passthru_create(args):
print_json(rpc.bdev.construct_passthru_bdev(args.client, print_json(rpc.bdev.bdev_passthru_create(args.client,
base_bdev_name=args.base_bdev_name, base_bdev_name=args.base_bdev_name,
name=args.name)) name=args.name))
p = subparsers.add_parser('construct_passthru_bdev', p = subparsers.add_parser('bdev_passthru_create', aliases=['construct_passthru_bdev'],
help='Add a pass through bdev on existing bdev') help='Add a pass through bdev on existing bdev')
p.add_argument('-b', '--base-bdev-name', help="Name of the existing bdev", required=True) p.add_argument('-b', '--base-bdev-name', help="Name of the existing bdev", required=True)
p.add_argument('-p', '--name', help="Name of the pass through bdev", required=True) p.add_argument('-p', '--name', help="Name of the pass through bdev", required=True)
p.set_defaults(func=construct_passthru_bdev) p.set_defaults(func=bdev_passthru_create)
def delete_passthru_bdev(args): def bdev_passthru_delete(args):
rpc.bdev.delete_passthru_bdev(args.client, rpc.bdev.bdev_passthru_delete(args.client,
name=args.name) name=args.name)
p = subparsers.add_parser('delete_passthru_bdev', help='Delete a pass through bdev') p = subparsers.add_parser('bdev_passthru_delete', aliases=['delete_passthru_bdev'],
help='Delete a pass through bdev')
p.add_argument('name', help='pass through bdev name') p.add_argument('name', help='pass through bdev name')
p.set_defaults(func=delete_passthru_bdev) p.set_defaults(func=bdev_passthru_delete)
def bdev_get_bdevs(args): def bdev_get_bdevs(args):
print_dict(rpc.bdev.bdev_get_bdevs(args.client, print_dict(rpc.bdev.bdev_get_bdevs(args.client,

View File

@ -611,7 +611,8 @@ def bdev_pmem_delete(client, name):
return client.call('bdev_pmem_delete', params) return client.call('bdev_pmem_delete', params)
def construct_passthru_bdev(client, base_bdev_name, name): @deprecated_alias('construct_passthru_bdev')
def bdev_passthru_create(client, base_bdev_name, name):
"""Construct a pass-through block device. """Construct a pass-through block device.
Args: Args:
@ -625,17 +626,18 @@ def construct_passthru_bdev(client, base_bdev_name, name):
'base_bdev_name': base_bdev_name, 'base_bdev_name': base_bdev_name,
'name': name, 'name': name,
} }
return client.call('construct_passthru_bdev', params) return client.call('bdev_passthru_create', params)
def delete_passthru_bdev(client, name): @deprecated_alias('delete_passthru_bdev')
def bdev_passthru_delete(client, name):
"""Remove pass through bdev from the system. """Remove pass through bdev from the system.
Args: Args:
name: name of pass through bdev to delete name: name of pass through bdev to delete
""" """
params = {'name': name} params = {'name': name}
return client.call('delete_passthru_bdev', params) return client.call('bdev_passthru_delete', params)
def construct_split_vbdev(client, base_bdev, split_count, split_size_mb=None): def construct_split_vbdev(client, base_bdev, split_count, split_size_mb=None):

View File

@ -42,7 +42,7 @@ function nbd_function_test() {
nbd_rpc_start_stop_verify $rpc_server "${bdev_list[*]}" nbd_rpc_start_stop_verify $rpc_server "${bdev_list[*]}"
nbd_rpc_data_verify $rpc_server "${bdev_list[*]}" "${nbd_list[*]}" nbd_rpc_data_verify $rpc_server "${bdev_list[*]}" "${nbd_list[*]}"
$rpc_py -s $rpc_server delete_passthru_bdev TestPT $rpc_py -s $rpc_server bdev_passthru_delete TestPT
killprocess $nbd_pid killprocess $nbd_pid
trap - SIGINT SIGTERM EXIT trap - SIGINT SIGTERM EXIT

View File

@ -41,7 +41,7 @@ def get_bdev_delete_method(bdev):
'construct_virtio_dev': "remove_virtio_bdev", 'construct_virtio_dev': "remove_virtio_bdev",
'bdev_crypto_create': "bdev_crypto_delete", 'bdev_crypto_create': "bdev_crypto_delete",
'bdev_delay_create': "bdev_delay_delete", 'bdev_delay_create': "bdev_delay_delete",
'construct_passthru_bdev': "delete_passthru_bdev", 'bdev_passthru_create': "bdev_passthru_delete",
'bdev_compress_create': 'bdev_compress_delete', 'bdev_compress_create': 'bdev_compress_delete',
} }
destroy_method = None destroy_method = None

View File

@ -169,7 +169,7 @@ function create_bdev_subsystem_config() {
tgt_rpc construct_split_vbdev $lvol_store_base_bdev 2 tgt_rpc construct_split_vbdev $lvol_store_base_bdev 2
tgt_rpc construct_split_vbdev Malloc0 3 tgt_rpc construct_split_vbdev Malloc0 3
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 bdev_passthru_create -b Malloc3 -p PTBdevFromMalloc3
tgt_rpc bdev_null_create Null0 32 512 tgt_rpc bdev_null_create Null0 32 512