Domains migrating or restoring should have viridian HVM param key in
the migration stream already and setting that twice results in Xen
returing -EEXIST on the second attempt later (during migration stream parsing)
in case the values don't match. That causes migration/restore operation
to fail at destination side.
That issue is now resurfaced by the latest commits (
983524671 and
7e5cffcd1e)
extending default viridian feature set making the values from the previous
migration streams and those set at domain construction different.
Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Igor Druzhinin <igor.druzhinin@citrix.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Release-Acked-by: Ian Jackson <iwj@xenproject.org>
(ret = hvm_set_conf_params(gc, domid, info)) != 0)
goto out;
- if (info->type == LIBXL_DOMAIN_TYPE_HVM &&
+ /* Viridian flags are already a part of the migration stream so set
+ * them here only for brand new domains. */
+ if (!state->restore &&
+ info->type == LIBXL_DOMAIN_TYPE_HVM &&
(ret = hvm_set_viridian_features(gc, domid, info)) != 0)
goto out;