On 10/11/22 08:05, Klaus Jensen wrote:
From: Klaus Jensen <[email protected]>Cancelling a format operation neglects to set iocb->ret as well as clearing the iocb->aiocb after cancelling the underlying aiocb. Fix this. Fixes: 3bcf26d3d619 ("hw/nvme: reimplement format nvm to allow cancellation") Signed-off-by: Klaus Jensen <[email protected]> --- hw/nvme/ctrl.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c index 918af03d32be..819c02067191 100644 --- a/hw/nvme/ctrl.c +++ b/hw/nvme/ctrl.c @@ -5762,8 +5762,11 @@ static void nvme_format_cancel(BlockAIOCB *aiocb) { NvmeFormatAIOCB *iocb = container_of(aiocb, NvmeFormatAIOCB, common);+ iocb->ret = -ECANCELED;+ if (iocb->aiocb) { blk_aio_cancel_async(iocb->aiocb); + iocb->aiocb = NULL; } }
What about nvme_flush_cancel()?
