Call MIG_EVENT_PRECOPY_SETUP earlier, before CPR starts. An early notifier is needed for resetting vhost devices, as explained in the next patch.
Signed-off-by: Steve Sistare <steven.sist...@oracle.com> --- migration/migration.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/migration/migration.c b/migration/migration.c index 2efe60a..49d1e7d 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -2259,7 +2259,14 @@ void qmp_migrate(const char *uri, bool has_channels, stopped = true; } + /* Notify before starting migration thread, and before starting cpr */ + if (!resume_requested && + migration_call_notifiers(s, MIG_EVENT_PRECOPY_SETUP, &local_err)) { + goto out; + } + if (cpr_state_save(cpr_channel, &local_err)) { + migration_call_notifiers(s, MIG_EVENT_PRECOPY_FAILED, NULL); goto out; } @@ -4010,11 +4017,6 @@ void migration_connect(MigrationState *s, Error *error_in) } else { /* This is a fresh new migration */ rate_limit = migrate_max_bandwidth(); - - /* Notify before starting migration thread */ - if (migration_call_notifiers(s, MIG_EVENT_PRECOPY_SETUP, &local_err)) { - goto fail; - } } migration_rate_set(rate_limit); -- 1.8.3.1