* Peter Xu (pet...@redhat.com) wrote: > 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") > Signed-off-by: Peter Xu <pet...@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <d...@treblig.org> > --- > migration/options.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/migration/options.c b/migration/options.c > index 3fcd577cd7..162c72cda4 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; > } > -- > 2.49.0 > -- -----Open up your eyes, open up your mind, open up your code ------- / Dr. David Alan Gilbert | Running GNU/Linux | Happy \ \ dave @ treblig.org | | In Hex / \ _________________________|_____ http://www.treblig.org |_______/