bool migration_is_device(void);
bool migration_thread_is_self(void);
bool migration_is_setup_or_active(void);
-bool migrate_mode_is_cpr(MigrationState *);
typedef enum MigrationEventType {
MIG_EVENT_PRECOPY_SETUP,
MigrationNotifyFunc func, MigMode mode);
void migration_remove_notifier(NotifierWithReturn *notify);
-int migration_call_notifiers(MigrationState *s, MigrationEventType type,
- Error **errp);
-bool migration_has_failed(MigrationState *);
bool migration_is_running(void);
void migration_file_set_error(int err);
/* True if incoming migration entered POSTCOPY_INCOMING_DISCARD */
bool migration_in_incoming_postcopy(void);
+
/* True if incoming migration entered POSTCOPY_INCOMING_ADVISE */
bool migration_incoming_postcopy_advised(void);
+
/* True if background snapshot is active */
bool migration_in_bg_snapshot(void);
#include "qom/object.h"
#include "postcopy-ram.h"
#include "sysemu/runstate.h"
+#include "migration/misc.h"
struct PostcopyBlocktimeContext;
void migrate_fd_connect(MigrationState *s, Error *error_in);
+int migration_call_notifiers(MigrationState *s, MigrationEventType type,
+ Error **errp);
+
int migrate_init(MigrationState *s, Error **errp);
bool migration_is_blocked(Error **errp);
/* True if outgoing migration has entered postcopy phase */
bool migration_in_postcopy(void);
bool migration_postcopy_is_alive(int state);
MigrationState *migrate_get_current(void);
+bool migration_has_failed(MigrationState *);
+bool migrate_mode_is_cpr(MigrationState *);
uint64_t ram_get_total_transferred_pages(void);