[Qemu-devel] [PATCH v2 0/1] drive-mirror: add incremental mode

mahaocong posted 1 patch 6 years, 9 months ago
Test asan failed
Test checkpatch passed
Test docker-mingw@fedora failed
Test docker-quick@centos7 failed
Test docker-clang@ubuntu failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20190102100415.24680-1-mahaocong_work@163.com
There is a newer version of this series
block/mirror.c            | 55 ++++++++++++++++++++++++++++++++++++-----------
blockdev.c                | 37 +++++++++++++++++++++++++++++--
include/block/block_int.h |  3 ++-
qapi/block-core.json      |  9 +++++++-
4 files changed, 88 insertions(+), 16 deletions(-)
[Qemu-devel] [PATCH v2 0/1] drive-mirror: add incremental mode
Posted by mahaocong 6 years, 9 months ago
From: mahaocong <mahaocong@didichuxing.com>

This patch adds possibility to start mirroring with user-created-bitmap.
Compare with v1, this patch fix some shortcomings.
1.separate feature about copy dirty-bitmap to an individual patch.
2.remove checking for cancelled after mirror_dirty_init_incremental for bitmap
  copyimg don't have yield point.
3.adjuest input parameters on mirror_start_job and mirror_start, and so It is
  no need to find bitmap on mirror_dirty_init_incremental again.
4.assert the bitmap name is NULL on blockdev_mirror_common.
5.change the parameter's name in qmp command 'drive-mirror' from 'bitmap_name'
  to 'bitmap'.

As for the doubt about the new incremental mode, I think it is means that the
initial bitmap is appointed by user, compare with the full mode and top mode.
There is no different in other behaves, such as in iteration and complete
action.

mahaocong (1):
  drive-mirror: add incremental mode
  mirror: add incremental mode. we must add a user-named-bitmap first, then set
          this bitmap as the initial bitmap on incremental mode drive-mirror.
          in details, I first create unnamed-bitmap with the same granularity of
          user-bitmap. Next, copy It's hbitmap to unnamed-bitmap. Then, start
          mirror with this unname-bitmap.
  dirty-bitmap: add new API to copy dirty-bitmap. This feature is add in a
          separate patch called "add new function to copy dirty-bitmap"

 block/mirror.c            | 55 ++++++++++++++++++++++++++++++++++++-----------
 blockdev.c                | 37 +++++++++++++++++++++++++++++--
 include/block/block_int.h |  3 ++-
 qapi/block-core.json      |  9 +++++++-
 4 files changed, 88 insertions(+), 16 deletions(-)

-- 
2.14.1


Re: [Qemu-devel] [PATCH v2 0/1] drive-mirror: add incremental mode
Posted by Eric Blake 6 years, 9 months ago
On 1/2/19 4:04 AM, mahaocong wrote:
> From: mahaocong <mahaocong@didichuxing.com>
> 
> This patch adds possibility to start mirroring with user-created-bitmap.
> Compare with v1, this patch fix some shortcomings.
> 1.separate feature about copy dirty-bitmap to an individual patch.
> 2.remove checking for cancelled after mirror_dirty_init_incremental for bitmap
>   copyimg don't have yield point.
> 3.adjuest input parameters on mirror_start_job and mirror_start, and so It is
>   no need to find bitmap on mirror_dirty_init_incremental again.
> 4.assert the bitmap name is NULL on blockdev_mirror_common.
> 5.change the parameter's name in qmp command 'drive-mirror' from 'bitmap_name'
>   to 'bitmap'.
> 
> As for the doubt about the new incremental mode, I think it is means that the
> initial bitmap is appointed by user, compare with the full mode and top mode.
> There is no different in other behaves, such as in iteration and complete
> action.
> 
> mahaocong (1):
>   drive-mirror: add incremental mode
>   mirror: add incremental mode. we must add a user-named-bitmap first, then set
>           this bitmap as the initial bitmap on incremental mode drive-mirror.
>           in details, I first create unnamed-bitmap with the same granularity of
>           user-bitmap. Next, copy It's hbitmap to unnamed-bitmap. Then, start
>           mirror with this unname-bitmap.
>   dirty-bitmap: add new API to copy dirty-bitmap. This feature is add in a
>           separate patch called "add new function to copy dirty-bitmap"

