]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
libxl: add API wrapper for libxl_domain_unpause
authorOlaf Hering <olaf@aepfle.de>
Thu, 25 Mar 2021 16:26:06 +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_domain_unpause, 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_domain.c
src/libxl/libxl_driver.c
src/libxl/libxl_migration.c

index c912aabadbe9e8b81dd14e6c2a11f3e3d3e29415..13200cfec69db6727c95e00d23b29df144f1207c 100644 (file)
@@ -100,3 +100,17 @@ libxlDomainPauseWrapper(libxl_ctx *ctx, uint32_t domid)
 
     return ret;
 }
+
+static inline int
+libxlDomainUnpauseWrapper(libxl_ctx *ctx, uint32_t domid)
+{
+    int ret;
+
+#if LIBXL_API_VERSION < 0x041300
+    ret = libxl_domain_unpause(ctx, domid);
+#else
+    ret = libxl_domain_unpause(ctx, domid, NULL);
+#endif
+
+    return ret;
+}
index 809108fd7dc388c511683954268a2f765c3b4142..a034fe221934451cd912d39016c1e5c822e6d7d5 100644 (file)
@@ -594,7 +594,7 @@ libxlDomainShutdownThread(void *opaque)
             goto endjob;
         }
         libxl_evenable_domain_death(cfg->ctx, vm->def->id, 0, &priv->deathW);
-        libxl_domain_unpause(cfg->ctx, vm->def->id);
+        libxlDomainUnpauseWrapper(cfg->ctx, vm->def->id);
 #endif
     } else {
         VIR_INFO("Unhandled shutdown_reason %d", xl_reason);
@@ -1459,7 +1459,7 @@ libxlDomainStart(libxlDriverPrivatePtr driver,
         goto destroy_dom;
 
     if (!start_paused) {
-        libxl_domain_unpause(cfg->ctx, domid);
+        libxlDomainUnpauseWrapper(cfg->ctx, domid);
         virDomainObjSetState(vm, VIR_DOMAIN_RUNNING, VIR_DOMAIN_RUNNING_BOOTED);
     } else {
         virDomainObjSetState(vm, VIR_DOMAIN_PAUSED, VIR_DOMAIN_PAUSED_USER);
index 05d32513ad3376aed94dd5076320cf58610caeab..ca5d48cf63efbe8fba6f1941f9273752279c4fae 100644 (file)
@@ -1238,7 +1238,7 @@ libxlDomainResume(virDomainPtr dom)
         goto endjob;
 
     if (virDomainObjGetState(vm, NULL) == VIR_DOMAIN_PAUSED) {
-        if (libxl_domain_unpause(cfg->ctx, vm->def->id) != 0) {
+        if (libxlDomainUnpauseWrapper(cfg->ctx, vm->def->id) != 0) {
             virReportError(VIR_ERR_INTERNAL_ERROR,
                            _("Failed to resume domain '%d' with libxenlight"),
                            vm->def->id);
@@ -2091,7 +2091,7 @@ libxlDomainCoreDump(virDomainPtr dom, const char *to, unsigned int flags)
 
  unpause:
     if (virDomainObjIsActive(vm) && paused) {
-        if (libxl_domain_unpause(cfg->ctx, vm->def->id) != 0) {
+        if (libxlDomainUnpauseWrapper(cfg->ctx, vm->def->id) != 0) {
             virReportError(VIR_ERR_INTERNAL_ERROR,
                            _("After dumping core, failed to resume domain '%d' with"
                              " libxenlight"), vm->def->id);
index cb474123ea0313c8f62099b5b2457af75b40a239..39d83cd26ccf9fc5ff770b6bc14d3d2ba41024b9 100644 (file)
@@ -34,6 +34,7 @@
 #include "virthread.h"
 #include "virhook.h"
 #include "rpc/virnetsocket.h"
+#include "libxl_api_wrapper.h"
 #include "libxl_domain.h"
 #include "libxl_driver.h"
 #include "libxl_conf.h"
@@ -1296,7 +1297,7 @@ libxlDomainMigrationDstFinish(virConnectPtr dconn,
 
     /* Unpause if requested */
     if (!(flags & VIR_MIGRATE_PAUSED)) {
-        if (libxl_domain_unpause(cfg->ctx, vm->def->id) != 0) {
+        if (libxlDomainUnpauseWrapper(cfg->ctx, vm->def->id) != 0) {
             virReportError(VIR_ERR_OPERATION_FAILED, "%s",
                            _("Failed to unpause domain"));
             goto cleanup;