[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v2] libxl/arm: fix guest type conversion



Hi,

On 11/1/18 1:33 PM, Wei Liu wrote:
Commit 359970fd8b ("tools/libxl: Switch Arm guest type to PVH") missed
changing the type field in c_info. This issue didn't surface until
ef72c93df9 which made creating PV guest on Arm unusable.

Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
Tested-by: Julien Grall <julien.grall@xxxxxxx>

FWIW:

Reviewed-by: Julien Grall <julien.grall@xxxxxxx>

Cheers,

---
Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx>
Cc: Julien Grall <julien.grall@xxxxxxx>

v2: avoid duplicating error messages.

This should fix libvirt breakage.
---
  tools/libxl/libxl_arm.c    |  4 +---
  tools/libxl/libxl_create.c | 10 ++++++++++
  2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/tools/libxl/libxl_arm.c b/tools/libxl/libxl_arm.c
index 25dc3defc6..6f2dcab489 100644
--- a/tools/libxl/libxl_arm.c
+++ b/tools/libxl/libxl_arm.c
@@ -1128,9 +1128,7 @@ void libxl__arch_domain_build_info_setdefault(libxl__gc 
*gc,
      if (b_info->type != LIBXL_DOMAIN_TYPE_PV)
          return;
- LOG(WARN, "Converting PV guest to PVH.");
-    LOG(WARN, "Arm guest are now PVH.");
-    LOG(WARN, "Please fix your configuration file/toolstack.");
+    LOG(DEBUG, "Converting build_info to PVH");
/* Re-initialize type to PVH and all associated fields to defaults. */
      memset(&b_info->u, '\0', sizeof(b_info->u));
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 4bb750e951..311957f87c 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -35,6 +35,16 @@ int libxl__domain_create_info_setdefault(libxl__gc *gc,
          return ERROR_INVAL;
      }
+#if defined(__arm__) || defined(__aarch64__)
+    if (c_info->type == LIBXL_DOMAIN_TYPE_PV) {
+        LOG(WARN, "Converting PV guest to PVH.");
+        LOG(WARN, "Arm guest are now PVH.");
+        LOG(WARN, "Please fix your configuration file/toolstack.");
+
+        c_info->type = LIBXL_DOMAIN_TYPE_PVH;
+    }
+#endif
+
      if (c_info->type != LIBXL_DOMAIN_TYPE_PV) {
          libxl_defbool_setdefault(&c_info->hap, true);
          libxl_defbool_setdefault(&c_info->oos, true);


--
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.