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(-)
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
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
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
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
© 2016 - 2025 Red Hat, Inc.