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

Re: [Xen-devel] [PATCH] libxl: check nesthvm and altp2m in libxl level



>From: Wei Liu [mailto:wei.liu2@xxxxxxxxxx]
>Sent: Friday, July 24, 2015 8:40 AM
>
>In ea214001 ("x86/altp2m: add altp2mhvm HVM domain parameter"), a check
>was added to ensure nestedhvm and altp2m cannot be enabled at the same
>time. That check was added in xl, but in fact it should be in libxl because it
>should be the entity that decides whether the provided configuration is valid.
>
>This patch moves the check to libxl. The code snippet is moved after calling
>libxl__domain_build_info_setdefault so that we can:
>1. remove libxl_defbool_is_default in `if()'; 2. detect mistake in
>libxl__domain_build_info_setdefault.
>
>Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
>---
>Cc: Ed White <edmund.h.white@xxxxxxxxx>
>Cc: "Sahita, Ravi" <ravi.sahita@xxxxxxxxx>
>
>I said I discovered an issue during review but also volunteered to fix it after
>the series is merged. Here is the patch to do that.
>---
> tools/libxl/libxl_create.c | 6 ++++++
> tools/libxl/xl_cmdimpl.c   | 8 --------
> 2 files changed, 6 insertions(+), 8 deletions(-)
>
>diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c index
>855b42c..de536ba 100644
>--- a/tools/libxl/libxl_create.c
>+++ b/tools/libxl/libxl_create.c
>@@ -883,6 +883,12 @@ static void initiate_domain_create(libxl__egc *egc,
>         goto error_out;
>     }
>
>+    if (libxl_defbool_val(d_config->b_info.u.hvm.nested_hvm) &&
>+        libxl_defbool_val(d_config->b_info.u.hvm.altp2m)) {
>+        LOG(ERROR, "nestedhvm and altp2mhvm cannot be used together");
>+        goto error_out;
>+    }
>+
>     for (i = 0; i < d_config->num_disks; i++) {
>         ret = libxl__device_disk_setdefault(gc, &d_config->disks[i]);
>         if (ret) {
>diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c index
>d0bf0cb..9755d55 100644
>--- a/tools/libxl/xl_cmdimpl.c
>+++ b/tools/libxl/xl_cmdimpl.c
>@@ -1568,14 +1568,6 @@ static void parse_config_data(const char
>*config_source,
>
>         xlu_cfg_get_defbool(config, "altp2mhvm", &b_info->u.hvm.altp2m, 0);
>
>-        if (!libxl_defbool_is_default(b_info->u.hvm.nested_hvm) &&
>-            libxl_defbool_val(b_info->u.hvm.nested_hvm) &&
>-            !libxl_defbool_is_default(b_info->u.hvm.altp2m) &&
>-            libxl_defbool_val(b_info->u.hvm.altp2m)) {
>-            fprintf(stderr, "ERROR: nestedhvm and altp2mhvm cannot be used
>together\n");
>-            exit(1);
>-        }
>-
>         xlu_cfg_replace_string(config, "smbios_firmware",
>                                &b_info->u.hvm.smbios_firmware, 0);
>         xlu_cfg_replace_string(config, "acpi_firmware",
>--
>2.1.4

Thanks Wei

Ravi

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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