summaryrefslogtreecommitdiffstats
path: root/migration.h
diff options
context:
space:
mode:
authorAnthony Liguori2012-10-22 20:26:23 +0200
committerAnthony Liguori2012-10-22 20:26:23 +0200
commitf526f3c315d7c3ff7b7db39ae3a49f91d3a9986b (patch)
treedd24e41606c7bd9b53513571ed3b7864d71d237c /migration.h
parentMerge remote-tracking branch 'qemu-kvm/memory/dma' into staging (diff)
parentcpus: create qemu_in_vcpu_thread() (diff)
downloadqemu-f526f3c315d7c3ff7b7db39ae3a49f91d3a9986b.tar.gz
qemu-f526f3c315d7c3ff7b7db39ae3a49f91d3a9986b.tar.xz
qemu-f526f3c315d7c3ff7b7db39ae3a49f91d3a9986b.zip
Merge remote-tracking branch 'quintela/migration-next-20121017' into staging
* quintela/migration-next-20121017: (41 commits) cpus: create qemu_in_vcpu_thread() savevm: make qemu_file_put_notify() return errors savevm: un-export qemu_file_set_error() block-migration: handle errors with the return codes correctly block-migration: Switch meaning of return value block-migration: make flush_blks() return errors buffered_file: buffered_put_buffer() don't need to set last_error savevm: Only qemu_fflush() can generate errors savevm: make qemu_fill_buffer() be consistent savevm: unexport qemu_ftell() savevm: unfold qemu_fclose_internal() savevm: make qemu_fflush() return an error code savevm: Remove qemu_fseek() virtio-net: use qemu_get_buffer() in a temp buffer savevm: unexport qemu_fflush migration: make migrate_fd_wait_for_unfreeze() return errors buffered_file: make buffered_flush return the error code buffered_file: callers of buffered_flush() already check for errors buffered_file: We can access directly to bandwidth_limit buffered_file: unfold migrate_fd_close ...
Diffstat (limited to 'migration.h')
-rw-r--r--migration.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/migration.h b/migration.h
index a9852fcae0..1c3e9b750e 100644
--- a/migration.h
+++ b/migration.h
@@ -40,6 +40,9 @@ struct MigrationState
void *opaque;
MigrationParams params;
int64_t total_time;
+ int64_t downtime;
+ int64_t expected_downtime;
+ int64_t dirty_pages_rate;
bool enabled_capabilities[MIGRATION_CAPABILITY_MAX];
int64_t xbzrle_cache_size;
};
@@ -75,11 +78,18 @@ 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);
+void migrate_fd_put_ready(MigrationState *s);
+int migrate_fd_wait_for_unfreeze(MigrationState *s);
+int migrate_fd_close(MigrationState *s);
+
void add_migration_state_change_notifier(Notifier *notify);
void remove_migration_state_change_notifier(Notifier *notify);
bool migration_is_active(MigrationState *);
bool migration_has_finished(MigrationState *);
bool migration_has_failed(MigrationState *);
+MigrationState *migrate_get_current(void);
uint64_t ram_bytes_remaining(void);
uint64_t ram_bytes_transferred(void);