From b9c961a8ff3973b97964431491bc3f4f427cd66a Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Thu, 20 Dec 2012 11:29:03 +0100 Subject: migration: make function static Signed-off-by: Paolo Bonzini Signed-off-by: Juan Quintela Reviewed-by: Reviewed-by: Eric Blake --- include/migration/migration.h | 2 -- 1 file changed, 2 deletions(-) (limited to 'include') diff --git a/include/migration/migration.h b/include/migration/migration.h index 2d5b630cce..95261c1886 100644 --- a/include/migration/migration.h +++ b/include/migration/migration.h @@ -87,8 +87,6 @@ void migrate_fd_error(MigrationState *s); void migrate_fd_connect(MigrationState *s); -ssize_t migrate_fd_put_buffer(MigrationState *s, const void *data, - size_t size); int migrate_fd_close(MigrationState *s); void add_migration_state_change_notifier(Notifier *notify); -- cgit v1.2.3-55-g7522 From 76f5933aea281a52149b39a1a78a43565dc9715c Mon Sep 17 00:00:00 2001 From: Juan Quintela Date: Wed, 3 Oct 2012 20:16:24 +0200 Subject: migration: move beginning stage to the migration thread Signed-off-by: Juan Quintela Reviewed-by: Reviewed-by: Eric Blake Reviewed-by: Paolo Bonzini --- include/migration/migration.h | 1 - migration.c | 28 +++++++++++++++------------- 2 files changed, 15 insertions(+), 14 deletions(-) (limited to 'include') diff --git a/include/migration/migration.h b/include/migration/migration.h index 95261c1886..a8c9639732 100644 --- a/include/migration/migration.h +++ b/include/migration/migration.h @@ -54,7 +54,6 @@ struct MigrationState bool enabled_capabilities[MIGRATION_CAPABILITY_MAX]; int64_t xbzrle_cache_size; bool complete; - bool first_time; }; void process_incoming_migration(QEMUFile *f); diff --git a/migration.c b/migration.c index 380f3cb618..7ae1d939d6 100644 --- a/migration.c +++ b/migration.c @@ -674,17 +674,6 @@ static bool migrate_fd_put_ready(MigrationState *s, uint64_t max_size) qemu_mutex_unlock_iothread(); return false; } - if (s->first_time) { - s->first_time = false; - DPRINTF("beginning savevm\n"); - ret = qemu_savevm_state_begin(s->file, &s->params); - if (ret < 0) { - DPRINTF("failed, %d\n", ret); - migrate_fd_error(s); - qemu_mutex_unlock_iothread(); - return false; - } - } DPRINTF("iterate\n"); pending_size = qemu_savevm_state_pending(s->file, max_size); @@ -733,6 +722,17 @@ static void *buffered_file_thread(void *opaque) int64_t initial_time = qemu_get_clock_ms(rt_clock); int64_t max_size = 0; bool last_round = false; + int ret; + + qemu_mutex_lock_iothread(); + DPRINTF("beginning savevm\n"); + ret = qemu_savevm_state_begin(s->file, &s->params); + if (ret < 0) { + DPRINTF("failed, %d\n", ret); + qemu_mutex_unlock_iothread(); + goto out; + } + qemu_mutex_unlock_iothread(); while (true) { int64_t current_time = qemu_get_clock_ms(rt_clock); @@ -768,6 +768,10 @@ static void *buffered_file_thread(void *opaque) } } +out: + if (ret < 0) { + migrate_fd_error(s); + } g_free(s->buffer); return NULL; } @@ -789,8 +793,6 @@ void migrate_fd_connect(MigrationState *s) s->buffer_size = 0; s->buffer_capacity = 0; - s->first_time = true; - s->xfer_limit = s->bandwidth_limit / XFER_LIMIT_RATIO; s->complete = false; -- cgit v1.2.3-55-g7522 From 6522773f88a2e37800f0bf7dc3632a14649f53c6 Mon Sep 17 00:00:00 2001 From: Juan Quintela Date: Mon, 14 Jan 2013 14:14:42 +0100 Subject: migration: remove argument to qemu_savevm_state_cancel Signed-off-by: Juan Quintela Reviewed-by: Reviewed-by: Eric Blake Reviewed-by: Paolo Bonzini --- include/sysemu/sysemu.h | 2 +- migration.c | 2 +- savevm.c | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) (limited to 'include') diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h index c07d4ee458..d65a9f1195 100644 --- a/include/sysemu/sysemu.h +++ b/include/sysemu/sysemu.h @@ -77,7 +77,7 @@ int qemu_savevm_state_begin(QEMUFile *f, const MigrationParams *params); int qemu_savevm_state_iterate(QEMUFile *f); int qemu_savevm_state_complete(QEMUFile *f); -void qemu_savevm_state_cancel(QEMUFile *f); +void qemu_savevm_state_cancel(void); uint64_t qemu_savevm_state_pending(QEMUFile *f, uint64_t max_size); int qemu_loadvm_state(QEMUFile *f); diff --git a/migration.c b/migration.c index fe1a103abe..77c1971b77 100644 --- a/migration.c +++ b/migration.c @@ -330,7 +330,7 @@ static void migrate_fd_cancel(MigrationState *s) s->state = MIG_STATE_CANCELLED; notifier_list_notify(&migration_state_notifiers, s); - qemu_savevm_state_cancel(s->file); + qemu_savevm_state_cancel(); migrate_fd_cleanup(s); } diff --git a/savevm.c b/savevm.c index 611e997d42..913a6235ab 100644 --- a/savevm.c +++ b/savevm.c @@ -1590,13 +1590,13 @@ int qemu_savevm_state_begin(QEMUFile *f, ret = se->ops->save_live_setup(f, se->opaque); if (ret < 0) { - qemu_savevm_state_cancel(f); + qemu_savevm_state_cancel(); return ret; } } ret = qemu_file_get_error(f); if (ret != 0) { - qemu_savevm_state_cancel(f); + qemu_savevm_state_cancel(); } return ret; @@ -1647,7 +1647,7 @@ int qemu_savevm_state_iterate(QEMUFile *f) } ret = qemu_file_get_error(f); if (ret != 0) { - qemu_savevm_state_cancel(f); + qemu_savevm_state_cancel(); } return ret; } @@ -1727,7 +1727,7 @@ uint64_t qemu_savevm_state_pending(QEMUFile *f, uint64_t max_size) return ret; } -void qemu_savevm_state_cancel(QEMUFile *f) +void qemu_savevm_state_cancel(void) { SaveStateEntry *se; -- cgit v1.2.3-55-g7522