int ret;
if (current_migration &&
- current_migration->get_status(current_migration) == MIG_STATE_ACTIVE) {
+ current_migration->state == MIG_STATE_ACTIVE) {
monitor_printf(mon, "migration already in progress\n");
return -1;
}
{
MigrationState *s = current_migration;
- if (s && s->get_status(s) == MIG_STATE_ACTIVE) {
+ if (s && s->state == MIG_STATE_ACTIVE) {
s->cancel(s);
}
return 0;
if (current_migration) {
MigrationState *s = current_migration;
- switch (s->get_status(current_migration)) {
+ switch (s->state) {
case MIG_STATE_SETUP:
/* no migration has happened ever */
break;
} else {
migrate_fd_completed(s);
}
- if (s->get_status(s) != MIG_STATE_COMPLETED) {
+ if (s->state != MIG_STATE_COMPLETED) {
if (old_vm_running) {
vm_start();
}
}
}
-static int migrate_fd_get_status(MigrationState *s)
-{
- return s->state;
-}
-
static void migrate_fd_cancel(MigrationState *s)
{
if (s->state != MIG_STATE_ACTIVE)
int get_migration_state(void)
{
if (current_migration) {
- return migrate_fd_get_status(current_migration);
+ return current_migration->state;
} else {
return MIG_STATE_ERROR;
}
MigrationState *s = g_malloc0(sizeof(*s));
s->cancel = migrate_fd_cancel;
- s->get_status = migrate_fd_get_status;
s->blk = blk;
s->shared = inc;
s->mon = NULL;
int (*close)(MigrationState *s);
int (*write)(MigrationState *s, const void *buff, size_t size);
void (*cancel)(MigrationState *s);
- int (*get_status)(MigrationState *s);
void *opaque;
int blk;
int shared;