diff --git a/lib/nvme/nvme_internal.h b/lib/nvme/nvme_internal.h index 6050ea74a..32aaeb6f0 100644 --- a/lib/nvme/nvme_internal.h +++ b/lib/nvme/nvme_internal.h @@ -492,7 +492,8 @@ int nvme_ctrlr_submit_admin_request(struct spdk_nvme_ctrlr *ctrlr, int nvme_ctrlr_get_cap(struct spdk_nvme_ctrlr *ctrlr, union spdk_nvme_cap_register *cap); int nvme_qpair_construct(struct spdk_nvme_qpair *qpair, uint16_t id, uint16_t num_entries, - struct spdk_nvme_ctrlr *ctrlr); + struct spdk_nvme_ctrlr *ctrlr, + enum spdk_nvme_qprio qprio); void nvme_qpair_destroy(struct spdk_nvme_qpair *qpair); void nvme_qpair_enable(struct spdk_nvme_qpair *qpair); void nvme_qpair_disable(struct spdk_nvme_qpair *qpair); diff --git a/lib/nvme/nvme_pcie.c b/lib/nvme/nvme_pcie.c index 7c3d54505..a0a74684e 100644 --- a/lib/nvme/nvme_pcie.c +++ b/lib/nvme/nvme_pcie.c @@ -430,7 +430,8 @@ nvme_pcie_ctrlr_construct_admin_qpair(struct spdk_nvme_ctrlr *ctrlr) return nvme_qpair_construct(ctrlr->adminq, 0, /* qpair ID */ NVME_ADMIN_ENTRIES, - ctrlr); + ctrlr, + SPDK_NVME_QPRIO_URGENT); } static struct spdk_nvme_ctrlr *nvme_pcie_ctrlr_construct(void *devhandle) @@ -1059,9 +1060,6 @@ nvme_pcie_ctrlr_create_io_qpair(struct spdk_nvme_ctrlr *ctrlr, uint16_t qid, qpair = &pqpair->qpair; - qpair->id = qid; - qpair->qprio = qprio; - /* * NVMe spec sets a hard limit of 64K max entries, but * devices may specify a smaller limit, so we need to check @@ -1069,7 +1067,7 @@ nvme_pcie_ctrlr_create_io_qpair(struct spdk_nvme_ctrlr *ctrlr, uint16_t qid, */ num_entries = nvme_min(NVME_IO_ENTRIES, ctrlr->cap.bits.mqes + 1); - rc = nvme_qpair_construct(qpair, qid, num_entries, ctrlr); + rc = nvme_qpair_construct(qpair, qid, num_entries, ctrlr, qprio); if (rc != 0) { free(pqpair); return NULL; diff --git a/lib/nvme/nvme_qpair.c b/lib/nvme/nvme_qpair.c index 2513fa18d..60a327f70 100644 --- a/lib/nvme/nvme_qpair.c +++ b/lib/nvme/nvme_qpair.c @@ -336,13 +336,14 @@ spdk_nvme_qpair_process_completions(struct spdk_nvme_qpair *qpair, uint32_t max_ int nvme_qpair_construct(struct spdk_nvme_qpair *qpair, uint16_t id, uint16_t num_entries, - struct spdk_nvme_ctrlr *ctrlr) + struct spdk_nvme_ctrlr *ctrlr, + enum spdk_nvme_qprio qprio) { assert(num_entries != 0); qpair->id = id; qpair->num_entries = num_entries; - qpair->qprio = 0; + qpair->qprio = qprio; qpair->ctrlr = ctrlr; qpair->transport = ctrlr->transport; diff --git a/test/lib/nvme/unit/nvme_ctrlr_c/nvme_ctrlr_ut.c b/test/lib/nvme/unit/nvme_ctrlr_c/nvme_ctrlr_ut.c index 4076de276..bd4b73f5c 100644 --- a/test/lib/nvme/unit/nvme_ctrlr_c/nvme_ctrlr_ut.c +++ b/test/lib/nvme/unit/nvme_ctrlr_c/nvme_ctrlr_ut.c @@ -177,11 +177,12 @@ static const struct spdk_nvme_transport nvme_ctrlr_ut_transport = { int nvme_qpair_construct(struct spdk_nvme_qpair *qpair, uint16_t id, uint16_t num_entries, - struct spdk_nvme_ctrlr *ctrlr) + struct spdk_nvme_ctrlr *ctrlr, + enum spdk_nvme_qprio qprio) { qpair->id = id; qpair->num_entries = num_entries; - qpair->qprio = 0; + qpair->qprio = qprio; qpair->ctrlr = ctrlr; return 0; diff --git a/test/lib/nvme/unit/nvme_qpair_c/nvme_qpair_ut.c b/test/lib/nvme/unit/nvme_qpair_c/nvme_qpair_ut.c index 0cdebe9be..6402343c8 100644 --- a/test/lib/nvme/unit/nvme_qpair_c/nvme_qpair_ut.c +++ b/test/lib/nvme/unit/nvme_qpair_c/nvme_qpair_ut.c @@ -223,7 +223,7 @@ prepare_submit_request_test(struct spdk_nvme_qpair *qpair, ctrlr->transport = &nvme_qpair_ut_transport; ctrlr->free_io_qids = NULL; TAILQ_INIT(&ctrlr->active_io_qpairs); - nvme_qpair_construct(qpair, 1, 128, ctrlr); + nvme_qpair_construct(qpair, 1, 128, ctrlr, 0); ut_fail_vtophys = false; }