All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Blake <eblake@redhat.com>
To: Max Reitz <mreitz@redhat.com>, qemu-block@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>, John Snow <jsnow@redhat.com>,
	qemu-devel@nongnu.org, Stefan Hajnoczi <stefanha@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v4 11/13] block/mirror: Add active mirroring
Date: Wed, 11 Apr 2018 17:14:24 -0500	[thread overview]
Message-ID: <fec5bd7d-74e8-a3f7-f885-df0fb0d3b9bf@redhat.com> (raw)
In-Reply-To: <20180411185425.2461-12-mreitz@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 1871 bytes --]

On 04/11/2018 01:54 PM, Max Reitz wrote:
> This patch implements active synchronous mirroring.  In active mode, the
> passive mechanism will still be in place and is used to copy all
> initially dirty clusters off the source disk; but every write request
> will write data both to the source and the target disk, so the source
> cannot be dirtied faster than data is mirrored to the target.  Also,
> once the block job has converged (BLOCK_JOB_READY sent), source and
> target are guaranteed to stay in sync (unless an error occurs).
> 
> Active mode is completely optional and currently disabled at runtime.  A
> later patch will add a way for users to enable it.
> 
> Signed-off-by: Max Reitz <mreitz@redhat.com>
> Reviewed-by: Fam Zheng <famz@redhat.com>
> ---
>  qapi/block-core.json |  18 ++++
>  block/mirror.c       | 252 ++++++++++++++++++++++++++++++++++++++++++++++++++-
>  2 files changed, 265 insertions(+), 5 deletions(-)
> 
> diff --git a/qapi/block-core.json b/qapi/block-core.json
> index c50517bff3..8210d601f4 100644
> --- a/qapi/block-core.json
> +++ b/qapi/block-core.json
> @@ -1049,6 +1049,24 @@
>  { 'enum': 'MirrorSyncMode',
>    'data': ['top', 'full', 'none', 'incremental'] }
>  
> +##
> +# @MirrorCopyMode:
> +#
> +# An enumeration whose values tell the mirror block job when to
> +# trigger writes to the target.
> +#
> +# @background: copy data in background only.
> +#
> +# @write-blocking: when data is written to the source, write it
> +#                  (synchronously) to the target as well.  In
> +#                  addition, data is copied in background just like in
> +#                  @background mode.
> +#
> +# Since: 2.12

Missed an instance of 2.13

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 619 bytes --]

  reply	other threads:[~2018-04-11 22:14 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-11 18:54 [Qemu-devel] [PATCH v4 for-2.13 00/13] block/mirror: Add active-sync mirroring Max Reitz
2018-04-11 18:54 ` [Qemu-devel] [PATCH v4 01/13] block/mirror: Pull out mirror_perform() Max Reitz
2018-04-19 13:31   ` [Qemu-devel] [Qemu-block] " Alberto Garcia
2018-04-11 18:54 ` [Qemu-devel] [PATCH v4 02/13] block/mirror: Convert to coroutines Max Reitz
2018-04-11 18:54 ` [Qemu-devel] [PATCH v4 03/13] block/mirror: Use CoQueue to wait on in-flight ops Max Reitz
2018-04-11 18:54 ` [Qemu-devel] [PATCH v4 04/13] block/mirror: Wait for in-flight op conflicts Max Reitz
2018-04-11 18:54 ` [Qemu-devel] [PATCH v4 05/13] block/mirror: Use source as a BdrvChild Max Reitz
2018-04-19 14:48   ` [Qemu-devel] [Qemu-block] " Alberto Garcia
2018-04-11 18:54 ` [Qemu-devel] [PATCH v4 06/13] block: Generalize should_update_child() rule Max Reitz
2018-04-19 15:19   ` [Qemu-devel] [Qemu-block] " Alberto Garcia
2018-04-20  8:36   ` Alberto Garcia
2018-04-20 13:29     ` Max Reitz
2018-04-11 18:54 ` [Qemu-devel] [PATCH v4 07/13] hbitmap: Add @advance param to hbitmap_iter_next() Max Reitz
2018-04-11 18:54 ` [Qemu-devel] [PATCH v4 08/13] test-hbitmap: Add non-advancing iter_next tests Max Reitz
2018-04-11 18:54 ` [Qemu-devel] [PATCH v4 09/13] block/dirty-bitmap: Add bdrv_dirty_iter_next_area Max Reitz
2018-04-11 18:54 ` [Qemu-devel] [PATCH v4 10/13] block/mirror: Add MirrorBDSOpaque Max Reitz
2018-04-11 18:54 ` [Qemu-devel] [PATCH v4 11/13] block/mirror: Add active mirroring Max Reitz
2018-04-11 22:14   ` Eric Blake [this message]
2018-04-20 13:24     ` Max Reitz
2018-04-11 18:54 ` [Qemu-devel] [PATCH v4 12/13] block/mirror: Add copy mode QAPI interface Max Reitz
2018-04-19 14:56   ` [Qemu-devel] [Qemu-block] " Alberto Garcia
2018-04-11 18:54 ` [Qemu-devel] [PATCH v4 13/13] iotests: Add test for active mirroring Max Reitz
2018-04-19 15:00   ` [Qemu-devel] [Qemu-block] " Alberto Garcia

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fec5bd7d-74e8-a3f7-f885-df0fb0d3b9bf@redhat.com \
    --to=eblake@redhat.com \
    --cc=jsnow@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.