Commit 4d112ac2 authored by Seth Howell's avatar Seth Howell Committed by Tomasz Zawadzki
Browse files

lib/vhsot: remove spdk prefix from static functions in vhost_nvme.c.



Signed-off-by: default avatarSeth Howell <seth.howell@intel.com>
Change-Id: If2b818bc90a957f8478c68009175a0436dac4876
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2307


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarDarek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@mellanox.com>
parent ba5c5cc3
Loading
Loading
Loading
Loading
+69 −69
Original line number Diff line number Diff line
@@ -164,7 +164,7 @@ static const struct spdk_vhost_dev_backend spdk_vhost_nvme_device_backend;
#define FW_VERSION SPDK_VERSION_MAJOR_STRING SPDK_VERSION_MINOR_STRING SPDK_VERSION_PATCH_STRING

static int
spdk_nvme_process_sq(struct spdk_vhost_nvme_dev *nvme, struct spdk_vhost_nvme_sq *sq,
nvme_process_sq(struct spdk_vhost_nvme_dev *nvme, struct spdk_vhost_nvme_sq *sq,
		struct spdk_vhost_nvme_task *task);

static struct spdk_vhost_nvme_dev *
@@ -213,7 +213,7 @@ nvme_inc_sq_head(struct spdk_vhost_nvme_sq *sq)
}

