qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 0/7] Call check and invalidate_cache from cor


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH v3 0/7] Call check and invalidate_cache from coroutine context
Date: Thu, 1 Feb 2018 09:48:17 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2

On 18/01/2018 07:43, Paolo Bonzini wrote:
> Check and invalidate_cache share some parts of the implementation
> with the regular I/O path.  This is sometimes complicated because the
> I/O path wants to use a CoMutex but that is not possible outside coroutine
> context.  By moving things to coroutine context, we can remove special
> cases.  In fact, invalidate_cache is already called from coroutine context
> because incoming migration is placed in a coroutine.
> 
> While at it, I'm including two patches from Stefan to rename the
> bdrv_create callback to bdrv_co_create, because it is already called
> from coroutine context.  The name is now bdrv_co_create_opts, with
> bdrv_co_create reserved for the QAPI-based version that Kevin is
> working on.
> 
> qcow2 still has cache flushing in non-coroutine context, coming from
> qcow2_reopen_prepare->qcow2_update_options_prepare and
> qcow2_close->qcow2_inactivate.
> 
> Paolo

Ping?

Thanks,

Paolo

> v1->v2: fix file-win32
> 
> Paolo Bonzini (5):
>   qcow2: make qcow2_do_open a coroutine_fn
>   qed: make bdrv_qed_do_open a coroutine_fn
>   block: convert bdrv_invalidate_cache callback to coroutine_fn
>   qcow2: introduce qcow2_write_caches and qcow2_flush_caches
>   block: convert bdrv_check callback to coroutine_fn
> 
> Stefan Hajnoczi (2):
>   block: rename .bdrv_create() to .bdrv_co_create_opts()
>   qcow2: make qcow2_co_create2() a coroutine_fn
> 
>  block.c                   |  88 ++++++++++++++++++++++++++++++----
>  block/crypto.c            |   8 ++--
>  block/file-posix.c        |  15 +++---
>  block/file-win32.c        |   5 +-
>  block/gluster.c           |  12 ++---
>  block/iscsi.c             |  13 ++---
>  block/nfs.c               |  11 +++--
>  block/parallels.c         |  23 +++++----
>  block/qcow.c              |   5 +-
>  block/qcow2-refcount.c    |  28 +++++++++++
>  block/qcow2.c             | 118 
> +++++++++++++++++++++++++++++++---------------
>  block/qcow2.h             |   2 +
>  block/qed-check.c         |   1 +
>  block/qed-table.c         |  26 ++++------
>  block/qed.c               |  72 +++++++++++++++++++++-------
>  block/raw-format.c        |   5 +-
>  block/rbd.c               |  12 +++--
>  block/sheepdog.c          |  10 ++--
>  block/ssh.c               |   5 +-
>  block/vdi.c               |  11 +++--
>  block/vhdx.c              |  12 +++--
>  block/vmdk.c              |  12 +++--
>  block/vpc.c               |   5 +-
>  include/block/block_int.h |  11 +++--
>  24 files changed, 355 insertions(+), 155 deletions(-)
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]