Commit e60483f2 authored by Markus Armbruster's avatar Markus Armbruster Committed by Kevin Wolf
Browse files

vl: Fix to create migration object before block backends again



Recent commit cda4aa9a moved block backend creation before machine
property evaluation.  This broke qemu-iotests 055.  Turns out we need
to create the migration object before block backends, so block
backends can add migration blockers.  Fix by calling
migration_object_init() earlier, right before configure_blockdev().

Fixes: cda4aa9a
Reported-by: default avatarKevin Wolf <kwolf@redhat.com>
Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
parent 9cd97956
Loading
Loading
Loading
Loading
+8 −7
Original line number Diff line number Diff line
@@ -4276,10 +4276,17 @@ 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.
     * them, and after migration_object_init(), so we can create
     * migration blockers.
     */
    configure_blockdev(&bdo_queue, machine_class, snapshot);

@@ -4297,12 +4304,6 @@ 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);
    }