@@ -36,12 +36,14 @@ static uint32_t max_throttle = (32 << 20);
static MigrationState *current_migration;
+static int incoming;
+
void qemu_start_incoming_migration(const char *uri)
{
const char *p;
if (strstart(uri, "tcp:", &p))
- tcp_start_incoming_migration(p);
+ current_migration = tcp_start_incoming_migration(p);
#if !defined(WIN32)
else if (strstart(uri, "exec:", &p))
exec_start_incoming_migration(p);
@@ -50,8 +52,12 @@ void qemu_start_incoming_migration(const char *uri)
else if (strstart(uri, "fd:", &p))
fd_start_incoming_migration(p);
#endif
- else
+ else {
fprintf(stderr, "unknown migration protocol: %s\n", uri);
+ return;
+ }
+
+ incoming = 1;
}
int do_migrate(Monitor *mon, const QDict *qdict, QObject **ret_data)
@@ -162,8 +168,12 @@ static void migrate_print_status(Monitor *mon, const char *name,
monitor_printf(mon, "transferred %s: %" PRIu64 " kbytes\n", name,
qdict_get_int(qdict, "transferred") >> 10);
- monitor_printf(mon, "remaining %s: %" PRIu64 " kbytes\n", name,
- qdict_get_int(qdict, "remaining") >> 10);
+ if (incoming) {
+ monitor_printf(mon, "remaining %s: n/a\n", name);
+ } else {
+ monitor_printf(mon, "remaining %s: %" PRIu64 " kbytes\n", name,
+ qdict_get_int(qdict, "remaining") >> 10);
+ }
monitor_printf(mon, "total %s: %" PRIu64 " kbytes\n", name,
qdict_get_int(qdict, "total") >> 10);
}
Set current_migration after calling tcp_star_incoming_migration(). On incoming side, we don't have to print remaining rams, so introduce incoming flag to switch messages. Signed-off-by: Yoshiaki Tamura <tamura.yoshiaki@lab.ntt.co.jp> --- migration.c | 18 ++++++++++++++---- 1 files changed, 14 insertions(+), 4 deletions(-)