On 22.09.20 11:14, Fabian Grünbichler wrote:
> From: John Snow <js...@redhat.com>
> 
> This patch adds support for the "BITMAP" sync mode to drive-mirror and
> blockdev-mirror. It adds support only for the BitmapSyncMode "never,"
> because it's the simplest mode.
> 
> This mode simply uses a user-provided bitmap as an initial copy
> manifest, and then does not clear any bits in the bitmap at the
> conclusion of the operation.
> 
> Any new writes dirtied during the operation are copied out, in contrast
> to backup. Note that whether these writes are reflected in the bitmap
> at the conclusion of the operation depends on whether that bitmap is
> actually recording!
> 
> This patch was originally based on one by Ma Haocong, but it has since
> been modified pretty heavily.
> 
> Suggested-by: Ma Haocong <mahaoc...@didichuxing.com>
> Signed-off-by: Ma Haocong <mahaoc...@didichuxing.com>
> Signed-off-by: John Snow <js...@redhat.com>
> Signed-off-by: Fabian Grünbichler <f.gruenbich...@proxmox.com>
> ---
>  include/block/block_int.h   |  4 +-
>  block/mirror.c              | 98 ++++++++++++++++++++++++++++++-------
>  blockdev.c                  | 39 +++++++++++++--
>  tests/test-block-iothread.c |  4 +-
>  qapi/block-core.json        | 29 +++++++++--
>  5 files changed, 145 insertions(+), 29 deletions(-)

[...]

> diff --git a/qapi/block-core.json b/qapi/block-core.json
> index 2d94873ca0..dac5497084 100644
> --- a/qapi/block-core.json
> +++ b/qapi/block-core.json

[...]

> @@ -2270,10 +2281,19 @@
>  #        (all the disk, only the sectors allocated in the topmost image, or
>  #        only new I/O).
>  #
> +# @bitmap: The name of a bitmap to use for sync=bitmap mode. This argument 
> must
> +#          be present for bitmap mode and absent otherwise. The bitmap's
> +#          granularity is used instead of @granularity (since 5.2).
> +#
> +# @bitmap-mode: Specifies the type of data the bitmap should contain after
> +#               the operation concludes. Must be present if sync is "bitmap".
> +#               Must NOT be present otherwise. (Since 5.2)
> +#
>  # @granularity: granularity of the dirty bitmap, default is 64K
>  #               if the image format doesn't have clusters, 4K if the clusters
>  #               are smaller than that, else the cluster size.  Must be a
> -#               power of 2 between 512 and 64M
> +#               power of 2 between 512 and 64M . Must not be specified if

s/ \./\./

(What a cheerful-looking regex.)

With that fixed:

Reviewed-by: Max Reitz <mre...@redhat.com>

> +#               @bitmap is present.
>  #
>  # @buf-size: maximum amount of data in flight from source to
>  #            target

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to