From: Prasad Pandit <p...@fedoraproject.org> Remove multifd capability check with Postcopy mode. This helps to enable both multifd and postcopy together.
Update migrate_multifd() to return false when migration reaches Postcopy phase. In Postcopy phase, source guest is paused, so the migration threads on the source stop sending/pushing data on the channels. The destination guest starts running and Postcopy threads there begin to request/pull data from the source side. Signed-off-by: Prasad Pandit <p...@fedoraproject.org> --- migration/options.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/migration/options.c b/migration/options.c index ad8d6989a8..47c5137d5f 100644 --- a/migration/options.c +++ b/migration/options.c @@ -266,7 +266,8 @@ bool migrate_multifd(void) { MigrationState *s = migrate_get_current(); - return s->capabilities[MIGRATION_CAPABILITY_MULTIFD]; + return s->capabilities[MIGRATION_CAPABILITY_MULTIFD] + && !migration_in_postcopy(); } bool migrate_pause_before_switchover(void) @@ -479,11 +480,6 @@ bool migrate_caps_check(bool *old_caps, bool *new_caps, Error **errp) error_setg(errp, "Postcopy is not compatible with ignore-shared"); return false; } - - if (new_caps[MIGRATION_CAPABILITY_MULTIFD]) { - error_setg(errp, "Postcopy is not yet compatible with multifd"); - return false; - } } if (new_caps[MIGRATION_CAPABILITY_BACKGROUND_SNAPSHOT]) { -- 2.47.0