[PATCH 00/17] qemu: Add support for blocking writes for the blockdev-mirror job

Ján Tomko jtomko at redhat.com
Fri Dec 3 16:22:36 UTC 2021


On a Friday in 2021, Peter Krempa wrote:
>Blocking writes ensure that the mirroring converges even when the guest
>is I/O intensive with a fast local storage and slow mirror.
>
>This patchset does it by introducing flags which use the blocking mode
>as it will have performance impact, and for guests which do I/O in
>bursts it might be detrimental to their performance.
>
>One could argue that both the copy job and migration have the
>expectations of actually using the copy so ensuring that it converges
>might be also something we'd want to do by default. This would obviously
>greatly simplify this series, but I didn't want to change the default.
>
>Peter Krempa (17):
>  qemu: monitor: Avoid ternary operators in helpers for
>    drive/blockdev-mirror
>  qemuMonitorJSONHandleShutdown: Use virTristateBoolFromBool
>  qemuMonitorJSONEjectMedia: Use a bool directly for constructing JSON
>    with 'b' modifier
>  qemuMonitorJSONMigrate: Extract flags prior to constructing command
>  qemuMonitorJSONGraphicsRelocate: Clean up command argument
>    construction
>  qemu: monitor: Add support for 'write-blocking' copy mode for
>    blockdev-mirror
>  include: virDomainBlockCopyFlags: Convert to prefix comments
>  virDomainBlockCopy: Introduce VIR_DOMAIN_BLOCK_COPY_SYNCHRONOUS_WRITES
>    flag
>  qemuDomainBlockCopy: Implement
>    VIR_DOMAIN_BLOCK_COPY_SYNCHRONOUS_WRITES
>  include: virDomainMigrateFlags: Remove "block alignment" whitespace
>  man: virsh: Separate paragrapsh describing distinct flags
>  VIR_REQUIRE_FLAG_(GOTO|RET): Add parens around arguments in expansion
>  virDomainMigrate: Introduce VIR_MIGRATE_NON_SHARED_SYNCHRONOUS_WRITES
>    flag
>  qemu: migration: Implement VIR_MIGRATE_NON_SHARED_SYNCHRONOUS_WRITES
>  docs: Convert 'migration' doc to RST
>  docs: migration: Add a paragraph about non-shared storage migration
>  NEWS: Mention synchronous copy job additions
>
> NEWS.rst                         |  12 +
> docs/manpages/virsh.rst          |  45 +-
> docs/meson.build                 |   2 +-
> docs/migration.html.in           | 688 -------------------------------
> docs/migration.rst               | 490 ++++++++++++++++++++++
> include/libvirt/libvirt-domain.h |  63 +--
> src/internal.h                   |   4 +-
> src/libvirt-domain.c             |  26 ++
> src/qemu/qemu_driver.c           |  17 +-
> src/qemu/qemu_migration.c        |  17 +-
> src/qemu/qemu_migration.h        |   1 +
> src/qemu/qemu_monitor.c          |  10 +-
> src/qemu/qemu_monitor.h          |   3 +-
> src/qemu/qemu_monitor_json.c     |  67 ++-
> src/qemu/qemu_monitor_json.h     |   3 +-
> tests/qemumonitorjsontest.c      |   2 +-
> tools/virsh-domain.c             |  22 +-
> 17 files changed, 707 insertions(+), 765 deletions(-)
> delete mode 100644 docs/migration.html.in
> create mode 100644 docs/migration.rst
>

Reviewed-by: Ján Tomko <jtomko at redhat.com>

Jano
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20211203/84fc51e3/attachment-0001.sig>


More information about the libvir-list mailing list