nvmf: use bdev_io NVMe status code if available

Change-Id: If7003bf5c6a6fa0a4d1c6b8fda4cc19b6dc77482
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
This commit is contained in:
Daniel Verkamp 2016-11-22 15:42:43 -07:00
parent ff898d9e9a
commit 4be1cd85f0

View File

@ -133,10 +133,13 @@ nvmf_virtual_ctrlr_complete_cmd(spdk_event_t event)
free(bdev_io->u.unmap.unmap_bdesc);
}
if (status != SPDK_BDEV_IO_STATUS_SUCCESS) {
response->status.sc = SPDK_NVME_SC_INTERNAL_DEVICE_ERROR;
} else {
if (status == SPDK_BDEV_IO_STATUS_SUCCESS) {
response->status.sc = SPDK_NVME_SC_SUCCESS;
} else if (status == SPDK_BDEV_IO_STATUS_NVME_ERROR) {
response->status.sct = bdev_io->error.nvme.sct;
response->status.sc = bdev_io->error.nvme.sc;
} else {
response->status.sc = SPDK_NVME_SC_INTERNAL_DEVICE_ERROR;
}
spdk_nvmf_request_complete(req);
spdk_bdev_free_io(bdev_io);