qmp/cont: Only activate disks if migration completed

As the comment says, the activation of disks is for the case where
migration has completed, rather than when QEMU is still during
migration (RUN_STATE_INMIGRATE).

Move the code over to reflect what the comment is describing.

Cc: Kevin Wolf <kwolf@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Message-Id: <20241206230838.1111496-3-peterx@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>
This commit is contained in:
Peter Xu 2024-12-06 18:08:34 -05:00 committed by Fabiano Rosas
parent 7815f69867
commit e4e5e89bbd

View file

@ -96,21 +96,23 @@ void qmp_cont(Error **errp)
}
}
/* Continuing after completed migration. Images have been inactivated to
* allow the destination to take control. Need to get control back now.
*
* If there are no inactive block nodes (e.g. because the VM was just
* paused rather than completing a migration), bdrv_inactivate_all() simply
* doesn't do anything. */
bdrv_activate_all(&local_err);
if (local_err) {
error_propagate(errp, local_err);
return;
}
if (runstate_check(RUN_STATE_INMIGRATE)) {
autostart = 1;
} else {
/*
* Continuing after completed migration. Images have been
* inactivated to allow the destination to take control. Need to
* get control back now.
*
* If there are no inactive block nodes (e.g. because the VM was
* just paused rather than completing a migration),
* bdrv_inactivate_all() simply doesn't do anything.
*/
bdrv_activate_all(&local_err);
if (local_err) {
error_propagate(errp, local_err);
return;
}
vm_start();
}
}