[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] dma-helpers: ensure AIO callback is invoked aft
From: |
John Snow |
Subject: |
Re: [Qemu-devel] [PATCH] dma-helpers: ensure AIO callback is invoked after cancellation |
Date: |
Tue, 13 Aug 2019 18:40:19 -0400 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 |
On 7/29/19 5:34 PM, Paolo Bonzini wrote:
> dma_aio_cancel unschedules the BH if there is one, which corresponds
> to the reschedule_dma case of dma_blk_cb. This can stall the DMA
> permanently, because dma_complete will never get invoked and therefore
> nobody will ever invoke the original AIO callback in dbs->common.cb.
>
> Fix this by invoking the callback (which is ensured to happen after
> a bdrv_aio_cancel_async, or done manually in the dbs->bh case), and
> add assertions to check that the DMA state machine is indeed waiting
> for dma_complete or reschedule_dma, but never both.
>
> Reported-by: John Snow <address@hidden>
> Signed-off-by: Paolo Bonzini <address@hidden>
No maintainer here, I guess; Paolo will you be pulling this or should I
do it as part of the other IDE fixes I need to make?
--js
- Re: [Qemu-devel] [PATCH] dma-helpers: ensure AIO callback is invoked after cancellation,
John Snow <=