From: Denis V. Lunev Date: Mon, 9 Nov 2015 07:24:04 +0000 (+0300) Subject: migration: qemu_savevm_state_cleanup becomes mandatory operation X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=15b3b8eaae8dbcc903bb164311ea0066c77536a7;p=qemu.git migration: qemu_savevm_state_cleanup becomes mandatory operation since commit commit 94f5a43704129ca4995aa3385303c5ae225bde42 Author: Liang Li 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 Reviewed-by: Liang Li Reviewed-by: Juan Quintela CC: Paolo Bonzini CC: Juan Quintela CC: Amit Shah Signed-off-by: Juan Quintela --- diff --git a/migration/savevm.c b/migration/savevm.c index 0596f7bc61..be52314a12 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;