]> xenbits.xensource.com Git - xen.git/commitdiff
tools/libxl: only set viridian flags on new domains
authorIgor Druzhinin <igor.druzhinin@citrix.com>
Wed, 3 Feb 2021 20:07:04 +0000 (20:07 +0000)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Mon, 8 Feb 2021 12:26:44 +0000 (12:26 +0000)
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>
tools/libs/light/libxl_x86.c

index 91169d1045be6074a01168eda1ad567a6b505b79..58187ed760e2d4350a3916b1b78c684c5ef410ce 100644 (file)
@@ -468,7 +468,10 @@ int libxl__arch_domain_create(libxl__gc *gc,
         (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;