diff --git a/lib/nvmf/ctrlr_bdev.c b/lib/nvmf/ctrlr_bdev.c index c44a54fef..5d1fac958 100644 --- a/lib/nvmf/ctrlr_bdev.c +++ b/lib/nvmf/ctrlr_bdev.c @@ -697,6 +697,7 @@ nvmf_bdev_ctrlr_nvme_passthru_io(struct spdk_bdev *bdev, struct spdk_bdev_desc * } req->rsp->nvme_cpl.status.sct = SPDK_NVME_SCT_GENERIC; req->rsp->nvme_cpl.status.sc = SPDK_NVME_SC_INVALID_OPCODE; + req->rsp->nvme_cpl.status.dnr = 1; return SPDK_NVMF_REQUEST_EXEC_STATUS_COMPLETE; } @@ -726,6 +727,7 @@ spdk_nvmf_bdev_ctrlr_nvme_passthru_admin(struct spdk_bdev *bdev, struct spdk_bde req->rsp->nvme_cpl.status.sc = SPDK_NVME_SC_INTERNAL_DEVICE_ERROR; } + req->rsp->nvme_cpl.status.dnr = 1; return SPDK_NVMF_REQUEST_EXEC_STATUS_COMPLETE; } diff --git a/test/unit/lib/nvmf/ctrlr_bdev.c/ctrlr_bdev_ut.c b/test/unit/lib/nvmf/ctrlr_bdev.c/ctrlr_bdev_ut.c index 4dea1e827..98051b207 100644 --- a/test/unit/lib/nvmf/ctrlr_bdev.c/ctrlr_bdev_ut.c +++ b/test/unit/lib/nvmf/ctrlr_bdev.c/ctrlr_bdev_ut.c @@ -846,6 +846,7 @@ test_nvmf_bdev_ctrlr_nvme_passthru(void) CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_COMPLETE); CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_GENERIC); CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVME_SC_INVALID_OPCODE); + CU_ASSERT(rsp.nvme_cpl.status.dnr == 1); /* NVME_IO no channel - queue IO */ memset(&rsp, 0, sizeof(rsp)); @@ -881,6 +882,7 @@ test_nvmf_bdev_ctrlr_nvme_passthru(void) CU_ASSERT(rc == SPDK_NVMF_REQUEST_EXEC_STATUS_COMPLETE); CU_ASSERT(rsp.nvme_cpl.status.sct == SPDK_NVME_SCT_GENERIC); CU_ASSERT(rsp.nvme_cpl.status.sc == SPDK_NVME_SC_INVALID_OPCODE); + CU_ASSERT(rsp.nvme_cpl.status.dnr == 1); /* NVME_ADMIN no channel - queue IO */ memset(&rsp, 0, sizeof(rsp));