提交 b5d17adb 编写于 作者: L Luiz Capitulino 提交者: Anthony Liguori

Monitor: Convert do_migrate() to cmd_new_ret()

While there I'm also dropping a unneeded else clause (the last
one in the function).
Signed-off-by: NLuiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
上级 053801bc
...@@ -54,7 +54,7 @@ void qemu_start_incoming_migration(const char *uri) ...@@ -54,7 +54,7 @@ void qemu_start_incoming_migration(const char *uri)
fprintf(stderr, "unknown migration protocol: %s\n", uri); fprintf(stderr, "unknown migration protocol: %s\n", uri);
} }
void do_migrate(Monitor *mon, const QDict *qdict, QObject **ret_data) int do_migrate(Monitor *mon, const QDict *qdict, QObject **ret_data)
{ {
MigrationState *s = NULL; MigrationState *s = NULL;
const char *p; const char *p;
...@@ -64,38 +64,43 @@ void do_migrate(Monitor *mon, const QDict *qdict, QObject **ret_data) ...@@ -64,38 +64,43 @@ void do_migrate(Monitor *mon, const QDict *qdict, QObject **ret_data)
if (current_migration && if (current_migration &&
current_migration->get_status(current_migration) == MIG_STATE_ACTIVE) { current_migration->get_status(current_migration) == MIG_STATE_ACTIVE) {
monitor_printf(mon, "migration already in progress\n"); monitor_printf(mon, "migration already in progress\n");
return; return -1;
} }
if (strstart(uri, "tcp:", &p)) if (strstart(uri, "tcp:", &p)) {
s = tcp_start_outgoing_migration(mon, p, max_throttle, detach, s = tcp_start_outgoing_migration(mon, p, max_throttle, detach,
(int)qdict_get_int(qdict, "blk"), (int)qdict_get_int(qdict, "blk"),
(int)qdict_get_int(qdict, "inc")); (int)qdict_get_int(qdict, "inc"));
#if !defined(WIN32) #if !defined(WIN32)
else if (strstart(uri, "exec:", &p)) } else if (strstart(uri, "exec:", &p)) {
s = exec_start_outgoing_migration(mon, p, max_throttle, detach, s = exec_start_outgoing_migration(mon, p, max_throttle, detach,
(int)qdict_get_int(qdict, "blk"), (int)qdict_get_int(qdict, "blk"),
(int)qdict_get_int(qdict, "inc")); (int)qdict_get_int(qdict, "inc"));
else if (strstart(uri, "unix:", &p)) } else if (strstart(uri, "unix:", &p)) {
s = unix_start_outgoing_migration(mon, p, max_throttle, detach, s = unix_start_outgoing_migration(mon, p, max_throttle, detach,
(int)qdict_get_int(qdict, "blk"), (int)qdict_get_int(qdict, "blk"),
(int)qdict_get_int(qdict, "inc")); (int)qdict_get_int(qdict, "inc"));
else if (strstart(uri, "fd:", &p)) } else if (strstart(uri, "fd:", &p)) {
s = fd_start_outgoing_migration(mon, p, max_throttle, detach, s = fd_start_outgoing_migration(mon, p, max_throttle, detach,
(int)qdict_get_int(qdict, "blk"), (int)qdict_get_int(qdict, "blk"),
(int)qdict_get_int(qdict, "inc")); (int)qdict_get_int(qdict, "inc"));
#endif #endif
else } else {
monitor_printf(mon, "unknown migration protocol: %s\n", uri); monitor_printf(mon, "unknown migration protocol: %s\n", uri);
return -1;
}
if (s == NULL) if (s == NULL) {
monitor_printf(mon, "migration failed\n"); monitor_printf(mon, "migration failed\n");
else { return -1;
if (current_migration) }
current_migration->release(current_migration);
current_migration = s; if (current_migration) {
current_migration->release(current_migration);
} }
current_migration = s;
return 0;
} }
int do_migrate_cancel(Monitor *mon, const QDict *qdict, QObject **ret_data) int do_migrate_cancel(Monitor *mon, const QDict *qdict, QObject **ret_data)
......
...@@ -52,7 +52,7 @@ struct FdMigrationState ...@@ -52,7 +52,7 @@ struct FdMigrationState
void qemu_start_incoming_migration(const char *uri); void qemu_start_incoming_migration(const char *uri);
void do_migrate(Monitor *mon, const QDict *qdict, QObject **ret_data); int do_migrate(Monitor *mon, const QDict *qdict, QObject **ret_data);
int do_migrate_cancel(Monitor *mon, const QDict *qdict, QObject **ret_data); int do_migrate_cancel(Monitor *mon, const QDict *qdict, QObject **ret_data);
......
...@@ -773,7 +773,7 @@ ETEXI ...@@ -773,7 +773,7 @@ ETEXI
"shared storage with incremental copy of disk " "shared storage with incremental copy of disk "
"(base image shared between src and destination)", "(base image shared between src and destination)",
.user_print = monitor_user_noop, .user_print = monitor_user_noop,
.mhandler.cmd_new = do_migrate, .cmd_new_ret = do_migrate,
}, },
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册