From e60483f2f8498ae08ae79ca4c6fb03a3317f5e1e Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Wed, 13 Mar 2019 09:43:30 +0100 Subject: [PATCH] vl: Fix to create migration object before block backends again Recent commit cda4aa9a5a0 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: cda4aa9a5a08777cf13e164c0543bd4888b8adce Reported-by: Kevin Wolf Signed-off-by: Markus Armbruster Signed-off-by: Kevin Wolf --- vl.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/vl.c b/vl.c index c1d5484e12..d61d5604e5 100644 --- a/vl.c +++ b/vl.c @@ -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); }