]> www.infradead.org Git - qemu-nvme.git/commitdiff
hw/nvme: consider COPY command in nvme_aio_err
authorMinwoo Im <minwoo.im@samsung.com>
Tue, 18 Apr 2023 00:26:21 +0000 (09:26 +0900)
committerKlaus Jensen <k.jensen@samsung.com>
Wed, 24 May 2023 09:21:26 +0000 (11:21 +0200)
If we don't have NVME_CMD_COPY consideration in the switch statement in
nvme_aio_err(), it will go to have NVME_INTERNAL_DEV_ERROR and
`req->status` will be ovewritten to it.  During the aio context, it
might set the NVMe status field like NVME_CMD_SIZE_LIMIT, but it's
overwritten in the nvme_aio_err().

Add consideration for the NVME_CMD_COPY not to overwrite the status at
the end of the function.

Signed-off-by: Minwoo Im <minwoo.im@samsung.com>
Reviewed-by: Klaus Jensen <k.jensen@samsung.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
hw/nvme/ctrl.c

index 020f37a780e0e628862a7e705dd49cef69e319f0..e031c2250a84f486a8fc1645d27ae6adafc2bf4a 100644 (file)
@@ -1755,6 +1755,7 @@ static void nvme_aio_err(NvmeRequest *req, int ret)
     case NVME_CMD_WRITE:
     case NVME_CMD_WRITE_ZEROES:
     case NVME_CMD_ZONE_APPEND:
+    case NVME_CMD_COPY:
         status = NVME_WRITE_FAULT;
         break;
     default: