summary refs log tree commit diff stats
path: root/migration.h
diff options
context:
space:
mode:
authorAnthony Liguori <aliguori@us.ibm.com>2012-10-22 13:26:23 -0500
committerAnthony Liguori <aliguori@us.ibm.com>2012-10-22 13:26:23 -0500
commitf526f3c315d7c3ff7b7db39ae3a49f91d3a9986b (patch)
treedd24e41606c7bd9b53513571ed3b7864d71d237c /migration.h
parentd3e2efc5b540c4e99ed5bcc0db3b1158ef52af43 (diff)
parentaa723c23147e93fef8475bd80fd29e633378c34d (diff)
downloadfocaccia-qemu-f526f3c315d7c3ff7b7db39ae3a49f91d3a9986b.tar.gz
focaccia-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);