On 13/07/2016 07:09, Fam Zheng wrote:
> v4: Drop patch 1. [Cornelia]
>     Add the last trivial patch.
> 
> v3: Rebase to master.
>     Squash 4 into 3. [Paolo]
>     Add comment and commit message. [Stefan]
>     Add Stefan's r-b in patch 1 and 2.
> 
> v2: Only convert virtio-{blk,scsi}. [Paolo]
> 
> The benifit of this is we don't use event_notifier_set_handler even in
> non-dataplane now, which in turn makes virtio-blk and virtio-scsi follow block
> layer aio context semantics. Specifically, I/O requests must come from
> blk_get_aio_context(blk) events, rather than iohandler_get_aio_context(), so
> that bdrv_drained_begin/end will work as expected.
> 
> Patch 4 reverts the hack (ab27c3b5e7) we added for 2.6. Lately, commit
> b880481579 added another pair of bdrv_drained_begin/end so the crash cannot
> happen even without ab27c3b5e7, but in order to avoid leaking requests, patch
> two is still a must.
> 
> Fam Zheng (6):
>   virtio: Add typedef for handle_output
>   virtio: Introduce virtio_add_queue_aio
>   virtio-blk: Call virtio_add_queue_aio
>   virtio-scsi: Call virtio_add_queue_aio
>   Revert "mirror: Workaround for unexpected iohandler events during
>     completion"
>   virtio-scsi: Replace HandleOutput typedef
> 
>  block/mirror.c                  |  9 ---------
>  hw/block/virtio-blk.c           |  2 +-
>  hw/scsi/virtio-scsi.c           | 14 ++++++-------
>  hw/virtio/virtio.c              | 45 
> +++++++++++++++++++++++++++++++++--------
>  include/hw/virtio/virtio-scsi.h |  6 ++----
>  include/hw/virtio/virtio.h      |  8 ++++++--
>  6 files changed, 52 insertions(+), 32 deletions(-)
> 

I really would like this in 2.7, because it's a superior solution.

Paolo

Reply via email to