Accepting request 787955 from home:jfehlig:branches:Virtualization

- libxl: Bump minimum supported Xen version to 4.9, allowing use
  of newer libxl APIs for retrieving memory statistics
  suse-bump-xen-version.patch
  bsc#1157490, bsc#1167007

OBS-URL: https://build.opensuse.org/request/show/787955
OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=816
This commit is contained in:
James Fehlig 2020-03-25 02:55:05 +00:00 committed by Git OBS Bridge
parent 8a2de5e696
commit 81480eae55
3 changed files with 89 additions and 0 deletions

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Thu Mar 19 22:59:45 UTC 2020 - James Fehlig <jfehlig@suse.com>
- libxl: Bump minimum supported Xen version to 4.9, allowing use
of newer libxl APIs for retrieving memory statistics
suse-bump-xen-version.patch
bsc#1157490, bsc#1167007
-------------------------------------------------------------------
Tue Mar 17 19:50:01 UTC 2020 - James Fehlig <jfehlig@suse.com>

View File

@ -367,6 +367,7 @@ Patch211: libvirt-suse-netcontrol.patch
Patch212: lxc-wait-after-eth-del.patch
Patch213: suse-libxl-disable-autoballoon.patch
Patch214: suse-xen-ovmf-loaders.patch
Patch215: suse-bump-xen-version.patch
# SLES-Only patches
%if ! 0%{?is_opensuse}
Patch400: virt-create-rootfs.patch
@ -899,6 +900,7 @@ libvirt plugin for NSS for translating domain names into IP addresses.
%patch212 -p1
%patch213 -p1
%patch214 -p1
%patch215 -p1
%if ! 0%{?is_opensuse}
%patch400 -p1
%endif

View File

@ -0,0 +1,79 @@
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-6.1.0/m4/virt-driver-libxl.m4
===================================================================
--- libvirt-6.1.0.orig/m4/virt-driver-libxl.m4
+++ libvirt-6.1.0/m4/virt-driver-libxl.m4
@@ -26,11 +26,11 @@ AC_DEFUN([LIBVIRT_DRIVER_CHECK_LIBXL], [
LIBXL_CFLAGS=""
LIBXL_FIRMWARE_DIR=""
LIBXL_EXECBIN_DIR=""
- LIBXL_API_VERSION="-DLIBXL_API_VERSION=0x040500"
+ LIBXL_API_VERSION="-DLIBXL_API_VERSION=0x040800"
dnl search for libxl, aka libxenlight
old_with_libxl="$with_libxl"
- LIBVIRT_CHECK_PKG([LIBXL], [xenlight], [4.6.0])
+ LIBVIRT_CHECK_PKG([LIBXL], [xenlight], [4.9.0])
if test "x$with_libxl" = "xyes" ; then
LIBXL_FIRMWARE_DIR=$($PKG_CONFIG --variable xenfirmwaredir xenlight)
LIBXL_EXECBIN_DIR=$($PKG_CONFIG --variable libexec_bin xenlight)
Index: libvirt-6.1.0/src/libxl/libxl_conf.c
===================================================================
--- libvirt-6.1.0.orig/src/libxl/libxl_conf.c
+++ libvirt-6.1.0/src/libxl/libxl_conf.c
@@ -1785,7 +1785,7 @@ int
libxlDriverConfigInit(libxlDriverConfigPtr cfg)
{
char ebuf[1024];
- unsigned int free_mem;
+ uint64_t free_mem;
if (virFileMakePath(cfg->logDir) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
Index: libvirt-6.1.0/src/libxl/libxl_domain.c
===================================================================
--- libvirt-6.1.0.orig/src/libxl/libxl_domain.c
+++ libvirt-6.1.0/src/libxl/libxl_domain.c
@@ -1006,8 +1006,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;
@@ -1401,7 +1401,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-6.1.0/tests/libxlmock.c
===================================================================
--- libvirt-6.1.0.orig/tests/libxlmock.c
+++ libvirt-6.1.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,