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