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

rpc: Rename add_vhost_scsi_lun to vhost_scsi_controller_add_target



Change-Id: I77334712524f454bb1f7270d5684053c7fd2e24c
Signed-off-by: default avatarPawel Kaminski <pawelx.kaminski@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/469759


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 c7e05d83
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -4418,7 +4418,7 @@ Example response:
}
~~~

## add_vhost_scsi_lun {#rpc_add_vhost_scsi_lun}
## vhost_scsi_controller_add_target {#rpc_vhost_scsi_controller_add_target}

In vhost target `ctrlr` create SCSI target with ID `scsi_target_num` and add `bdev_name` as LUN 0.

@@ -4446,7 +4446,7 @@ Example request:
    "ctrlr": "VhostScsi0"
  },
  "jsonrpc": "2.0",
  "method": "add_vhost_scsi_lun",
  "method": "vhost_scsi_controller_add_target",
  "id": 1
}
~~~
+4 −4
Original line number Diff line number Diff line
@@ -143,7 +143,7 @@ target ID 0. SPDK Vhost-SCSI device currently supports only one LUN per SCSI tar
Additional LUNs can be added by specifying a different target ID.

~~~{.sh}
scripts/rpc.py add_vhost_scsi_lun vhost.0 0 Malloc0
scripts/rpc.py vhost_scsi_controller_add_target vhost.0 0 Malloc0
~~~

To remove a bdev from a vhost-scsi controller use the following RPC:
@@ -279,13 +279,13 @@ vhost.c: 596:spdk_vhost_dev_construct: *NOTICE*: Controller vhost.0: new control
~~~

~~~{.sh}
host:~# ./scripts/rpc.py add_vhost_scsi_lun vhost.0 0 Nvme0n1
host:~# ./scripts/rpc.py vhost_scsi_controller_add_target vhost.0 0 Nvme0n1
vhost_scsi.c: 840:spdk_vhost_scsi_dev_add_tgt: *NOTICE*: Controller vhost.0: defined target 'Target 0' using lun 'Nvme0'

~~~

~~~{.sh}
host:~# ./scripts/rpc.py add_vhost_scsi_lun vhost.0 1 Malloc0
host:~# ./scripts/rpc.py vhost_scsi_controller_add_target vhost.0 1 Malloc0
vhost_scsi.c: 840:spdk_vhost_scsi_dev_add_tgt: *NOTICE*: Controller vhost.0: defined target 'Target 1' using lun 'Malloc0'
~~~

@@ -378,7 +378,7 @@ Hot-attach is is done by simply attaching a bdev to a vhost controller with a QE
already started. No other extra action is necessary.

~~~{.sh}
scripts/rpc.py add_vhost_scsi_lun vhost.0 0 Malloc0
scripts/rpc.py vhost_scsi_controller_add_target vhost.0 0 Malloc0
~~~

### Hot-detach
+16 −14
Original line number Diff line number Diff line
@@ -98,36 +98,36 @@ SPDK_RPC_REGISTER("vhost_create_scsi_controller", spdk_rpc_vhost_create_scsi_con
		  SPDK_RPC_RUNTIME)
SPDK_RPC_REGISTER_ALIAS_DEPRECATED(vhost_create_scsi_controller, construct_vhost_scsi_controller)

