Commit f08743e9 authored by Jim Harris's avatar Jim Harris Committed by Tomasz Zawadzki
Browse files

ublk: pass ublk pointer to ublk_ctrl_cmd()



We will put this pointer into the sqe.  It will
be useful when we start doing async completions
on the ctrl ring.

Signed-off-by: default avatarJim Harris <james.r.harris@intel.com>
Change-Id: I3bdb728eb1d3ed66a8ecd05df208e4f36e3fbe0b
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16401


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarXiaodong Liu <xiaodong.liu@intel.com>
Reviewed-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: default avatarPaul Luse <paul.e.luse@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
parent c62637c9
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -186,8 +186,9 @@ spdk_ublk_init(void)
}

static int
ublk_ctrl_cmd(uint32_t dev_id, uint32_t cmd_op, void *args)
ublk_ctrl_cmd(struct spdk_ublk_dev *ublk, uint32_t cmd_op, void *args)
{
	uint32_t dev_id = ublk->ublk_id;
	int rc = -EINVAL;
	struct io_uring_sqe *sqe;
	struct io_uring_cqe *cqe;
@@ -409,7 +410,7 @@ _ublk_start_kernel(void *arg)

	SPDK_DEBUGLOG(ublk, "Enter start pthread for ublk %d\n", ublk->ublk_id);
	assert(ublk->dev_info.ublksrv_pid == getpid());
	rc = ublk_ctrl_cmd(ublk->ublk_id, UBLK_CMD_START_DEV, &ublk->dev_info.ublksrv_pid);
	rc = ublk_ctrl_cmd(ublk, UBLK_CMD_START_DEV, &ublk->dev_info.ublksrv_pid);
	if (rc < 0) {
		SPDK_ERRLOG("start dev %d failed, rc %s\n", ublk->ublk_id,
			    spdk_strerror(-rc));
@@ -452,7 +453,7 @@ _ublk_stop_kernel(void *arg)

	SPDK_DEBUGLOG(ublk, "Enter stop pthread for ublk %d\n", ublk->ublk_id);

	rc = ublk_ctrl_cmd(ublk->ublk_id, UBLK_CMD_STOP_DEV, NULL);
	rc = ublk_ctrl_cmd(ublk, UBLK_CMD_STOP_DEV, NULL);
	if (rc < 0) {
		SPDK_ERRLOG("stop dev %d failed\n", ublk->ublk_id);
	}
@@ -695,7 +696,7 @@ ublk_close_dev_done(void *arg)
		close(ublk->cdev_fd);
	}

	rc = ublk_ctrl_cmd(ublk->ublk_id, UBLK_CMD_DEL_DEV, NULL);
	rc = ublk_ctrl_cmd(ublk, UBLK_CMD_DEL_DEV, NULL);
	if (rc < 0) {
		SPDK_ERRLOG("delete dev %d failed\n", ublk->ublk_id);
	}
@@ -1180,14 +1181,14 @@ _ublk_start_disk(struct spdk_ublk_dev *ublk)
	int rc;
	char buf[64];

	rc = ublk_ctrl_cmd(ublk->ublk_id, UBLK_CMD_ADD_DEV, &ublk->dev_info);
	rc = ublk_ctrl_cmd(ublk, UBLK_CMD_ADD_DEV, &ublk->dev_info);
	if (rc < 0) {
		SPDK_ERRLOG("UBLK can't add dev %d, rc %s\n", ublk->ublk_id, spdk_strerror(-rc));
		goto err;
	}

	ublk->dev_params.len = sizeof(struct ublk_params);
	rc = ublk_ctrl_cmd(ublk->ublk_id, UBLK_CMD_SET_PARAMS, &ublk->dev_params);
	rc = ublk_ctrl_cmd(ublk, UBLK_CMD_SET_PARAMS, &ublk->dev_params);
	if (rc < 0) {
		SPDK_ERRLOG("UBLK can't set params for dev %d, rc %s\n", ublk->ublk_id, spdk_strerror(-rc));
		goto err;