X-Git-Url: http://git.maemo.org/git/?p=qemu;a=blobdiff_plain;f=migration.c;fp=migration.c;h=401383cf0aee45ca2e8505db5a160ea96a2053b8;hp=859d9454344d97e0e494c972add00bef59c6595b;hb=759b334a9739814df2883aa4c41b1c0f5670e90a;hpb=7e2198fc87e878b8ce5df965477e21713ebf7834 diff --git a/migration.c b/migration.c index 859d945..401383c 100644 --- a/migration.c +++ b/migration.c @@ -84,6 +84,7 @@ void do_migrate_set_speed(Monitor *mon, const char *value) { double d; char *ptr; + FdMigrationState *s; d = strtod(value, &ptr); switch (*ptr) { @@ -98,6 +99,12 @@ void do_migrate_set_speed(Monitor *mon, const char *value) } max_throttle = (uint32_t)d; + s = migrate_to_fms(current_migration); + + if (s) { + qemu_file_set_rate_limit(s->file, max_throttle); + } + } void do_info_migrate(Monitor *mon) @@ -109,6 +116,9 @@ void do_info_migrate(Monitor *mon) switch (s->get_status(s)) { case MIG_STATE_ACTIVE: monitor_printf(mon, "active\n"); + monitor_printf(mon, "transferred ram: %" PRIu64 " kbytes\n", ram_bytes_transferred() >> 10); + monitor_printf(mon, "remaining ram: %" PRIu64 " kbytes\n", ram_bytes_remaining() >> 10); + monitor_printf(mon, "total ram: %" PRIu64 " kbytes\n", ram_bytes_total() >> 10); break; case MIG_STATE_COMPLETED: monitor_printf(mon, "completed\n"); @@ -176,7 +186,7 @@ ssize_t migrate_fd_put_buffer(void *opaque, const void *data, size_t size) do { ret = s->write(s, data, size); - } while (ret == -1 && ((s->get_error(s)) == EINTR || (s->get_error(s)) == EWOULDBLOCK)); + } while (ret == -1 && ((s->get_error(s)) == EINTR)); if (ret == -1) ret = -(s->get_error(s));