RPC: rename RPC bdev_error series
Rename: construct_error_bdev to bdev_error_create, delete_error_bdev to bdev_error_delete, and bdev_inject_error to bdev_error_inject_error Change-Id: I8a585a722b8441974d7c2d4e8ef7170b8d977c71 Signed-off-by: Maciej Wawryk <maciejx.wawryk@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465397 Reviewed-by: Pawel Kaminski <pawelx.kaminski@intel.com> Reviewed-by: Broadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
parent
75da6acb1a
commit
cabb6a7d2f
@ -287,9 +287,9 @@ Example response:
|
||||
"bdev_aio_create",
|
||||
"destruct_split_vbdev",
|
||||
"construct_split_vbdev",
|
||||
"bdev_inject_error",
|
||||
"delete_error_bdev",
|
||||
"construct_error_bdev",
|
||||
"bdev_error_inject_error",
|
||||
"bdev_error_delete",
|
||||
"bdev_error_create",
|
||||
"construct_passthru_bdev",
|
||||
"apply_nvme_firmware",
|
||||
"delete_nvme_controller",
|
||||
@ -1845,7 +1845,7 @@ Example response:
|
||||
}
|
||||
~~~
|
||||
|
||||
## construct_error_bdev {#rpc_construct_error_bdev}
|
||||
## bdev_error_create {#rpc_bdev_error_create}
|
||||
|
||||
Construct error bdev.
|
||||
|
||||
@ -1865,7 +1865,7 @@ Example request:
|
||||
"base_name": "Malloc0"
|
||||
},
|
||||
"jsonrpc": "2.0",
|
||||
"method": "construct_error_bdev",
|
||||
"method": "bdev_error_create",
|
||||
"id": 1
|
||||
}
|
||||
~~~
|
||||
@ -1880,7 +1880,7 @@ Example response:
|
||||
}
|
||||
~~~
|
||||
|
||||
## delete_error_bdev {#rpc_delete_error_bdev}
|
||||
## bdev_error_delete {#rpc_bdev_error_delete}
|
||||
|
||||
Delete error bdev
|
||||
|
||||
@ -1904,7 +1904,7 @@ Example request:
|
||||
"name": "EE_Malloc0"
|
||||
},
|
||||
"jsonrpc": "2.0",
|
||||
"method": "delete_error_bdev",
|
||||
"method": "bdev_error_delete",
|
||||
"id": 1
|
||||
}
|
||||
~~~
|
||||
|
@ -96,7 +96,7 @@ static struct spdk_bdev_module error_if = {
|
||||
SPDK_BDEV_MODULE_REGISTER(error, &error_if)
|
||||
|
||||
int
|
||||
spdk_vbdev_inject_error(char *name, uint32_t io_type, uint32_t error_type, uint32_t error_num)
|
||||
spdk_vbdev_error_inject_error(char *name, uint32_t io_type, uint32_t error_type, uint32_t error_num)
|
||||
{
|
||||
struct spdk_bdev *bdev;
|
||||
struct spdk_bdev_part *part;
|
||||
@ -496,7 +496,7 @@ vbdev_error_config_json(struct spdk_json_write_ctx *w)
|
||||
TAILQ_FOREACH(cfg, &g_error_config, tailq) {
|
||||
spdk_json_write_object_begin(w);
|
||||
|
||||
spdk_json_write_named_string(w, "method", "construct_error_bdev");
|
||||
spdk_json_write_named_string(w, "method", "bdev_error_create");
|
||||
spdk_json_write_named_object_begin(w, "params");
|
||||
spdk_json_write_named_string(w, "base_name", cfg->base_bdev);
|
||||
spdk_json_write_object_end(w);
|
||||
|
@ -70,7 +70,7 @@ void spdk_vbdev_error_delete(struct spdk_bdev *vbdev, spdk_delete_error_complete
|
||||
* \param io_type IO type into which error is injected.
|
||||
* \param error_num Count of injected errors
|
||||
*/
|
||||
int spdk_vbdev_inject_error(char *name, uint32_t io_type, uint32_t error_type,
|
||||
uint32_t error_num);
|
||||
int spdk_vbdev_error_inject_error(char *name, uint32_t io_type, uint32_t error_type,
|
||||
uint32_t error_num);
|
||||
|
||||
#endif /* SPDK_VBDEV_ERROR_H */
|
||||
|
@ -72,30 +72,30 @@ spdk_rpc_error_bdev_error_type_parse(char *name)
|
||||
return ERROR_BDEV_ERROR_TYPE_INVALID;
|
||||
}
|
||||
|
||||
struct rpc_construct_error_bdev {
|
||||
struct rpc_bdev_error_create {
|
||||
char *base_name;
|
||||
};
|
||||
|
||||
static void
|
||||
free_rpc_construct_error_bdev(struct rpc_construct_error_bdev *req)
|
||||
free_rpc_bdev_error_create(struct rpc_bdev_error_create *req)
|
||||
{
|
||||
free(req->base_name);
|
||||
}
|
||||
|
||||
static const struct spdk_json_object_decoder rpc_construct_error_bdev_decoders[] = {
|
||||
{"base_name", offsetof(struct rpc_construct_error_bdev, base_name), spdk_json_decode_string},
|
||||
static const struct spdk_json_object_decoder rpc_bdev_error_create_decoders[] = {
|
||||
{"base_name", offsetof(struct rpc_bdev_error_create, base_name), spdk_json_decode_string},
|
||||
};
|
||||
|
||||
static void
|
||||
spdk_rpc_construct_error_bdev(struct spdk_jsonrpc_request *request,
|
||||
const struct spdk_json_val *params)
|
||||
spdk_rpc_bdev_error_create(struct spdk_jsonrpc_request *request,
|
||||
const struct spdk_json_val *params)
|
||||
{
|
||||
struct rpc_construct_error_bdev req = {};
|
||||
struct rpc_bdev_error_create req = {};
|
||||
struct spdk_json_write_ctx *w;
|
||||
int rc = 0;
|
||||
|
||||
if (spdk_json_decode_object(params, rpc_construct_error_bdev_decoders,
|
||||
SPDK_COUNTOF(rpc_construct_error_bdev_decoders),
|
||||
if (spdk_json_decode_object(params, rpc_bdev_error_create_decoders,
|
||||
SPDK_COUNTOF(rpc_bdev_error_create_decoders),
|
||||
&req)) {
|
||||
SPDK_ERRLOG("spdk_json_decode_object failed\n");
|
||||
spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INTERNAL_ERROR,
|
||||
@ -114,9 +114,10 @@ spdk_rpc_construct_error_bdev(struct spdk_jsonrpc_request *request,
|
||||
spdk_jsonrpc_end_result(request, w);
|
||||
|
||||
cleanup:
|
||||
free_rpc_construct_error_bdev(&req);
|
||||
free_rpc_bdev_error_create(&req);
|
||||
}
|
||||
SPDK_RPC_REGISTER("construct_error_bdev", spdk_rpc_construct_error_bdev, SPDK_RPC_RUNTIME)
|
||||
SPDK_RPC_REGISTER("bdev_error_create", spdk_rpc_bdev_error_create, SPDK_RPC_RUNTIME)
|
||||
SPDK_RPC_REGISTER_ALIAS_DEPRECATED(bdev_error_create, construct_error_bdev)
|
||||
|
||||
struct rpc_delete_error {
|
||||
char *name;
|
||||
@ -133,7 +134,7 @@ static const struct spdk_json_object_decoder rpc_delete_error_decoders[] = {
|
||||
};
|
||||
|
||||
static void
|
||||
_spdk_rpc_delete_error_bdev_cb(void *cb_arg, int bdeverrno)
|
||||
_spdk_rpc_bdev_error_delete_cb(void *cb_arg, int bdeverrno)
|
||||
{
|
||||
struct spdk_jsonrpc_request *request = cb_arg;
|
||||
struct spdk_json_write_ctx *w;
|
||||
@ -144,7 +145,7 @@ _spdk_rpc_delete_error_bdev_cb(void *cb_arg, int bdeverrno)
|
||||
}
|
||||
|
||||
static void
|
||||
spdk_rpc_delete_error_bdev(struct spdk_jsonrpc_request *request,
|
||||
spdk_rpc_bdev_error_delete(struct spdk_jsonrpc_request *request,
|
||||
const struct spdk_json_val *params)
|
||||
{
|
||||
struct rpc_delete_error req = {NULL};
|
||||
@ -164,12 +165,13 @@ spdk_rpc_delete_error_bdev(struct spdk_jsonrpc_request *request,
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
spdk_vbdev_error_delete(vbdev, _spdk_rpc_delete_error_bdev_cb, request);
|
||||
spdk_vbdev_error_delete(vbdev, _spdk_rpc_bdev_error_delete_cb, request);
|
||||
|
||||
cleanup:
|
||||
free_rpc_delete_error(&req);
|
||||
}
|
||||
SPDK_RPC_REGISTER("delete_error_bdev", spdk_rpc_delete_error_bdev, SPDK_RPC_RUNTIME)
|
||||
SPDK_RPC_REGISTER("bdev_error_delete", spdk_rpc_bdev_error_delete, SPDK_RPC_RUNTIME)
|
||||
SPDK_RPC_REGISTER_ALIAS_DEPRECATED(bdev_error_delete, delete_error_bdev)
|
||||
|
||||
struct rpc_error_information {
|
||||
char *name;
|
||||
@ -194,8 +196,8 @@ free_rpc_error_information(struct rpc_error_information *p)
|
||||
}
|
||||
|
||||
static void
|
||||
spdk_rpc_bdev_inject_error(struct spdk_jsonrpc_request *request,
|
||||
const struct spdk_json_val *params)
|
||||
spdk_rpc_bdev_error_inject_error(struct spdk_jsonrpc_request *request,
|
||||
const struct spdk_json_val *params)
|
||||
{
|
||||
struct rpc_error_information req = {};
|
||||
struct spdk_json_write_ctx *w;
|
||||
@ -226,7 +228,7 @@ spdk_rpc_bdev_inject_error(struct spdk_jsonrpc_request *request,
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
rc = spdk_vbdev_inject_error(req.name, io_type, error_type, req.num);
|
||||
rc = spdk_vbdev_error_inject_error(req.name, io_type, error_type, req.num);
|
||||
if (rc) {
|
||||
spdk_jsonrpc_send_error_response(request, rc, spdk_strerror(-rc));
|
||||
goto cleanup;
|
||||
@ -239,4 +241,5 @@ spdk_rpc_bdev_inject_error(struct spdk_jsonrpc_request *request,
|
||||
cleanup:
|
||||
free_rpc_error_information(&req);
|
||||
}
|
||||
SPDK_RPC_REGISTER("bdev_inject_error", spdk_rpc_bdev_inject_error, SPDK_RPC_RUNTIME)
|
||||
SPDK_RPC_REGISTER("bdev_error_inject_error", spdk_rpc_bdev_error_inject_error, SPDK_RPC_RUNTIME)
|
||||
SPDK_RPC_REGISTER_ALIAS_DEPRECATED(bdev_error_inject_error, bdev_inject_error)
|
||||
|
@ -473,22 +473,23 @@ if __name__ == "__main__":
|
||||
p.add_argument('latency_us', help='new latency value in microseconds.', type=int)
|
||||
p.set_defaults(func=bdev_delay_update_latency)
|
||||
|
||||
def construct_error_bdev(args):
|
||||
print_json(rpc.bdev.construct_error_bdev(args.client,
|
||||
base_name=args.base_name))
|
||||
def bdev_error_create(args):
|
||||
print_json(rpc.bdev.bdev_error_create(args.client,
|
||||
base_name=args.base_name))
|
||||
|
||||
p = subparsers.add_parser('construct_error_bdev',
|
||||
p = subparsers.add_parser('bdev_error_create', aliases=['construct_error_bdev'],
|
||||
help='Add bdev with error injection backend')
|
||||
p.add_argument('base_name', help='base bdev name')
|
||||
p.set_defaults(func=construct_error_bdev)
|
||||
p.set_defaults(func=bdev_error_create)
|
||||
|
||||
def delete_error_bdev(args):
|
||||
rpc.bdev.delete_error_bdev(args.client,
|
||||
def bdev_error_delete(args):
|
||||
rpc.bdev.bdev_error_delete(args.client,
|
||||
name=args.name)
|
||||
|
||||
p = subparsers.add_parser('delete_error_bdev', help='Delete an error bdev')
|
||||
p = subparsers.add_parser('bdev_error_delete', aliases=['delete_error_bdev'],
|
||||
help='Delete an error bdev')
|
||||
p.add_argument('name', help='error bdev name')
|
||||
p.set_defaults(func=delete_error_bdev)
|
||||
p.set_defaults(func=bdev_error_delete)
|
||||
|
||||
def construct_iscsi_bdev(args):
|
||||
print_json(rpc.bdev.construct_iscsi_bdev(args.client,
|
||||
@ -618,20 +619,21 @@ if __name__ == "__main__":
|
||||
type=int, required=False)
|
||||
p.set_defaults(func=set_bdev_qos_limit)
|
||||
|
||||
def bdev_inject_error(args):
|
||||
rpc.bdev.bdev_inject_error(args.client,
|
||||
name=args.name,
|
||||
io_type=args.io_type,
|
||||
error_type=args.error_type,
|
||||
num=args.num)
|
||||
def bdev_error_inject_error(args):
|
||||
rpc.bdev.bdev_error_inject_error(args.client,
|
||||
name=args.name,
|
||||
io_type=args.io_type,
|
||||
error_type=args.error_type,
|
||||
num=args.num)
|
||||
|
||||
p = subparsers.add_parser('bdev_inject_error', help='bdev inject error')
|
||||
p = subparsers.add_parser('bdev_error_inject_error', aliases=['bdev_inject_error'],
|
||||
help='bdev inject error')
|
||||
p.add_argument('name', help="""the name of the error injection bdev""")
|
||||
p.add_argument('io_type', help="""io_type: 'clear' 'read' 'write' 'unmap' 'flush' 'all'""")
|
||||
p.add_argument('error_type', help="""error_type: 'failure' 'pending'""")
|
||||
p.add_argument(
|
||||
'-n', '--num', help='the number of commands you want to fail', type=int, default=1)
|
||||
p.set_defaults(func=bdev_inject_error)
|
||||
p.set_defaults(func=bdev_error_inject_error)
|
||||
|
||||
def apply_firmware(args):
|
||||
print_dict(rpc.bdev.apply_firmware(args.client,
|
||||
|
@ -456,14 +456,15 @@ def delete_rbd_bdev(client, name):
|
||||
return client.call('delete_rbd_bdev', params)
|
||||
|
||||
|
||||
def construct_error_bdev(client, base_name):
|
||||
@deprecated_alias('construct_error_bdev')
|
||||
def bdev_error_create(client, base_name):
|
||||
"""Construct an error injection block device.
|
||||
|
||||
Args:
|
||||
base_name: base bdev name
|
||||
"""
|
||||
params = {'base_name': base_name}
|
||||
return client.call('construct_error_bdev', params)
|
||||
return client.call('bdev_error_create', params)
|
||||
|
||||
|
||||
def bdev_delay_create(client, base_bdev_name, name, avg_read_latency, p99_read_latency, avg_write_latency, p99_write_latency):
|
||||
@ -520,14 +521,15 @@ def bdev_delay_update_latency(client, delay_bdev_name, latency_type, latency_us)
|
||||
return client.call('bdev_delay_update_latency', params)
|
||||
|
||||
|
||||
def delete_error_bdev(client, name):
|
||||
@deprecated_alias('delete_error_bdev')
|
||||
def bdev_error_delete(client, name):
|
||||
"""Remove error bdev from the system.
|
||||
|
||||
Args:
|
||||
bdev_name: name of error bdev to delete
|
||||
"""
|
||||
params = {'name': name}
|
||||
return client.call('delete_error_bdev', params)
|
||||
return client.call('bdev_error_delete', params)
|
||||
|
||||
|
||||
def construct_iscsi_bdev(client, name, url, initiator_iqn):
|
||||
@ -729,7 +731,8 @@ def get_bdev_histogram(client, name):
|
||||
return client.call('get_bdev_histogram', params)
|
||||
|
||||
|
||||
def bdev_inject_error(client, name, io_type, error_type, num=1):
|
||||
@deprecated_alias('bdev_inject_error')
|
||||
def bdev_error_inject_error(client, name, io_type, error_type, num=1):
|
||||
"""Inject an error via an error bdev.
|
||||
|
||||
Args:
|
||||
@ -745,7 +748,7 @@ def bdev_inject_error(client, name, io_type, error_type, num=1):
|
||||
'num': num,
|
||||
}
|
||||
|
||||
return client.call('bdev_inject_error', params)
|
||||
return client.call('bdev_error_inject_error', params)
|
||||
|
||||
|
||||
def set_bdev_qd_sampling_period(client, name, period):
|
||||
|
@ -361,7 +361,7 @@ class UIErrorBdev(UIBdev):
|
||||
UIBdev.__init__(self, "error", parent)
|
||||
|
||||
def delete(self, name):
|
||||
self.get_root().delete_error_bdev(name=name)
|
||||
self.get_root().bdev_error_delete(name=name)
|
||||
|
||||
def ui_command_create(self, base_name):
|
||||
"""
|
||||
|
@ -182,11 +182,11 @@ class UIRoot(UINode):
|
||||
|
||||
@verbose
|
||||
def create_error_bdev(self, **kwargs):
|
||||
response = rpc.bdev.construct_error_bdev(self.client, **kwargs)
|
||||
response = rpc.bdev.bdev_error_create(self.client, **kwargs)
|
||||
|
||||
@verbose
|
||||
def delete_error_bdev(self, **kwargs):
|
||||
rpc.bdev.delete_error_bdev(self.client, **kwargs)
|
||||
def bdev_error_delete(self, **kwargs):
|
||||
rpc.bdev.bdev_error_delete(self.client, **kwargs)
|
||||
|
||||
@verbose
|
||||
@is_method_available
|
||||
|
@ -33,7 +33,7 @@ timing_exit start_iscsi_tgt
|
||||
|
||||
$rpc_py add_portal_group $PORTAL_TAG $TARGET_IP:$ISCSI_PORT
|
||||
$rpc_py add_initiator_group $INITIATOR_TAG $INITIATOR_NAME $NETMASK
|
||||
$rpc_py construct_error_bdev 'Malloc0'
|
||||
$rpc_py bdev_error_create 'Malloc0'
|
||||
# "1:2" ==> map PortalGroup1 to InitiatorGroup2
|
||||
# "64" ==> iSCSI queue depth 64
|
||||
# "-d" ==> disable CHAP authentication
|
||||
@ -48,7 +48,7 @@ trap 'for new_dir in $(dir -d /mnt/*dir); do umount $new_dir; rm -rf $new_dir; d
|
||||
iscsicleanup; killprocess $pid; iscsitestfini $1 $2; exit 1' SIGINT SIGTERM EXIT
|
||||
|
||||
echo "Test error injection"
|
||||
$rpc_py bdev_inject_error EE_Malloc0 'all' 'failure' -n 1000
|
||||
$rpc_py bdev_error_inject_error EE_Malloc0 'all' 'failure' -n 1000
|
||||
|
||||
dev=$(iscsiadm -m session -P 3 | grep "Attached scsi disk" | awk '{print $4}')
|
||||
|
||||
@ -66,7 +66,7 @@ fi
|
||||
set -e
|
||||
|
||||
iscsicleanup
|
||||
$rpc_py bdev_inject_error EE_Malloc0 'clear' 'failure'
|
||||
$rpc_py bdev_error_inject_error EE_Malloc0 'clear' 'failure'
|
||||
$rpc_py delete_target_node $node_base:Target0
|
||||
echo "Error injection test done"
|
||||
|
||||
@ -124,7 +124,7 @@ trap - SIGINT SIGTERM EXIT
|
||||
|
||||
iscsicleanup
|
||||
$rpc_py destruct_split_vbdev Nvme0n1
|
||||
$rpc_py delete_error_bdev EE_Malloc0
|
||||
$rpc_py bdev_error_delete EE_Malloc0
|
||||
|
||||
if [ -z "$NO_NVME" ]; then
|
||||
$rpc_py delete_nvme_controller Nvme0
|
||||
|
@ -25,7 +25,7 @@ def get_bdev_name(bdev):
|
||||
bdev_name = bdev['params']['base_name']
|
||||
elif 'base_bdev' in bdev['params']:
|
||||
bdev_name = bdev['params']['base_bdev']
|
||||
if 'method' in bdev and bdev['method'] == 'construct_error_bdev':
|
||||
if 'method' in bdev and bdev['method'] == 'bdev_error_create':
|
||||
bdev_name = "EE_%s" % bdev_name
|
||||
return bdev_name
|
||||
|
||||
@ -36,7 +36,7 @@ def get_bdev_destroy_method(bdev):
|
||||
'construct_rbd_bdev': "delete_rbd_bdev",
|
||||
'construct_pmem_bdev': "delete_pmem_bdev",
|
||||
'bdev_aio_create': "bdev_aio_delete",
|
||||
'construct_error_bdev': "delete_error_bdev",
|
||||
'bdev_error_create': "bdev_error_delete",
|
||||
'construct_split_vbdev': "destruct_split_vbdev",
|
||||
'construct_virtio_dev': "remove_virtio_bdev",
|
||||
'bdev_crypto_create': "bdev_crypto_delete",
|
||||
|
Loading…
x
Reference in New Issue
Block a user