static struct spdk_vhost_nvme_sq *
spdk_vhost_nvme_get_sq_from_qid(struct spdk_vhost_nvme_dev *dev, uint16_t qid)
vhost_nvme_get_sq_from_qid(struct spdk_vhost_nvme_dev *dev, uint16_t qid)
{
	if (spdk_unlikely(!qid || qid > MAX_IO_QUEUES)) {
		return NULL;
@@ -223,7 +223,7 @@ spdk_vhost_nvme_get_sq_from_qid(struct spdk_vhost_nvme_dev *dev, uint16_t qid)
}

static struct spdk_vhost_nvme_cq *
spdk_vhost_nvme_get_cq_from_qid(struct spdk_vhost_nvme_dev *dev, uint16_t qid)
vhost_nvme_get_cq_from_qid(struct spdk_vhost_nvme_dev *dev, uint16_t qid)
{
	if (spdk_unlikely(!qid || qid > MAX_IO_QUEUES)) {
		return NULL;
@@ -233,7 +233,7 @@ spdk_vhost_nvme_get_cq_from_qid(struct spdk_vhost_nvme_dev *dev, uint16_t qid)
}

static inline uint32_t
spdk_vhost_nvme_get_queue_head(struct spdk_vhost_nvme_dev *nvme, uint32_t offset)
vhost_nvme_get_queue_head(struct spdk_vhost_nvme_dev *nvme, uint32_t offset)
{
	if (nvme->dataplane_started) {
		return nvme->dbbuf_dbs[offset];
@@ -256,7 +256,7 @@ vhost_nvme_gpa_to_vva(void *priv, uint64_t addr, uint64_t len)
}

static int
spdk_vhost_nvme_map_prps(struct spdk_vhost_nvme_dev *nvme, struct spdk_nvme_cmd *cmd,
vhost_nvme_map_prps(struct spdk_vhost_nvme_dev *nvme, struct spdk_nvme_cmd *cmd,
		    struct spdk_vhost_nvme_task *task, uint32_t len)
{
	int err;
@@ -271,7 +271,7 @@ spdk_vhost_nvme_map_prps(struct spdk_vhost_nvme_dev *nvme, struct spdk_nvme_cmd
}

static void
spdk_nvme_cq_signal_fd(struct spdk_vhost_nvme_dev *nvme)
nvme_cq_signal_fd(struct spdk_vhost_nvme_dev *nvme)
{
	struct spdk_vhost_nvme_cq *cq;
	uint32_t qid, cq_head;
@@ -279,12 +279,12 @@ spdk_nvme_cq_signal_fd(struct spdk_vhost_nvme_dev *nvme)
	assert(nvme != NULL);

	for (qid = 1; qid <= MAX_IO_QUEUES; qid++) {
		cq = spdk_vhost_nvme_get_cq_from_qid(nvme, qid);
		cq = vhost_nvme_get_cq_from_qid(nvme, qid);
		if (!cq || !cq->valid) {
			continue;
		}

		cq_head = spdk_vhost_nvme_get_queue_head(nvme, cq_offset(qid, 1));
		cq_head = vhost_nvme_get_queue_head(nvme, cq_offset(qid, 1));
		if (cq->irq_enabled && cq->need_signaled_cnt && (cq->cq_head != cq_head)) {
			eventfd_write(cq->virq, (eventfd_t)1);
			cq->need_signaled_cnt = 0;
@@ -293,7 +293,7 @@ spdk_nvme_cq_signal_fd(struct spdk_vhost_nvme_dev *nvme)
}

static void
spdk_vhost_nvme_task_complete(struct spdk_vhost_nvme_task *task)
vhost_nvme_task_complete(struct spdk_vhost_nvme_task *task)
{
	struct spdk_vhost_nvme_dev *nvme = task->nvme;
	struct spdk_nvme_cpl cqe = {0};
@@ -303,13 +303,13 @@ spdk_vhost_nvme_task_complete(struct spdk_vhost_nvme_task *task)
	uint16_t cqid = task->cqid;
	uint16_t sqid = task->sqid;

	cq = spdk_vhost_nvme_get_cq_from_qid(nvme, cqid);
	sq = spdk_vhost_nvme_get_sq_from_qid(nvme, sqid);
	cq = vhost_nvme_get_cq_from_qid(nvme, cqid);
	sq = vhost_nvme_get_sq_from_qid(nvme, sqid);
	if (spdk_unlikely(!cq || !sq)) {
		return;
	}

	cq->guest_signaled_cq_head = spdk_vhost_nvme_get_queue_head(nvme, cq_offset(cqid, 1));
	cq->guest_signaled_cq_head = vhost_nvme_get_queue_head(nvme, cq_offset(cqid, 1));
	if (spdk_unlikely(nvme_cq_is_full(cq))) {
		STAILQ_INSERT_TAIL(&cq->cq_full_waited_tasks, task, stailq);
		return;
@@ -358,7 +358,7 @@ blk_request_complete_cb(struct spdk_bdev_io *bdev_io, bool success, void *cb_arg
		SPDK_ERRLOG("I/O error, sector %u\n", cmd->cdw10);
	}

	spdk_vhost_nvme_task_complete(task);
	vhost_nvme_task_complete(task);
}

static void
@@ -383,14 +383,14 @@ blk_unmap_complete_cb(struct spdk_bdev_io *bdev_io, bool success, void *cb_arg)
	spdk_bdev_free_io(bdev_io);

	if (!task->num_children) {
		spdk_vhost_nvme_task_complete(task);
		vhost_nvme_task_complete(task);
	}

	STAILQ_INSERT_TAIL(&nvme->free_tasks, child, stailq);
}

static struct spdk_vhost_nvme_ns *
spdk_vhost_nvme_get_ns_from_nsid(struct spdk_vhost_nvme_dev *dev, uint32_t nsid)
vhost_nvme_get_ns_from_nsid(struct spdk_vhost_nvme_dev *dev, uint32_t nsid)
{
	if (spdk_unlikely(!nsid || nsid > dev->num_ns)) {
		return NULL;
@@ -405,7 +405,7 @@ vhost_nvme_resubmit_task(void *arg)
	struct spdk_vhost_nvme_task *task = (struct spdk_vhost_nvme_task *)arg;
	int rc;

	rc = spdk_nvme_process_sq(task->nvme, task->sq, task);
	rc = nvme_process_sq(task->nvme, task->sq, task);
	if (rc) {
		SPDK_DEBUGLOG(SPDK_LOG_VHOST_NVME, "vhost_nvme: task resubmit failed, rc = %d.\n", rc);
	}
@@ -426,14 +426,14 @@ vhost_nvme_queue_task(struct spdk_vhost_nvme_task *task)
		task->dnr = 1;
		task->sct = SPDK_NVME_SCT_GENERIC;
		task->sc = SPDK_NVME_SC_INTERNAL_DEVICE_ERROR;
		spdk_vhost_nvme_task_complete(task);
		vhost_nvme_task_complete(task);
	}

	return rc;
}

static int
spdk_nvme_process_sq(struct spdk_vhost_nvme_dev *nvme, struct spdk_vhost_nvme_sq *sq,
nvme_process_sq(struct spdk_vhost_nvme_dev *nvme, struct spdk_vhost_nvme_sq *sq,
		struct spdk_vhost_nvme_task *task)
{
	struct spdk_vhost_nvme_task *child;
@@ -450,12 +450,12 @@ spdk_nvme_process_sq(struct spdk_vhost_nvme_dev *nvme, struct spdk_vhost_nvme_sq
	task->sct = 0;
	task->sc = 0;

	ns = spdk_vhost_nvme_get_ns_from_nsid(nvme, cmd->nsid);
	ns = vhost_nvme_get_ns_from_nsid(nvme, cmd->nsid);
	if (spdk_unlikely(!ns)) {
		task->dnr = 1;
		task->sct = SPDK_NVME_SCT_GENERIC;
		task->sc = SPDK_NVME_SC_INVALID_NAMESPACE_OR_FORMAT;
		spdk_vhost_nvme_task_complete(task);
		vhost_nvme_task_complete(task);
		return -1;
	}

@@ -470,7 +470,7 @@ spdk_nvme_process_sq(struct spdk_vhost_nvme_dev *nvme, struct spdk_vhost_nvme_sq
		task->dnr = 1;
		task->sct = SPDK_NVME_SCT_GENERIC;
		task->sc = SPDK_NVME_SC_INVALID_NAMESPACE_OR_FORMAT;
		spdk_vhost_nvme_task_complete(task);
		vhost_nvme_task_complete(task);
		return -1;
	}

@@ -487,7 +487,7 @@ spdk_nvme_process_sq(struct spdk_vhost_nvme_dev *nvme, struct spdk_vhost_nvme_sq
			task->dnr = 1;
			task->sct = SPDK_NVME_SCT_GENERIC;
			task->sc = SPDK_NVME_SC_INVALID_FIELD;
			spdk_vhost_nvme_task_complete(task);
			vhost_nvme_task_complete(task);
			return -1;
		}

@@ -498,13 +498,13 @@ spdk_nvme_process_sq(struct spdk_vhost_nvme_dev *nvme, struct spdk_vhost_nvme_sq
			len = nlba * block_size;
		}

		ret = spdk_vhost_nvme_map_prps(nvme, cmd, task, len);
		ret = vhost_nvme_map_prps(nvme, cmd, task, len);
		if (spdk_unlikely(ret != 0)) {
			SPDK_ERRLOG("nvme command map prps failed\n");
			task->dnr = 1;
			task->sct = SPDK_NVME_SCT_GENERIC;
			task->sc = SPDK_NVME_SC_INVALID_FIELD;
			spdk_vhost_nvme_task_complete(task);
			vhost_nvme_task_complete(task);
			return -1;
		}
	}
@@ -564,7 +564,7 @@ spdk_nvme_process_sq(struct spdk_vhost_nvme_dev *nvme, struct spdk_vhost_nvme_sq
			task->dnr = 1;
			task->sct = SPDK_NVME_SCT_GENERIC;
			task->sc = SPDK_NVME_SC_INTERNAL_DEVICE_ERROR;
			spdk_vhost_nvme_task_complete(task);
			vhost_nvme_task_complete(task);
		}
	}

@@ -592,23 +592,23 @@ nvme_worker(void *arg)

	for (qid = 1; qid <= MAX_IO_QUEUES; qid++) {

		sq = spdk_vhost_nvme_get_sq_from_qid(nvme, qid);
		sq = vhost_nvme_get_sq_from_qid(nvme, qid);
		if (!sq->valid) {
			continue;
		}
		cq = spdk_vhost_nvme_get_cq_from_qid(nvme, sq->cqid);
		cq = vhost_nvme_get_cq_from_qid(nvme, sq->cqid);
		if (spdk_unlikely(!cq)) {
			return -1;
		}
		cq->guest_signaled_cq_head = spdk_vhost_nvme_get_queue_head(nvme, cq_offset(sq->cqid, 1));
		cq->guest_signaled_cq_head = vhost_nvme_get_queue_head(nvme, cq_offset(sq->cqid, 1));
		if (spdk_unlikely(!STAILQ_EMPTY(&cq->cq_full_waited_tasks) &&
				  !nvme_cq_is_full(cq))) {
			task = STAILQ_FIRST(&cq->cq_full_waited_tasks);
			STAILQ_REMOVE_HEAD(&cq->cq_full_waited_tasks, stailq);
			spdk_vhost_nvme_task_complete(task);
			vhost_nvme_task_complete(task);
		}

		dbbuf_sq = spdk_vhost_nvme_get_queue_head(nvme, sq_offset(qid, 1));
		dbbuf_sq = vhost_nvme_get_queue_head(nvme, sq_offset(qid, 1));
		sq->sq_tail = (uint16_t)dbbuf_sq;
		count = 0;

@@ -627,7 +627,7 @@ nvme_worker(void *arg)
			nvme_inc_sq_head(sq);

			/* processing IO */
			ret = spdk_nvme_process_sq(nvme, sq, task);
			ret = nvme_process_sq(nvme, sq, task);
			if (spdk_unlikely(ret)) {
				SPDK_ERRLOG("QID %u CID %u, SQ HEAD %u, DBBUF SQ TAIL %u\n", qid, task->cmd.cid, sq->sq_head,
					    sq->sq_tail);
@@ -646,7 +646,7 @@ nvme_worker(void *arg)
	}

	/* Completion Queue */
	spdk_nvme_cq_signal_fd(nvme);
	nvme_cq_signal_fd(nvme);

	return count;
}
@@ -706,8 +706,8 @@ vhost_nvme_create_io_sq(struct spdk_vhost_nvme_dev *nvme,
		return -1;
	}

	sq = spdk_vhost_nvme_get_sq_from_qid(nvme, qid);
	cq = spdk_vhost_nvme_get_cq_from_qid(nvme, cqid);
	sq = vhost_nvme_get_sq_from_qid(nvme, qid);
	cq = vhost_nvme_get_cq_from_qid(nvme, cqid);
	if (!sq || !cq) {
		SPDK_DEBUGLOG(SPDK_LOG_VHOST_NVME, "User requested invalid QID %u or CQID %u\n",
			      qid, cqid);
@@ -744,7 +744,7 @@ vhost_nvme_delete_io_sq(struct spdk_vhost_nvme_dev *nvme,
	struct spdk_vhost_nvme_sq *sq;

	qid = cmd->cdw10 & 0xffff;
	sq = spdk_vhost_nvme_get_sq_from_qid(nvme, qid);
	sq = vhost_nvme_get_sq_from_qid(nvme, qid);
	if (!sq) {
		return -1;
	}
@@ -787,7 +787,7 @@ vhost_nvme_create_io_cq(struct spdk_vhost_nvme_dev *nvme,
		return -1;
	}

	cq = spdk_vhost_nvme_get_cq_from_qid(nvme, qid);
	cq = vhost_nvme_get_cq_from_qid(nvme, qid);
	if (!cq) {
		SPDK_DEBUGLOG(SPDK_LOG_VHOST_NVME, "User requested invalid QID %u\n", qid);
		cpl->status.sct = SPDK_NVME_SCT_COMMAND_SPECIFIC;
@@ -828,7 +828,7 @@ vhost_nvme_delete_io_cq(struct spdk_vhost_nvme_dev *nvme,
	struct spdk_vhost_nvme_cq *cq;

	qid = cmd->cdw10 & 0xffff;
	cq = spdk_vhost_nvme_get_cq_from_qid(nvme, qid);
	cq = vhost_nvme_get_cq_from_qid(nvme, qid);
	if (!cq) {
		return -1;
	}
@@ -844,7 +844,7 @@ vhost_nvme_delete_io_cq(struct spdk_vhost_nvme_dev *nvme,
}

static struct spdk_vhost_nvme_dev *
spdk_vhost_nvme_get_by_name(int vid)
vhost_nvme_get_by_name(int vid)
{
	struct spdk_vhost_nvme_dev *nvme;
	struct spdk_vhost_dev *vdev;
@@ -867,7 +867,7 @@ vhost_nvme_get_cap(int vid, uint64_t *cap)
{
	struct spdk_vhost_nvme_dev *nvme;

	nvme = spdk_vhost_nvme_get_by_name(vid);
	nvme = vhost_nvme_get_by_name(vid);
	if (!nvme) {
		return -1;
	}
@@ -885,7 +885,7 @@ vhost_nvme_admin_passthrough(int vid, void *cmd, void *cqe, void *buf)
	int ret = 0;
	struct spdk_vhost_nvme_dev *nvme;

	nvme = spdk_vhost_nvme_get_by_name(vid);
	nvme = vhost_nvme_get_by_name(vid);
	if (!nvme) {
		return -1;
	}
@@ -897,7 +897,7 @@ vhost_nvme_admin_passthrough(int vid, void *cmd, void *cqe, void *buf)
			memcpy(buf, &nvme->cdata, sizeof(struct spdk_nvme_ctrlr_data));

		} else if (req->cdw10 == SPDK_NVME_IDENTIFY_NS) {
			ns = spdk_vhost_nvme_get_ns_from_nsid(nvme, req->nsid);
			ns = vhost_nvme_get_ns_from_nsid(nvme, req->nsid);
			if (!ns) {
				cpl->status.sc = SPDK_NVME_SC_NAMESPACE_ID_UNAVAILABLE;
				cpl->status.sct = SPDK_NVME_SCT_COMMAND_SPECIFIC;
@@ -955,7 +955,7 @@ vhost_nvme_set_bar_mr(int vid, void *bar_addr, uint64_t bar_size)
{
	struct spdk_vhost_nvme_dev *nvme;

	nvme = spdk_vhost_nvme_get_by_name(vid);
	nvme = vhost_nvme_get_by_name(vid);
	if (!nvme) {
		return -1;
	}
@@ -974,12 +974,12 @@ vhost_nvme_set_cq_call(int vid, uint16_t qid, int fd)
	struct spdk_vhost_nvme_dev *nvme;
	struct spdk_vhost_nvme_cq *cq;

	nvme = spdk_vhost_nvme_get_by_name(vid);
	nvme = vhost_nvme_get_by_name(vid);
	if (!nvme) {
		return -1;
	}

	cq = spdk_vhost_nvme_get_cq_from_qid(nvme, qid);
	cq = vhost_nvme_get_cq_from_qid(nvme, qid);
	if (!cq) {
		return -1;
	}
@@ -1029,7 +1029,7 @@ alloc_task_pool(struct spdk_vhost_nvme_dev *nvme)
}

static int
spdk_vhost_nvme_start_cb(struct spdk_vhost_dev *vdev,
vhost_nvme_start_cb(struct spdk_vhost_dev *vdev,
		    struct spdk_vhost_session *vsession, void *unused)
{
	struct spdk_vhost_nvme_dev *nvme = to_nvme_dev(vdev);
@@ -1069,7 +1069,7 @@ out:
}

static int
spdk_vhost_nvme_start(struct spdk_vhost_session *vsession)
vhost_nvme_start(struct spdk_vhost_session *vsession)
{
	if (vsession->vdev->active_session_num > 0) {
		/* We're trying to start a second session */
@@ -1077,12 +1077,12 @@ spdk_vhost_nvme_start(struct spdk_vhost_session *vsession)
		return -1;
	}

	return vhost_session_send_event(vsession, spdk_vhost_nvme_start_cb,
	return vhost_session_send_event(vsession, vhost_nvme_start_cb,
					3, "start session");
}

static void
spdk_vhost_nvme_deactive_ns(struct spdk_vhost_nvme_ns *ns)
vhost_nvme_deactive_ns(struct spdk_vhost_nvme_ns *ns)
{
	ns->active_ns = 0;
	spdk_bdev_close(ns->bdev_desc);
@@ -1098,7 +1098,7 @@ bdev_remove_cb(void *remove_ctx)
	SPDK_NOTICELOG("Removing NS %u, Block Device %s\n",
		       ns->nsid, spdk_bdev_get_name(ns->bdev));

	spdk_vhost_nvme_deactive_ns(ns);
	vhost_nvme_deactive_ns(ns);
}

static int
@@ -1141,7 +1141,7 @@ destroy_device_poller_cb(void *arg)
}

static int
spdk_vhost_nvme_stop_cb(struct spdk_vhost_dev *vdev,
vhost_nvme_stop_cb(struct spdk_vhost_dev *vdev,
		   struct spdk_vhost_session *vsession, void *unused)
{
	struct spdk_vhost_nvme_dev *nvme = to_nvme_dev(vdev);
@@ -1161,14 +1161,14 @@ spdk_vhost_nvme_stop_cb(struct spdk_vhost_dev *vdev,
}

static int
spdk_vhost_nvme_stop(struct spdk_vhost_session *vsession)
vhost_nvme_stop(struct spdk_vhost_session *vsession)
{
	return vhost_session_send_event(vsession, spdk_vhost_nvme_stop_cb,
	return vhost_session_send_event(vsession, vhost_nvme_stop_cb,
					3, "start session");
}

static void
spdk_vhost_nvme_dump_info_json(struct spdk_vhost_dev *vdev, struct spdk_json_write_ctx *w)
vhost_nvme_dump_info_json(struct spdk_vhost_dev *vdev, struct spdk_json_write_ctx *w)
{
	struct spdk_vhost_nvme_dev *nvme = to_nvme_dev(vdev);
	struct spdk_vhost_nvme_ns *ns_dev;
@@ -1196,7 +1196,7 @@ spdk_vhost_nvme_dump_info_json(struct spdk_vhost_dev *vdev, struct spdk_json_wri
}

static void
spdk_vhost_nvme_write_config_json(struct spdk_vhost_dev *vdev, struct spdk_json_write_ctx *w)
vhost_nvme_write_config_json(struct spdk_vhost_dev *vdev, struct spdk_json_write_ctx *w)
{
	struct spdk_vhost_nvme_dev *nvme = to_nvme_dev(vdev);
	struct spdk_vhost_nvme_ns *ns_dev;
@@ -1238,15 +1238,15 @@ spdk_vhost_nvme_write_config_json(struct spdk_vhost_dev *vdev, struct spdk_json_

static const struct spdk_vhost_dev_backend spdk_vhost_nvme_device_backend = {
	.session_ctx_size = 0,
	.start_session = spdk_vhost_nvme_start,
	.stop_session = spdk_vhost_nvme_stop,
	.dump_info_json = spdk_vhost_nvme_dump_info_json,
	.write_config_json = spdk_vhost_nvme_write_config_json,
	.start_session = vhost_nvme_start,
	.stop_session = vhost_nvme_stop,
	.dump_info_json = vhost_nvme_dump_info_json,
	.write_config_json = vhost_nvme_write_config_json,
	.remove_device = vhost_nvme_dev_remove,
};

static int
spdk_vhost_nvme_ns_identify_update(struct spdk_vhost_nvme_dev *dev)
vhost_nvme_ns_identify_update(struct spdk_vhost_nvme_dev *dev)
{
	struct spdk_nvme_ctrlr_data *cdata = &dev->cdata;
	struct spdk_nvme_ns_data *nsdata;
@@ -1277,7 +1277,7 @@ spdk_vhost_nvme_ns_identify_update(struct spdk_vhost_nvme_dev *dev)
}

static int
spdk_vhost_nvme_ctrlr_identify_update(struct spdk_vhost_nvme_dev *dev)
vhost_nvme_ctrlr_identify_update(struct spdk_vhost_nvme_dev *dev)
{
	struct spdk_nvme_ctrlr_data *cdata = &dev->cdata;
	char sn[20];
@@ -1320,7 +1320,7 @@ spdk_vhost_nvme_ctrlr_identify_update(struct spdk_vhost_nvme_dev *dev)
	/* Emulated NVMe controller */
	cdata->oacs.doorbell_buffer_config = 1;

	spdk_vhost_nvme_ns_identify_update(dev);
	vhost_nvme_ns_identify_update(dev);

	return 0;
}
@@ -1355,7 +1355,7 @@ vhost_nvme_dev_construct(const char *name, const char *cpumask, uint32_t num_io_
	STAILQ_INIT(&dev->free_tasks);
	TAILQ_INSERT_TAIL(&g_nvme_ctrlrs, dev, tailq);

	spdk_vhost_nvme_ctrlr_identify_update(dev);
	vhost_nvme_ctrlr_identify_update(dev);

	SPDK_NOTICELOG("Controller %s: Constructed\n", name);
	spdk_vhost_unlock();
@@ -1378,7 +1378,7 @@ vhost_nvme_dev_remove(struct spdk_vhost_dev *vdev)
	for (i = 0; i < nvme->num_ns; i++) {
		ns = &nvme->ns[i];
		if (ns->active_ns) {
			spdk_vhost_nvme_deactive_ns(ns);
			vhost_nvme_deactive_ns(ns);
		}
	}

@@ -1427,7 +1427,7 @@ vhost_nvme_dev_add_ns(struct spdk_vhost_dev *vdev, const char *bdev_name)
	nvme->ns[nvme->num_ns].nsid = nvme->num_ns + 1;
	nvme->num_ns++;

	spdk_vhost_nvme_ns_identify_update(nvme);
	vhost_nvme_ns_identify_update(nvme);

	return rc;
}