On Mon, Mar 30, 2015 at 01:40:57PM +1100, Michael Chapman wrote:
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(-)
ACK to patches 1 - 3.
I will wait a while before pushing to give others a chance to take a
look.
Jan