]> git.proxmox.com Git - mirror_qemu.git/commitdiff
Revert "vl: Fix to create migration object before block backends again"
authorMarkus Armbruster <armbru@redhat.com>
Mon, 1 Apr 2019 09:08:23 +0000 (11:08 +0200)
committerMarkus Armbruster <armbru@redhat.com>
Tue, 2 Apr 2019 11:35:00 +0000 (13:35 +0200)
This reverts commit e60483f2f8498ae08ae79ca4c6fb03a3317f5e1e.

Recent commit cda4aa9a5a0 moved block backend creation before machine
property evaluation.  This broke block backends registering migration
blockers.  Commit e60483f2f84 fixed it by moving migration object
creation before block backend creation.  This broke migration with
Xen.  Turns out we need to configure the accelerator before we create
the migration object so that Xen's accelerator compat properties get
applied.  Revert the flawed commit.  This fixes the Xen regression,
but brings back the block backend regression.  The next commits will
fix it again.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20190401090827.20793-2-armbru@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
vl.c

diff --git a/vl.c b/vl.c
index 24572de0bd934d60aecc77c9bc24918b1ddec797..9b215341a39a18abb633e5cec945dfc6e36da1f2 100644 (file)
--- a/vl.c
+++ b/vl.c
@@ -4277,17 +4277,10 @@ int main(int argc, char **argv, char **envp)
         exit(0);
     }
 
-    /*
-     * Migration object can only be created after global properties
-     * are applied correctly.
-     */
-    migration_object_init();
-
     /*
      * Note: we need to create block backends before
      * machine_set_property(), so machine properties can refer to
-     * them, and after migration_object_init(), so we can create
-     * migration blockers.
+     * them.
      */
     configure_blockdev(&bdo_queue, machine_class, snapshot);
 
@@ -4305,6 +4298,12 @@ int main(int argc, char **argv, char **envp)
                      machine_class->name, machine_class->deprecation_reason);
     }
 
+    /*
+     * Migration object can only be created after global properties
+     * are applied correctly.
+     */
+    migration_object_init();
+
     if (qtest_chrdev) {
         qtest_init(qtest_chrdev, qtest_log, &error_fatal);
     }