diff mbox

[for,2.5,v2,1/1] migration: qemu_savevm_state_cleanup becomes mandatory operation

Message ID 1447053844-18102-1-git-send-email-den@openvz.org
State New
Headers show

Commit Message

Denis V. Lunev Nov. 9, 2015, 7:24 a.m. UTC
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>
CC: Paolo Bonzini <pbonzini@redhat.com>
CC: Juan Quintela <quintela@redhat.com>
CC: Amit Shah <amit.shah@redhat.com>
---
 migration/savevm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Juan Quintela Nov. 9, 2015, 4:20 p.m. UTC | #1
"Denis V. Lunev" <den@openvz.org> wrote:
> 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>
> CC: Paolo Bonzini <pbonzini@redhat.com>
> CC: Juan Quintela <quintela@redhat.com>
> CC: Amit Shah <amit.shah@redhat.com>

Reviewed-by: Juan Quintela <quintela@redhat.com>

And applied, thanks.
diff mbox

Patch

diff --git a/migration/savevm.c b/migration/savevm.c
index e05158d..9f2230f 100644
--- a/migration/savevm.c
+++ b/migration/savevm.c
@@ -942,8 +942,8 @@  static int qemu_savevm_state(QEMUFile *f, Error **errp)
         qemu_savevm_state_complete(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;