Loading app/nvmf_tgt/conf.c +3 −3 Original line number Diff line number Diff line Loading @@ -492,9 +492,9 @@ spdk_nvmf_parse_subsystem(struct spdk_conf_section *sp) return -1; } subsystem->ctrlr.dev.virtual.ns_count = 0; snprintf(subsystem->ctrlr.dev.virtual.sn, MAX_SN_LEN, "%s", sn); subsystem->ctrlr.ops = &spdk_nvmf_virtual_ctrlr_ops; subsystem->dev.virtual.ns_count = 0; snprintf(subsystem->dev.virtual.sn, MAX_SN_LEN, "%s", sn); subsystem->ops = &spdk_nvmf_virtual_ctrlr_ops; for (i = 0; i < MAX_VIRTUAL_NAMESPACE; i++) { val = spdk_conf_section_get_nval(sp, "Namespace", i); Loading lib/nvmf/direct.c +10 −10 Original line number Diff line number Diff line Loading @@ -44,15 +44,15 @@ nvmf_direct_ctrlr_get_data(struct nvmf_session *session) { const struct spdk_nvme_ctrlr_data *cdata; cdata = spdk_nvme_ctrlr_get_data(session->subsys->ctrlr.dev.direct.ctrlr); cdata = spdk_nvme_ctrlr_get_data(session->subsys->dev.direct.ctrlr); memcpy(&session->vcdata, cdata, sizeof(struct spdk_nvme_ctrlr_data)); } static void nvmf_direct_ctrlr_poll_for_completions(struct nvmf_session *session) { spdk_nvme_ctrlr_process_admin_completions(session->subsys->ctrlr.dev.direct.ctrlr); spdk_nvme_qpair_process_completions(session->subsys->ctrlr.dev.direct.io_qpair, 0); spdk_nvme_ctrlr_process_admin_completions(session->subsys->dev.direct.ctrlr); spdk_nvme_qpair_process_completions(session->subsys->dev.direct.io_qpair, 0); } static void Loading Loading @@ -134,10 +134,10 @@ nvmf_direct_ctrlr_process_admin_cmd(struct spdk_nvmf_request *req) memcpy(req->data, &session->vcdata, sizeof(struct spdk_nvme_ctrlr_data)); return SPDK_NVMF_REQUEST_EXEC_STATUS_COMPLETE; } else if ((cmd->cdw10 & 0xFF) == SPDK_NVME_IDENTIFY_ACTIVE_NS_LIST) { vs = spdk_nvme_ctrlr_get_regs_vs(subsystem->ctrlr.dev.direct.ctrlr); vs = spdk_nvme_ctrlr_get_regs_vs(subsystem->dev.direct.ctrlr); if (vs.raw < SPDK_NVME_VERSION(1, 1, 0)) { /* fill in identify ns list with virtual controller information */ rc = nvmf_direct_ctrlr_admin_identify_nslist(subsystem->ctrlr.dev.direct.ctrlr, req); rc = nvmf_direct_ctrlr_admin_identify_nslist(subsystem->dev.direct.ctrlr, req); if (rc < 0) { SPDK_ERRLOG("Invalid Namespace or Format\n"); response->status.sc = SPDK_NVME_SC_INVALID_NAMESPACE_OR_FORMAT; Loading Loading @@ -210,7 +210,7 @@ nvmf_direct_ctrlr_process_admin_cmd(struct spdk_nvmf_request *req) default: passthrough: SPDK_TRACELOG(SPDK_TRACE_NVMF, "admin_cmd passthrough: opc 0x%02x\n", cmd->opc); rc = spdk_nvme_ctrlr_cmd_admin_raw(subsystem->ctrlr.dev.direct.ctrlr, rc = spdk_nvme_ctrlr_cmd_admin_raw(subsystem->dev.direct.ctrlr, cmd, req->data, req->length, nvmf_direct_ctrlr_complete_cmd, Loading @@ -231,8 +231,8 @@ nvmf_direct_ctrlr_process_io_cmd(struct spdk_nvmf_request *req) struct spdk_nvmf_subsystem *subsystem = req->conn->sess->subsys; int rc; rc = spdk_nvme_ctrlr_cmd_io_raw(subsystem->ctrlr.dev.direct.ctrlr, subsystem->ctrlr.dev.direct.io_qpair, rc = spdk_nvme_ctrlr_cmd_io_raw(subsystem->dev.direct.ctrlr, subsystem->dev.direct.io_qpair, &req->cmd->nvme_cmd, req->data, req->length, nvmf_direct_ctrlr_complete_cmd, Loading @@ -250,8 +250,8 @@ nvmf_direct_ctrlr_process_io_cmd(struct spdk_nvmf_request *req) static void nvmf_direct_ctrlr_detach(struct spdk_nvmf_subsystem *subsystem) { if (subsystem->ctrlr.dev.direct.ctrlr) { spdk_nvme_detach(subsystem->ctrlr.dev.direct.ctrlr); if (subsystem->dev.direct.ctrlr) { spdk_nvme_detach(subsystem->dev.direct.ctrlr); } } Loading lib/nvmf/request.c +2 −2 Original line number Diff line number Diff line Loading @@ -343,10 +343,10 @@ spdk_nvmf_request_exec(struct spdk_nvmf_request *req) if (subsystem->subtype == SPDK_NVMF_SUBTYPE_DISCOVERY) { status = nvmf_process_discovery_cmd(req); } else { status = session->subsys->ctrlr.ops->process_admin_cmd(req); status = session->subsys->ops->process_admin_cmd(req); } } else { status = session->subsys->ctrlr.ops->process_io_cmd(req); status = session->subsys->ops->process_io_cmd(req); } switch (status) { Loading lib/nvmf/session.c +1 −1 Original line number Diff line number Diff line Loading @@ -88,7 +88,7 @@ nvmf_init_nvme_session_properties(struct nvmf_session *session) assert((g_nvmf_tgt.max_io_size % 4096) == 0); /* Init the controller details */ session->subsys->ctrlr.ops->ctrlr_get_data(session); session->subsys->ops->ctrlr_get_data(session); session->vcdata.aerl = 0; session->vcdata.cntlid = 0; Loading lib/nvmf/subsystem.c +10 −10 Original line number Diff line number Diff line Loading @@ -85,7 +85,7 @@ spdk_nvmf_subsystem_poll(struct spdk_nvmf_subsystem *subsystem) /* For NVMe subsystems, check the backing physical device for completions. */ if (subsystem->subtype == SPDK_NVMF_SUBTYPE_NVME) { session->subsys->ctrlr.ops->poll_for_completions(session); session->subsys->ops->poll_for_completions(session); } /* For each connection in the session, check for completions */ Loading Loading @@ -188,8 +188,8 @@ nvmf_delete_subsystem_poller_unreg(struct spdk_event *event) if (subsystem->session) { spdk_nvmf_session_destruct(subsystem->session); } if (subsystem->ctrlr.ops) { subsystem->ctrlr.ops->detach(subsystem); if (subsystem->ops) { subsystem->ops->detach(subsystem); } TAILQ_REMOVE(&g_subsystems, subsystem, entries); Loading Loading @@ -284,14 +284,14 @@ int nvmf_subsystem_add_ctrlr(struct spdk_nvmf_subsystem *subsystem, struct spdk_nvme_ctrlr *ctrlr) { subsystem->ctrlr.dev.direct.ctrlr = ctrlr; subsystem->dev.direct.ctrlr = ctrlr; /* Assume that all I/O will be handled on one thread for now */ subsystem->ctrlr.dev.direct.io_qpair = spdk_nvme_ctrlr_alloc_io_qpair(ctrlr, 0); if (subsystem->ctrlr.dev.direct.io_qpair == NULL) { subsystem->dev.direct.io_qpair = spdk_nvme_ctrlr_alloc_io_qpair(ctrlr, 0); if (subsystem->dev.direct.io_qpair == NULL) { SPDK_ERRLOG("spdk_nvme_ctrlr_alloc_io_qpair() failed\n"); return -1; } subsystem->ctrlr.ops = &spdk_nvmf_direct_ctrlr_ops; subsystem->ops = &spdk_nvmf_direct_ctrlr_ops; return 0; } Loading Loading @@ -349,14 +349,14 @@ spdk_nvmf_subsystem_add_ns(struct spdk_nvmf_subsystem *subsystem, struct spdk_bd int i = 0; assert(subsystem->mode == NVMF_SUBSYSTEM_MODE_VIRTUAL); while (i < MAX_VIRTUAL_NAMESPACE && subsystem->ctrlr.dev.virtual.ns_list[i]) { while (i < MAX_VIRTUAL_NAMESPACE && subsystem->dev.virtual.ns_list[i]) { i++; } if (i == MAX_VIRTUAL_NAMESPACE) { SPDK_ERRLOG("spdk_nvmf_subsystem_add_ns() failed\n"); return -1; } subsystem->ctrlr.dev.virtual.ns_list[i] = bdev; subsystem->ctrlr.dev.virtual.ns_count++; subsystem->dev.virtual.ns_list[i] = bdev; subsystem->dev.virtual.ns_count++; return 0; } Loading
app/nvmf_tgt/conf.c +3 −3 Original line number Diff line number Diff line Loading @@ -492,9 +492,9 @@ spdk_nvmf_parse_subsystem(struct spdk_conf_section *sp) return -1; } subsystem->ctrlr.dev.virtual.ns_count = 0; snprintf(subsystem->ctrlr.dev.virtual.sn, MAX_SN_LEN, "%s", sn); subsystem->ctrlr.ops = &spdk_nvmf_virtual_ctrlr_ops; subsystem->dev.virtual.ns_count = 0; snprintf(subsystem->dev.virtual.sn, MAX_SN_LEN, "%s", sn); subsystem->ops = &spdk_nvmf_virtual_ctrlr_ops; for (i = 0; i < MAX_VIRTUAL_NAMESPACE; i++) { val = spdk_conf_section_get_nval(sp, "Namespace", i); Loading
lib/nvmf/direct.c +10 −10 Original line number Diff line number Diff line Loading @@ -44,15 +44,15 @@ nvmf_direct_ctrlr_get_data(struct nvmf_session *session) { const struct spdk_nvme_ctrlr_data *cdata; cdata = spdk_nvme_ctrlr_get_data(session->subsys->ctrlr.dev.direct.ctrlr); cdata = spdk_nvme_ctrlr_get_data(session->subsys->dev.direct.ctrlr); memcpy(&session->vcdata, cdata, sizeof(struct spdk_nvme_ctrlr_data)); } static void nvmf_direct_ctrlr_poll_for_completions(struct nvmf_session *session) { spdk_nvme_ctrlr_process_admin_completions(session->subsys->ctrlr.dev.direct.ctrlr); spdk_nvme_qpair_process_completions(session->subsys->ctrlr.dev.direct.io_qpair, 0); spdk_nvme_ctrlr_process_admin_completions(session->subsys->dev.direct.ctrlr); spdk_nvme_qpair_process_completions(session->subsys->dev.direct.io_qpair, 0); } static void Loading Loading @@ -134,10 +134,10 @@ nvmf_direct_ctrlr_process_admin_cmd(struct spdk_nvmf_request *req) memcpy(req->data, &session->vcdata, sizeof(struct spdk_nvme_ctrlr_data)); return SPDK_NVMF_REQUEST_EXEC_STATUS_COMPLETE; } else if ((cmd->cdw10 & 0xFF) == SPDK_NVME_IDENTIFY_ACTIVE_NS_LIST) { vs = spdk_nvme_ctrlr_get_regs_vs(subsystem->ctrlr.dev.direct.ctrlr); vs = spdk_nvme_ctrlr_get_regs_vs(subsystem->dev.direct.ctrlr); if (vs.raw < SPDK_NVME_VERSION(1, 1, 0)) { /* fill in identify ns list with virtual controller information */ rc = nvmf_direct_ctrlr_admin_identify_nslist(subsystem->ctrlr.dev.direct.ctrlr, req); rc = nvmf_direct_ctrlr_admin_identify_nslist(subsystem->dev.direct.ctrlr, req); if (rc < 0) { SPDK_ERRLOG("Invalid Namespace or Format\n"); response->status.sc = SPDK_NVME_SC_INVALID_NAMESPACE_OR_FORMAT; Loading Loading @@ -210,7 +210,7 @@ nvmf_direct_ctrlr_process_admin_cmd(struct spdk_nvmf_request *req) default: passthrough: SPDK_TRACELOG(SPDK_TRACE_NVMF, "admin_cmd passthrough: opc 0x%02x\n", cmd->opc); rc = spdk_nvme_ctrlr_cmd_admin_raw(subsystem->ctrlr.dev.direct.ctrlr, rc = spdk_nvme_ctrlr_cmd_admin_raw(subsystem->dev.direct.ctrlr, cmd, req->data, req->length, nvmf_direct_ctrlr_complete_cmd, Loading @@ -231,8 +231,8 @@ nvmf_direct_ctrlr_process_io_cmd(struct spdk_nvmf_request *req) struct spdk_nvmf_subsystem *subsystem = req->conn->sess->subsys; int rc; rc = spdk_nvme_ctrlr_cmd_io_raw(subsystem->ctrlr.dev.direct.ctrlr, subsystem->ctrlr.dev.direct.io_qpair, rc = spdk_nvme_ctrlr_cmd_io_raw(subsystem->dev.direct.ctrlr, subsystem->dev.direct.io_qpair, &req->cmd->nvme_cmd, req->data, req->length, nvmf_direct_ctrlr_complete_cmd, Loading @@ -250,8 +250,8 @@ nvmf_direct_ctrlr_process_io_cmd(struct spdk_nvmf_request *req) static void nvmf_direct_ctrlr_detach(struct spdk_nvmf_subsystem *subsystem) { if (subsystem->ctrlr.dev.direct.ctrlr) { spdk_nvme_detach(subsystem->ctrlr.dev.direct.ctrlr); if (subsystem->dev.direct.ctrlr) { spdk_nvme_detach(subsystem->dev.direct.ctrlr); } } Loading
lib/nvmf/request.c +2 −2 Original line number Diff line number Diff line Loading @@ -343,10 +343,10 @@ spdk_nvmf_request_exec(struct spdk_nvmf_request *req) if (subsystem->subtype == SPDK_NVMF_SUBTYPE_DISCOVERY) { status = nvmf_process_discovery_cmd(req); } else { status = session->subsys->ctrlr.ops->process_admin_cmd(req); status = session->subsys->ops->process_admin_cmd(req); } } else { status = session->subsys->ctrlr.ops->process_io_cmd(req); status = session->subsys->ops->process_io_cmd(req); } switch (status) { Loading
lib/nvmf/session.c +1 −1 Original line number Diff line number Diff line Loading @@ -88,7 +88,7 @@ nvmf_init_nvme_session_properties(struct nvmf_session *session) assert((g_nvmf_tgt.max_io_size % 4096) == 0); /* Init the controller details */ session->subsys->ctrlr.ops->ctrlr_get_data(session); session->subsys->ops->ctrlr_get_data(session); session->vcdata.aerl = 0; session->vcdata.cntlid = 0; Loading
lib/nvmf/subsystem.c +10 −10 Original line number Diff line number Diff line Loading @@ -85,7 +85,7 @@ spdk_nvmf_subsystem_poll(struct spdk_nvmf_subsystem *subsystem) /* For NVMe subsystems, check the backing physical device for completions. */ if (subsystem->subtype == SPDK_NVMF_SUBTYPE_NVME) { session->subsys->ctrlr.ops->poll_for_completions(session); session->subsys->ops->poll_for_completions(session); } /* For each connection in the session, check for completions */ Loading Loading @@ -188,8 +188,8 @@ nvmf_delete_subsystem_poller_unreg(struct spdk_event *event) if (subsystem->session) { spdk_nvmf_session_destruct(subsystem->session); } if (subsystem->ctrlr.ops) { subsystem->ctrlr.ops->detach(subsystem); if (subsystem->ops) { subsystem->ops->detach(subsystem); } TAILQ_REMOVE(&g_subsystems, subsystem, entries); Loading Loading @@ -284,14 +284,14 @@ int nvmf_subsystem_add_ctrlr(struct spdk_nvmf_subsystem *subsystem, struct spdk_nvme_ctrlr *ctrlr) { subsystem->ctrlr.dev.direct.ctrlr = ctrlr; subsystem->dev.direct.ctrlr = ctrlr; /* Assume that all I/O will be handled on one thread for now */ subsystem->ctrlr.dev.direct.io_qpair = spdk_nvme_ctrlr_alloc_io_qpair(ctrlr, 0); if (subsystem->ctrlr.dev.direct.io_qpair == NULL) { subsystem->dev.direct.io_qpair = spdk_nvme_ctrlr_alloc_io_qpair(ctrlr, 0); if (subsystem->dev.direct.io_qpair == NULL) { SPDK_ERRLOG("spdk_nvme_ctrlr_alloc_io_qpair() failed\n"); return -1; } subsystem->ctrlr.ops = &spdk_nvmf_direct_ctrlr_ops; subsystem->ops = &spdk_nvmf_direct_ctrlr_ops; return 0; } Loading Loading @@ -349,14 +349,14 @@ spdk_nvmf_subsystem_add_ns(struct spdk_nvmf_subsystem *subsystem, struct spdk_bd int i = 0; assert(subsystem->mode == NVMF_SUBSYSTEM_MODE_VIRTUAL); while (i < MAX_VIRTUAL_NAMESPACE && subsystem->ctrlr.dev.virtual.ns_list[i]) { while (i < MAX_VIRTUAL_NAMESPACE && subsystem->dev.virtual.ns_list[i]) { i++; } if (i == MAX_VIRTUAL_NAMESPACE) { SPDK_ERRLOG("spdk_nvmf_subsystem_add_ns() failed\n"); return -1; } subsystem->ctrlr.dev.virtual.ns_list[i] = bdev; subsystem->ctrlr.dev.virtual.ns_count++; subsystem->dev.virtual.ns_list[i] = bdev; subsystem->dev.virtual.ns_count++; return 0; }