migration: fix handling for --only-migratable

MigrateState object is not ready at that time, so we'll get an
assertion. Use qemu_global_option() instead.

Reported-by: Eduardo Habkost <ehabkost@redhat.com>
Suggested-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Fixes: 3df663e ("migration: move only_migratable to MigrationState")
Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <1499242883-2184-2-git-send-email-peterx@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
This commit is contained in:
Peter Xu 2017-07-05 16:21:20 +08:00 committed by Dr. David Alan Gilbert
parent 6b06e3e49e
commit b605c47b57
3 changed files with 1 additions and 7 deletions

View File

@ -53,7 +53,6 @@ bool migration_has_finished(MigrationState *);
bool migration_has_failed(MigrationState *);
/* ...and after the device transmission */
bool migration_in_postcopy_after_devices(MigrationState *);
void migration_only_migratable_set(void);
void migration_global_dump(Monitor *mon);
#endif

View File

@ -128,11 +128,6 @@ MigrationState *migrate_get_current(void)
return current_migration;
}
void migration_only_migratable_set(void)
{
migrate_get_current()->only_migratable = true;
}
MigrationIncomingState *migration_incoming_get_current(void)
{
static bool once;

2
vl.c
View File

@ -3962,7 +3962,7 @@ int main(int argc, char **argv, char **envp)
*
* "-global migration.only-migratable=true"
*/
migration_only_migratable_set();
qemu_global_option("migration.only-migratable=true");
break;
case QEMU_OPTION_nodefaults:
has_defaults = 0;