[libvirt] [PATCH 0/3] qemu: Fix race condition between block jobs and the end of migration

Jiri Denemark jdenemar at redhat.com
Fri Oct 20 12:04:26 UTC 2017

When migrating both memory and storage, we need to make sure block jobs
are finished after the virtual CPUs get paused at the end of migration
but before QEMU completes the migration otherwise QEMU may die with

    _co_do_pwritev: Assertion `!(bs->open_flags & 0x0800)' failed

This is a libvirt side of the QEMU fix from Dr. David Alan Gilbert:


Applicable on top of my "Preparation for new QEMU migration states"
series I sent yesterday.

Jiri Denemark (3):
  qemu: Add support for migrate-continue QMP command
  qemu: Add pause-before-switchover migration capability
  qemu: Enabled pause-before-switchover migration capability

 src/qemu/qemu_domain.c       |  1 +
 src/qemu/qemu_domain.h       |  1 +
 src/qemu/qemu_migration.c    | 75 +++++++++++++++++++++++++++++++++++++++++++-
 src/qemu/qemu_monitor.c      | 18 +++++++++--
 src/qemu/qemu_monitor.h      |  6 ++++
 src/qemu/qemu_monitor_json.c | 29 +++++++++++++++++
 src/qemu/qemu_monitor_json.h |  4 +++
 7 files changed, 131 insertions(+), 3 deletions(-)


More information about the libvir-list mailing list