From cab1da59c2ff3bf08d0a7becf9b51e43a724a85c Mon Sep 17 00:00:00 2001 From: Minwoo Im Date: Tue, 18 Apr 2023 09:26:21 +0900 Subject: hw/nvme: consider COPY command in nvme_aio_err 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 Reviewed-by: Klaus Jensen Signed-off-by: Klaus Jensen --- hw/nvme/ctrl.c | 1 + 1 file changed, 1 insertion(+) (limited to 'hw/nvme/ctrl.c') diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c index 020f37a780..e031c2250a 100644 --- a/hw/nvme/ctrl.c +++ b/hw/nvme/ctrl.c @@ -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: -- cgit v1.2.3