[libvirt] [PATCH 0/4] Various bugfixes for cancelled VM migrations

Michael Chapman mike at very.puzzling.org
Mon Mar 30 02:40:57 UTC 2015


This patch series contains fixes for several bugs I encountered while deliberately forcing a VM migration to abort by killing the libvirt client. My VM has storage on local disk, which needs to be mirrored during the migration, and this gives ample time for this abort to take place. The particular bug I encountered depended on precisely which phase the migration had made it to (e.g. whether disk mirroring had actually commenced).

Patch 1 fixes a crash on the destination libvirt daemon due to a use-after-free of the domain object. Patches 2 and 4 fix some bugs related to the close callback handling on the source libvirt side. Patch 3 ensures that the VM on the source libvirt does not get into an invalid state if its migration is aborted during disk mirroring.

All patches are independent of one another and can be applied separately.

Michael Chapman (4):
  qemu: fix crash in qemuProcessAutoDestroy
  qemu: fix error propagation in qemuMigrationBegin
  qemu: fix race between disk mirror fail and cancel
  util: fix removal of callbacks in virCloseCallbacksRun

 src/qemu/qemu_domain.c       |  5 +++++
 src/qemu/qemu_migration.c    | 12 +++++++++++-
 src/qemu/qemu_process.c      |  4 +++-
 src/util/virclosecallbacks.c | 10 ++++++----
 4 files changed, 25 insertions(+), 6 deletions(-)

-- 
2.1.0




More information about the libvir-list mailing list