提交 8ca5e801 编写于 作者: J Juan Quintela 提交者: Anthony Liguori

Exit if incoming migration fails

Signed-off-by: NJuan Quintela <quintela@redhat.com>
Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
上级 63729c36
......@@ -36,22 +36,26 @@ static uint32_t max_throttle = (32 << 20);
static MigrationState *current_migration;
void qemu_start_incoming_migration(const char *uri)
int qemu_start_incoming_migration(const char *uri)
{
const char *p;
int ret;
if (strstart(uri, "tcp:", &p))
tcp_start_incoming_migration(p);
ret = tcp_start_incoming_migration(p);
#if !defined(WIN32)
else if (strstart(uri, "exec:", &p))
exec_start_incoming_migration(p);
ret = exec_start_incoming_migration(p);
else if (strstart(uri, "unix:", &p))
unix_start_incoming_migration(p);
ret = unix_start_incoming_migration(p);
else if (strstart(uri, "fd:", &p))
fd_start_incoming_migration(p);
ret = fd_start_incoming_migration(p);
#endif
else
else {
fprintf(stderr, "unknown migration protocol: %s\n", uri);
ret = -EPROTONOSUPPORT;
}
return ret;
}
int do_migrate(Monitor *mon, const QDict *qdict, QObject **ret_data)
......
......@@ -50,7 +50,7 @@ struct FdMigrationState
void *opaque;
};
void qemu_start_incoming_migration(const char *uri);
int qemu_start_incoming_migration(const char *uri);
int do_migrate(Monitor *mon, const QDict *qdict, QObject **ret_data);
......
......@@ -2975,7 +2975,12 @@ int main(int argc, char **argv, char **envp)
}
if (incoming) {
qemu_start_incoming_migration(incoming);
int ret = qemu_start_incoming_migration(incoming);
if (ret < 0) {
fprintf(stderr, "Migration failed. Exit code %s(%d), exiting.\n",
incoming, ret);
exit(ret);
}
} else if (autostart) {
vm_start();
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册