|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen staging] libxl: fix libxl_domain_need_memory after 899433f149d
commit 278c64519c661c851d37e2a929f006fb8a1dcd01
Author: Wei Liu <wei.liu2@xxxxxxxxxx>
AuthorDate: Fri May 17 18:05:55 2019 +0100
Commit: Wei Liu <wei.liu2@xxxxxxxxxx>
CommitDate: Mon May 20 15:14:14 2019 +0100
libxl: fix libxl_domain_need_memory after 899433f149d
After 899433f149d libxl needs to know the content of d_config to
determine which QEMU is used. The code is changed such that
libxl__domain_set_device_model needs to be called before
libxl__domain_build_info_setdefault.
This is fine for libxl code, but it is problematic for
libxl_domain_need_memory, which is the only public API that takes a
build_info. To avoid breaking its users, provide a compatibility
setting inside that function.
Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
Reviewed-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
Acked-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---
tools/libxl/libxl_mem.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/tools/libxl/libxl_mem.c b/tools/libxl/libxl_mem.c
index 448a2af8fd..4446754186 100644
--- a/tools/libxl/libxl_mem.c
+++ b/tools/libxl/libxl_mem.c
@@ -457,6 +457,24 @@ int libxl_domain_need_memory(libxl_ctx *ctx,
libxl_domain_build_info_init(b_info);
libxl_domain_build_info_copy(ctx, b_info, b_info_in);
+ /*
+ * It has become a requirement that to figure out which QEMU to
+ * use, libxl will need to peek d_config's content. The code has
+ * been changed such that one will need to call
+ * libxl__domain_set_device_model before calling
+ * libxl__domain_build_info_setdefault inside libxl.
+ *
+ * This (problematic) public API is the only one which takes a
+ * b_info. Imposing the same requirement on the users of this
+ * public API will break them.
+ *
+ * Provide a compatibility setting for this function. The
+ * calculation doesn't really care which QEMU is set here, so we
+ * go with the upstream default.
+ */
+ if (!b_info->device_model_version)
+ b_info->device_model_version = LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN;
+
rc = libxl__domain_build_info_setdefault(gc, b_info);
if (rc) goto out;
--
generated by git-patchbot for /home/xen/git/xen.git#staging
_______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |