]> Git Repo - qemu.git/commitdiff
vl: move global property, migrate init earlier
authorPeter Xu <[email protected]>
Wed, 5 Jul 2017 08:21:21 +0000 (16:21 +0800)
committerDr. David Alan Gilbert <[email protected]>
Mon, 10 Jul 2017 16:52:21 +0000 (17:52 +0100)
Currently drive_init_func() may call migrate_get_current() while the
migrate object is still not ready yet at that time. Move the migration
object init earlier, along with the global properties, right after
acceleration init.

This fixes a breakage for iotest 055, which caused an assertion failure.

Reported-by: Max Reitz <[email protected]>
Reported-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Eduardo Habkost <[email protected]>
Tested-by: QingFeng Hao <[email protected]>
Fixes: 3df663 ("migration: move only_migratable to MigrationState")
Signed-off-by: Peter Xu <[email protected]>
Message-Id: <1499242883[email protected]>
Signed-off-by: Dr. David Alan Gilbert <[email protected]>
vl.c

diff --git a/vl.c b/vl.c
index 7a015eccc6cd483a0db5de25e31b6fed333349d8..f7560de622a5b2a071b62429ee9473f5d2d9154f 100644 (file)
--- a/vl.c
+++ b/vl.c
@@ -4418,6 +4418,18 @@ int main(int argc, char **argv, char **envp)
 
     configure_accelerator(current_machine);
 
+    /*
+     * Register all the global properties, including accel properties,
+     * machine properties, and user-specified ones.
+     */
+    register_global_properties(current_machine);
+
+    /*
+     * 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);
     }
@@ -4601,18 +4613,6 @@ int main(int argc, char **argv, char **envp)
             exit (i == 1 ? 1 : 0);
     }
 
-    /*
-     * Register all the global properties, including accel properties,
-     * machine properties, and user-specified ones.
-     */
-    register_global_properties(current_machine);
-
-    /*
-     * Migration object can only be created after global properties
-     * are applied correctly.
-     */
-    migration_object_init();
-
     /* This checkpoint is required by replay to separate prior clock
        reading from the other reads, because timer polling functions query
        clock values from the log. */
This page took 0.036229 seconds and 4 git commands to generate.