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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx>

Jano

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux