diff options
author | Peter Xu <peterx@redhat.com> | 2025-05-13 17:33:16 -0400 |
---|---|---|
committer | Peter Xu <peterx@redhat.com> | 2025-05-20 13:05:22 -0400 |
commit | 17bec9235bb0775cf8dec4103c167757ee8898f3 (patch) | |
tree | 85197b153ff2bcf58f9a916d164d08cf483b0754 | |
parent | 6be7696129b302830a9cff7e30484e08c2d64b57 (diff) | |
download | qemu-17bec9235bb0775cf8dec4103c167757ee8898f3.zip qemu-17bec9235bb0775cf8dec4103c167757ee8898f3.tar.gz qemu-17bec9235bb0775cf8dec4103c167757ee8898f3.tar.bz2 |
migration: Allow caps to be set when preempt or multifd cap enabled
With commit 82137e6c8c ("migration: enforce multifd and postcopy preempt to
be set before incoming"), and if postcopy preempt / multifd is enabled, one
cannot setup any capability because these checks would always fail.
(qemu) migrate_set_capability xbzrle off
Error: Postcopy preempt must be set before incoming starts
To fix it, check existing cap and only raise an error if the specific cap
changed.
Fixes: 82137e6c8c ("migration: enforce multifd and postcopy preempt to be set before incoming")
Reviewed-by: Dr. David Alan Gilbert <dave@treblig.org>
Reviewed-by: Juraj Marcin <jmarcin@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
-rw-r--r-- | migration/options.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/migration/options.c b/migration/options.c index 3fcd577..162c72c 100644 --- a/migration/options.c +++ b/migration/options.c @@ -568,7 +568,7 @@ bool migrate_caps_check(bool *old_caps, bool *new_caps, Error **errp) return false; } - if (migrate_incoming_started()) { + if (!migrate_postcopy_preempt() && migrate_incoming_started()) { error_setg(errp, "Postcopy preempt must be set before incoming starts"); return false; @@ -576,7 +576,7 @@ bool migrate_caps_check(bool *old_caps, bool *new_caps, Error **errp) } if (new_caps[MIGRATION_CAPABILITY_MULTIFD]) { - if (migrate_incoming_started()) { + if (!migrate_multifd() && migrate_incoming_started()) { error_setg(errp, "Multifd must be set before incoming starts"); return false; } |