File suse-bump-xen-version.patch of Package libvirt

Bump minimum supported Xen version to 4.9

There were no changes to the libxl API between 4.8 and 4.9, so
the LIBXL_API_VERSION is set to 0x040800.

Note: xen.git commit c3999835df is needed in any Xen package where
this patch is expected to work. It is included in Xen 4.13, but would
need backporting to anything older. The dependency on xen.git commit
c3999835df makes it hard to upstream this patch.

See bsc#1157490 and bsc#1167007 for more details
Index: libvirt-7.0.0/src/libxl/libxl_conf.c
===================================================================
--- libvirt-7.0.0.orig/src/libxl/libxl_conf.c
+++ libvirt-7.0.0/src/libxl/libxl_conf.c
@@ -1827,7 +1827,7 @@ libxlDriverConfigNew(void)
 int
 libxlDriverConfigInit(libxlDriverConfigPtr cfg)
 {
-    unsigned int free_mem;
+    uint64_t free_mem;
 
     if (virFileMakePath(cfg->logDir) < 0) {
         virReportError(VIR_ERR_INTERNAL_ERROR,
Index: libvirt-7.0.0/src/libxl/libxl_domain.c
===================================================================
--- libvirt-7.0.0.orig/src/libxl/libxl_domain.c
+++ libvirt-7.0.0/src/libxl/libxl_domain.c
@@ -1013,8 +1013,8 @@ libxlDomainSetVcpuAffinities(libxlDriver
 static int
 libxlDomainFreeMem(libxl_ctx *ctx, libxl_domain_config *d_config)
 {
-    uint32_t needed_mem;
-    uint32_t free_mem;
+    uint64_t needed_mem;
+    uint64_t free_mem;
     int32_t target_mem;
     int tries = 3;
     int wait_secs = 10;
@@ -1404,7 +1404,7 @@ libxlDomainStart(libxlDriverPrivatePtr d
         params.stream_version = restore_ver;
 #endif
         ret = libxl_domain_create_restore(cfg->ctx, &d_config, &domid,
-                                          restore_fd, &params, NULL,
+                                          restore_fd, -1, &params, NULL,
                                           &aop_console_how);
         libxl_domain_restore_params_dispose(&params);
     }
Index: libvirt-7.0.0/tests/libxlmock.c
===================================================================
--- libvirt-7.0.0.orig/tests/libxlmock.c
+++ libvirt-7.0.0/tests/libxlmock.c
@@ -67,7 +67,7 @@ VIR_MOCK_IMPL_RET_ARGS(libxl_get_version
 VIR_MOCK_STUB_RET_ARGS(libxl_get_free_memory,
                        int, 0,
                        libxl_ctx *, ctx,
-                       uint32_t *, memkb);
+                       uint64_t *, memkb);
 
 VIR_MOCK_STUB_RET_ARGS(xc_interface_close,
                        int, 0,
Index: libvirt-7.0.0/meson.build
===================================================================
--- libvirt-7.0.0.orig/meson.build
+++ libvirt-7.0.0/meson.build
@@ -1563,7 +1563,7 @@ elif get_option('driver_interface').enab
 endif
 
 if not get_option('driver_libxl').disabled() and conf.has('WITH_LIBVIRTD')
-  libxl_version = '4.6.0'
+  libxl_version = '4.9.0'
   libxl_dep = dependency('xenlight', version: '>=' + libxl_version, required: get_option('driver_libxl'))
 
   if libxl_dep.found()
@@ -1593,7 +1593,7 @@ if not get_option('driver_libxl').disabl
     endif
 
     libxl_dep = declare_dependency(
-      compile_args: '-DLIBXL_API_VERSION=0x040500',
+      compile_args: '-DLIBXL_API_VERSION=0x040800',
       dependencies: [
         libxl_dep,
         xtl_link_dep,
openSUSE Build Service is sponsored by