]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
libxl: add API wrapper for libxl_set_vcpuonline
authorOlaf Hering <olaf@aepfle.de>
Thu, 25 Mar 2021 16:26:09 +0000 (17:26 +0100)
committerJim Fehlig <jfehlig@suse.com>
Thu, 1 Apr 2021 20:01:06 +0000 (14:01 -0600)
Upcoming changes will use different LIBXL_API_VERSION variants.

Prepare libxl_set_vcpuonline, which got a new parameter
"ao_how" in Xen 4.12. libvirt does not use this parameter.

No functional change intended.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
src/libxl/libxl_api_wrapper.h
src/libxl/libxl_driver.c

index a400bbd5a30438da5f2f1b28ce64a8eeeb72e2ed..047089ed25a48b15e75c03b91f3a1a4f68062a26 100644 (file)
@@ -157,3 +157,17 @@ libxlGetFreeMemoryWrapper(libxl_ctx *ctx, uint64_t *memkb)
 
     return ret;
 }
+
+static inline int
+libxlSetVcpuonlineWrapper(libxl_ctx *ctx, uint32_t domid, libxl_bitmap *cpumap)
+{
+    int ret;
+
+#if LIBXL_API_VERSION < 0x041300
+    ret = libxl_set_vcpuonline(ctx, domid, cpumap);
+#else
+    ret = libxl_set_vcpuonline(ctx, domid, cpumap, NULL);
+#endif
+
+    return ret;
+}
index ca5d48cf63efbe8fba6f1941f9273752279c4fae..f66c8b949afc68d0ab18deade69064372fdfa970 100644 (file)
@@ -2331,7 +2331,7 @@ libxlDomainSetVcpusFlags(virDomainPtr dom, unsigned int nvcpus,
         break;
 
     case VIR_DOMAIN_VCPU_LIVE:
-        if (libxl_set_vcpuonline(cfg->ctx, vm->def->id, &map) != 0) {
+        if (libxlSetVcpuonlineWrapper(cfg->ctx, vm->def->id, &map) != 0) {
             virReportError(VIR_ERR_INTERNAL_ERROR,
                            _("Failed to set vcpus for domain '%d'"
                              " with libxenlight"), vm->def->id);
@@ -2342,7 +2342,7 @@ libxlDomainSetVcpusFlags(virDomainPtr dom, unsigned int nvcpus,
         break;
 
     case VIR_DOMAIN_VCPU_LIVE | VIR_DOMAIN_VCPU_CONFIG:
-        if (libxl_set_vcpuonline(cfg->ctx, vm->def->id, &map) != 0) {
+        if (libxlSetVcpuonlineWrapper(cfg->ctx, vm->def->id, &map) != 0) {
             virReportError(VIR_ERR_INTERNAL_ERROR,
                            _("Failed to set vcpus for domain '%d'"
                              " with libxenlight"), vm->def->id);