This is confusing. The first line 'mahaocong (1):' looks like you are
sending a patch series with only one patch (by the way, you can use 'git
commit format.coverletter auto' to only send a 0/N cover letter for N >
1, since a single patch is the only case where you don't technically
need a cover letter).  But the remaining three entries make it look like
you have three patches intended to be sent (and where the patch titled
"mirror: add incremental mode. we must..." is an awfully long subject line).

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

Re: [Qemu-devel] [PATCH v2 0/1] drive-mirror: add incremental mode
Posted by no-reply@patchew.org 6 years, 9 months ago
Patchew URL: https://patchew.org/QEMU/20190102100415.24680-1-mahaocong_work@163.com/



Hi,

This series failed the docker-quick@centos7 build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.

=== TEST SCRIPT BEGIN ===
#!/bin/bash
time make docker-test-quick@centos7 SHOW_ENV=1 J=8
=== TEST SCRIPT END ===

libpmem support   no
libudev           no

WARNING: Use of SDL 1.2 is deprecated and will be removed in
WARNING: future releases. Please switch to using SDL 2.0

NOTE: cross-compilers enabled:  'cc'
  GEN     x86_64-softmmu/config-devices.mak.tmp
---
  CC      block/io.o
  CC      block/create.o
/tmp/qemu-test/src/block/mirror.c: In function 'mirror_dirty_init_incremental':
/tmp/qemu-test/src/block/mirror.c:832:5: error: implicit declaration of function 'bdrv_copy_dirty_bitmap' [-Werror=implicit-function-declaration]
     if (!bdrv_copy_dirty_bitmap(src, dest, NULL)) {
     ^
/tmp/qemu-test/src/block/mirror.c:832:5: error: nested extern declaration of 'bdrv_copy_dirty_bitmap' [-Werror=nested-externs]
/tmp/qemu-test/src/block/mirror.c: At top level:
cc1: error: unrecognized command line option "-Wno-format-truncation" [-Werror]
cc1: all warnings being treated as errors
make: *** [block/mirror.o] Error 1
make: *** Waiting for unfinished jobs....


The full log is available at
http://patchew.org/logs/20190102100415.24680-1-mahaocong_work@163.com/testing.docker-quick@centos7/?type=message.
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
Re: [Qemu-devel] [PATCH v2 0/1] drive-mirror: add incremental mode
Posted by no-reply@patchew.org 6 years, 9 months ago
Patchew URL: https://patchew.org/QEMU/20190102100415.24680-1-mahaocong_work@163.com/



Hi,

This series failed the docker-mingw@fedora build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.

=== TEST SCRIPT BEGIN ===
#!/bin/bash
time make docker-test-mingw@fedora SHOW_ENV=1 J=8
=== TEST SCRIPT END ===

  CC      block/sheepdog.o
  CC      block/accounting.o
/tmp/qemu-test/src/block/mirror.c: In function 'mirror_dirty_init_incremental':
/tmp/qemu-test/src/block/mirror.c:832:10: error: implicit declaration of function 'bdrv_copy_dirty_bitmap'; did you mean 'bdrv_clear_dirty_bitmap'? [-Werror=implicit-function-declaration]
     if (!bdrv_copy_dirty_bitmap(src, dest, NULL)) {
          ^~~~~~~~~~~~~~~~~~~~~~
          bdrv_clear_dirty_bitmap
/tmp/qemu-test/src/block/mirror.c:832:10: error: nested extern declaration of 'bdrv_copy_dirty_bitmap' [-Werror=nested-externs]
cc1: all warnings being treated as errors
make: *** [/tmp/qemu-test/src/rules.mak:69: block/mirror.o] Error 1
make: *** Waiting for unfinished jobs....


The full log is available at
http://patchew.org/logs/20190102100415.24680-1-mahaocong_work@163.com/testing.docker-mingw@fedora/?type=message.
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com