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

Signed-off-by: Seth Howell <seth.howell@intel.com>
Change-Id: If2b818bc90a957f8478c68009175a0436dac4876
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2307
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
This commit is contained in:
Seth Howell 2020-05-09 18:19:26 -07:00 committed by Tomasz Zawadzki
parent ba5c5cc344
commit 4d112ac217

View File

@ -164,8 +164,8 @@ 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,
struct spdk_vhost_nvme_task *task);
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 *
to_nvme_dev(struct spdk_vhost_dev *vdev)
@ -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,8 +256,8 @@ 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,
struct spdk_vhost_nvme_task *task, uint32_t len)
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,15 +426,15 @@ 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,
struct spdk_vhost_nvme_task *task)
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;
struct spdk_nvme_cmd *cmd = &task->cmd;
@ -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,8 +1029,8 @@ alloc_task_pool(struct spdk_vhost_nvme_dev *nvme)
}
static int
spdk_vhost_nvme_start_cb(struct spdk_vhost_dev *vdev,
struct spdk_vhost_session *vsession, void *unused)
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);
struct spdk_vhost_nvme_ns *ns_dev;
@ -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,8 +1141,8 @@ destroy_device_poller_cb(void *arg)
}
static int
spdk_vhost_nvme_stop_cb(struct spdk_vhost_dev *vdev,
struct spdk_vhost_session *vsession, void *unused)
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;
}