Commit 7e875f37 authored by Pawel Kaminski's avatar Pawel Kaminski Committed by Jim Harris
Browse files

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: default avatarPawel Kaminski <pawelx.kaminski@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/466520


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarPaul Luse <paul.e.luse@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent 29a9a308
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -497,9 +497,9 @@ and demonstrates some other basic features such as the use of per I/O context.

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}

+6 −5
Original line number Diff line number Diff line
@@ -290,7 +290,8 @@ Example response:
    "bdev_error_inject_error",
    "bdev_error_delete",
    "bdev_error_create",
    "construct_passthru_bdev",
    "bdev_passthru_create",
    "bdev_passthru_delete"
    "bdev_nvme_apply_firmware",
    "delete_nvme_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
and a starting point in development of new bdev type.
@@ -2342,7 +2343,7 @@ Example request:
    "name": "Passsthru0"
  },
  "jsonrpc": "2.0",
  "method": "construct_passthru_bdev",
  "method": "bdev_passthru_create",
  "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.

@@ -2377,7 +2378,7 @@ Example request:
    "name": "Passsthru0"
  },
  "jsonrpc": "2.0",
  "method": "delete_passthru_bdev",
  "method": "bdev_passthru_delete",
  "id": 1
}

+3 −3
Original line number Diff line number Diff line
@@ -385,7 +385,7 @@ vbdev_passthru_config_json(struct spdk_json_write_ctx *w)

	TAILQ_FOREACH(pt_node, &g_pt_nodes, link) {
		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_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));
@@ -687,7 +687,7 @@ vbdev_passthru_register(struct spdk_bdev *bdev)

/* Create the passthru disk from the given bdev and vbdev name. */
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;
	int rc = 0;
@@ -713,7 +713,7 @@ create_passthru_disk(const char *bdev_name, const char *vbdev_name)
}

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;

+3 −3
Original line number Diff line number Diff line
@@ -46,7 +46,7 @@
 * \param vbdev_name Name of the pass through bdev.
 * \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.
@@ -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_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);

#endif /* SPDK_VBDEV_PASSTHRU_H */
+27 −25
Original line number Diff line number Diff line
@@ -38,38 +38,38 @@
#include "spdk_internal/log.h"

/* Structure to hold the parameters for this RPC method. */
struct rpc_construct_passthru {
struct rpc_bdev_passthru_create {
	char *base_bdev_name;
	char *name;
};

/* Free the allocated memory resource after the RPC handling. */
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->name);
}

/* Structure to decode the input parameters for this RPC method. */
static const struct spdk_json_object_decoder rpc_construct_passthru_decoders[] = {
	{"base_bdev_name", offsetof(struct rpc_construct_passthru, base_bdev_name), spdk_json_decode_string},
	{"name", offsetof(struct rpc_construct_passthru, name), spdk_json_decode_string},
static const struct spdk_json_object_decoder rpc_bdev_passthru_create_decoders[] = {
	{"base_bdev_name", offsetof(struct rpc_bdev_passthru_create, base_bdev_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
 * device. Error status returned in the failed cases.
 */
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)
{
	struct rpc_construct_passthru req = {NULL};
	struct rpc_bdev_passthru_create req = {NULL};
	struct spdk_json_write_ctx *w;
	int rc;

	if (spdk_json_decode_object(params, rpc_construct_passthru_decoders,
				    SPDK_COUNTOF(rpc_construct_passthru_decoders),
	if (spdk_json_decode_object(params, rpc_bdev_passthru_create_decoders,
				    SPDK_COUNTOF(rpc_bdev_passthru_create_decoders),
				    &req)) {
		SPDK_DEBUGLOG(SPDK_LOG_VBDEV_PASSTHRU, "spdk_json_decode_object failed\n");
		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;
	}

	rc = create_passthru_disk(req.base_bdev_name, req.name);
	rc = bdev_passthru_create_disk(req.base_bdev_name, req.name);
	if (rc != 0) {
		spdk_jsonrpc_send_error_response(request, rc, spdk_strerror(-rc));
		goto cleanup;
@@ -88,26 +88,27 @@ spdk_rpc_construct_passthru_bdev(struct spdk_jsonrpc_request *request,
	spdk_jsonrpc_end_result(request, w);

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;
};

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);
}

static const struct spdk_json_object_decoder rpc_delete_passthru_decoders[] = {
	{"name", offsetof(struct rpc_delete_passthru, name), spdk_json_decode_string},
static const struct spdk_json_object_decoder rpc_bdev_passthru_delete_decoders[] = {
	{"name", offsetof(struct rpc_bdev_passthru_delete, name), spdk_json_decode_string},
};

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_json_write_ctx *w;
@@ -118,14 +119,14 @@ _spdk_rpc_delete_passthru_bdev_cb(void *cb_arg, int bdeverrno)
}

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)
{
	struct rpc_delete_passthru req = {NULL};
	struct rpc_bdev_passthru_delete req = {NULL};
	struct spdk_bdev *bdev;

	if (spdk_json_decode_object(params, rpc_delete_passthru_decoders,
				    SPDK_COUNTOF(rpc_delete_passthru_decoders),
	if (spdk_json_decode_object(params, rpc_bdev_passthru_delete_decoders,
				    SPDK_COUNTOF(rpc_bdev_passthru_delete_decoders),
				    &req)) {
		spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INTERNAL_ERROR,
						 "spdk_json_decode_object failed");
@@ -138,9 +139,10 @@ spdk_rpc_delete_passthru_bdev(struct spdk_jsonrpc_request *request,
		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:
	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)
Loading