struct rpc_add_vhost_scsi_ctrlr_lun {
struct rpc_vhost_scsi_ctrlr_add_target {
	char *ctrlr;
	int32_t scsi_target_num;
	char *bdev_name;
};

static void
free_rpc_add_vhost_scsi_ctrlr_lun(struct rpc_add_vhost_scsi_ctrlr_lun *req)
free_rpc_vhost_scsi_ctrlr_add_target(struct rpc_vhost_scsi_ctrlr_add_target *req)
{
	free(req->ctrlr);
	free(req->bdev_name);
}

static const struct spdk_json_object_decoder rpc_vhost_add_lun[] = {
	{"ctrlr", offsetof(struct rpc_add_vhost_scsi_ctrlr_lun, ctrlr), spdk_json_decode_string },
	{"scsi_target_num", offsetof(struct rpc_add_vhost_scsi_ctrlr_lun, scsi_target_num), spdk_json_decode_int32},
	{"bdev_name", offsetof(struct rpc_add_vhost_scsi_ctrlr_lun, bdev_name), spdk_json_decode_string },
static const struct spdk_json_object_decoder rpc_vhost_scsi_ctrlr_add_target[] = {
	{"ctrlr", offsetof(struct rpc_vhost_scsi_ctrlr_add_target, ctrlr), spdk_json_decode_string },
	{"scsi_target_num", offsetof(struct rpc_vhost_scsi_ctrlr_add_target, scsi_target_num), spdk_json_decode_int32},
	{"bdev_name", offsetof(struct rpc_vhost_scsi_ctrlr_add_target, bdev_name), spdk_json_decode_string },
};

static void
spdk_rpc_add_vhost_scsi_lun(struct spdk_jsonrpc_request *request,
spdk_rpc_vhost_scsi_controller_add_target(struct spdk_jsonrpc_request *request,
		const struct spdk_json_val *params)
{
	struct rpc_add_vhost_scsi_ctrlr_lun req = {0};
	struct rpc_vhost_scsi_ctrlr_add_target req = {0};
	struct spdk_json_write_ctx *w;
	struct spdk_vhost_dev *vdev;
	int rc;

	if (spdk_json_decode_object(params, rpc_vhost_add_lun,
				    SPDK_COUNTOF(rpc_vhost_add_lun),
	if (spdk_json_decode_object(params, rpc_vhost_scsi_ctrlr_add_target,
				    SPDK_COUNTOF(rpc_vhost_scsi_ctrlr_add_target),
				    &req)) {
		SPDK_DEBUGLOG(SPDK_LOG_VHOST_RPC, "spdk_json_decode_object failed\n");
		rc = -EINVAL;
@@ -148,7 +148,7 @@ spdk_rpc_add_vhost_scsi_lun(struct spdk_jsonrpc_request *request,
		goto invalid;
	}

	free_rpc_add_vhost_scsi_ctrlr_lun(&req);
	free_rpc_vhost_scsi_ctrlr_add_target(&req);

	w = spdk_jsonrpc_begin_result(request);
	spdk_json_write_int32(w, rc);
@@ -156,11 +156,13 @@ spdk_rpc_add_vhost_scsi_lun(struct spdk_jsonrpc_request *request,
	return;

invalid:
	free_rpc_add_vhost_scsi_ctrlr_lun(&req);
	free_rpc_vhost_scsi_ctrlr_add_target(&req);
	spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INVALID_PARAMS,
					 spdk_strerror(-rc));
}
SPDK_RPC_REGISTER("add_vhost_scsi_lun", spdk_rpc_add_vhost_scsi_lun, SPDK_RPC_RUNTIME)
SPDK_RPC_REGISTER("vhost_scsi_controller_add_target", spdk_rpc_vhost_scsi_controller_add_target,
		  SPDK_RPC_RUNTIME)
SPDK_RPC_REGISTER_ALIAS_DEPRECATED(vhost_scsi_controller_add_target, add_vhost_scsi_lun)

struct rpc_remove_vhost_scsi_ctrlr_target {
	char *ctrlr;
+1 −1
Original line number Diff line number Diff line
@@ -1552,7 +1552,7 @@ vhost_scsi_write_config_json(struct spdk_vhost_dev *vdev, struct spdk_json_write
		lun = spdk_scsi_dev_get_lun(scsi_dev, 0);

		spdk_json_write_object_begin(w);
		spdk_json_write_named_string(w, "method", "add_vhost_scsi_lun");
		spdk_json_write_named_string(w, "method", "vhost_scsi_controller_add_target");

		spdk_json_write_named_object_begin(w, "params");
		spdk_json_write_named_string(w, "ctrlr", vdev->name);
+1 −1
Original line number Diff line number Diff line
@@ -419,7 +419,7 @@ def get_vhost_scsi_json(config, section):
    for target in targets:
        vhost_scsi_json.append({
            "params": target,
            "method": "add_vhost_scsi_lun"
            "method": "vhost_scsi_controller_add_target"
        })

    return vhost_scsi_json
Loading