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
--
2.31.1