aboutsummaryrefslogtreecommitdiff
path: root/migration
diff options
context:
space:
mode:
authorDenis V. Lunev <den@openvz.org>2015-11-09 10:24:04 +0300
committerJuan Quintela <quintela@redhat.com>2015-11-10 15:00:28 +0100
commit15b3b8eaae8dbcc903bb164311ea0066c77536a7 (patch)
treec43b14910a4b996b350a0e952b773988b5f00662 /migration
parent371ff5a3f04cd7d05bab49ac6e80da319026d95b (diff)
downloadqemu-15b3b8eaae8dbcc903bb164311ea0066c77536a7.zip
qemu-15b3b8eaae8dbcc903bb164311ea0066c77536a7.tar.gz
qemu-15b3b8eaae8dbcc903bb164311ea0066c77536a7.tar.bz2
migration: qemu_savevm_state_cleanup becomes mandatory operation
since commit commit 94f5a43704129ca4995aa3385303c5ae225bde42 Author: Liang Li <liang.z.li@intel.com> Date: Mon Nov 2 15:37:00 2015 +0800 migration: defer migration_end & blk_mig_cleanup when actual .cleanup callbacks calling was removed from complete operations. The patch fixes regression introduced by the commit above results in 100% reliable assert for virtio-scsi VM with iothreads enabled during 'virsh create-snapshot' operation: assert(i != mr->ioeventfd_nb); memory_region_del_eventfd virtio_pci_set_host_notifier_internal virtio_pci_set_host_notifier virtio_scsi_dataplane_start virtio_scsi_handle_cmd virtio_queue_notify_vq virtio_queue_host_notifier_read aio_dispatch Signed-off-by: Denis V. Lunev <den@openvz.org> Reviewed-by: Liang Li <liang.z.li@intel.com> Reviewed-by: Juan Quintela <quintela@redhat.com> CC: Paolo Bonzini <pbonzini@redhat.com> CC: Juan Quintela <quintela@redhat.com> CC: Amit Shah <amit.shah@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
Diffstat (limited to 'migration')
-rw-r--r--migration/savevm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/migration/savevm.c b/migration/savevm.c
index 0596f7b..be52314 100644
--- a/migration/savevm.c
+++ b/migration/savevm.c
@@ -1179,8 +1179,8 @@ static int qemu_savevm_state(QEMUFile *f, Error **errp)
qemu_savevm_state_complete_precopy(f);
ret = qemu_file_get_error(f);
}
+ qemu_savevm_state_cleanup();
if (ret != 0) {
- qemu_savevm_state_cleanup();
error_setg_errno(errp, -ret, "Error while writing VM state");
}
return ret;