Commit cabb6a7d authored by Maciej Wawryk's avatar Maciej Wawryk Committed by Jim Harris
Browse files

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: default avatarMaciej Wawryk <maciejx.wawryk@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465397


Reviewed-by: default avatarPawel Kaminski <pawelx.kaminski@intel.com>
Reviewed-by: default avatarBroadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
parent 75da6acb
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -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
}
~~~
+2 −2
Original line number Diff line number Diff line
@@ -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);
+2 −2
Original line number Diff line number Diff line
@@ -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,
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 */
+22 −19
Original line number Diff line number Diff line
@@ -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,
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,7 +196,7 @@ free_rpc_error_information(struct rpc_error_information *p)
}

static void
spdk_rpc_bdev_inject_error(struct spdk_jsonrpc_request *request,
spdk_rpc_bdev_error_inject_error(struct spdk_jsonrpc_request *request,
				 const struct spdk_json_val *params)
{
	struct rpc_error_information req = {};
@@ -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)
+19 −17
Original line number Diff line number Diff line
@@ -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,
    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,
    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,
Loading