Hello community, here is the log from the commit of package libvirt for openSUSE:Factory checked in at 2017-02-10 09:45:21 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libvirt (Old) and /work/SRC/openSUSE:Factory/.libvirt.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libvirt" Changes: -------- --- /work/SRC/openSUSE:Factory/libvirt/libvirt.changes 2017-02-03 17:48:47.834523400 +0100 +++ /work/SRC/openSUSE:Factory/.libvirt.new/libvirt.changes 2017-02-10 09:45:22.736813615 +0100 @@ -1,0 +2,12 @@ +Thu Feb 2 23:27:42 UTC 2017 - [email protected] + +- SLE12 SP2 bugs merged via version updates of the Factory libvirt + package: + bsc#986718 +- SLE12 SP2 FATEs merged via version updates of the Factory libvirt + package: + FATE#316228, FATE#316628, FATE#319531, FATE#319810, FATE#320490 +- Replaced libxl-dom0-balloon-fix.patch with upstream patch + f86a7a83-libxl-dom0-balloon-fix.patch + +------------------------------------------------------------------- Old: ---- libxl-dom0-balloon-fix.patch New: ---- f86a7a83-libxl-dom0-balloon-fix.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libvirt.spec ++++++ --- /var/tmp/diff_new_pack.5j6nvu/_old 2017-02-10 09:45:24.748528642 +0100 +++ /var/tmp/diff_new_pack.5j6nvu/_new 2017-02-10 09:45:24.756527509 +0100 @@ -314,9 +314,9 @@ Source100: %{name}-rpmlintrc # Upstream patches Patch0: b018ada3-shunloadtest-build-fix.patch +Patch1: f86a7a83-libxl-dom0-balloon-fix.patch # Patches pending upstream review Patch100: libxl-dom-reset.patch -Patch101: libxl-dom0-balloon-fix.patch # Need to go upstream Patch150: xen-pv-cdrom.patch Patch151: blockcopy-check-dst-identical-device.patch @@ -794,8 +794,8 @@ %prep %setup -q %patch0 -p1 +%patch1 -p1 %patch100 -p1 -%patch101 -p1 %patch150 -p1 %patch151 -p1 %patch152 -p1 ++++++ f86a7a83-libxl-dom0-balloon-fix.patch ++++++ commit f86a7a837207a1260ff7a8e4469b9057fbde11c8 Author: Jim Fehlig <[email protected]> Date: Tue Jan 17 15:11:32 2017 -0700 libxl: fix dom0 autoballooning with Xen 4.8 xen.git commit 57f8b13c changed several of the libxl memory get/set functions to take 64 bit parameters. The libvirt libxl driver still uses uint32_t variables for these various parameters, which is particularly problematic for the libxl_set_memory_target() function. When dom0 autoballooning is enabled, libvirt (like xl) determines the memory needed to start a domain and the memory available. If memory available is less than memory needed, dom0 is ballooned down by passing a negative value to libxl_set_memory_target() 'target_memkb' parameter. Prior to xen.git commit 57f8b13c, 'target_memkb' was an int32_t. Subtracting a larger uint32 from a smaller uint32 and assigning it to int32 resulted in a negative number. After commit 57f8b13c, the same subtraction is widened to a int64, resulting in a large positive number. The simple fix taken by this patch is to assign the difference of the uint32 values to a temporary int32 variable, which is then passed to 'target_memkb' parameter of libxl_set_memory_target(). Note that it is undesirable to change libvirt to use 64 bit variables since it requires setting LIBXL_API_VERSION to 0x040800. Currently libvirt supports LIBXL_API_VERSION >= 0x040400, essentially Xen >= 4.4. Index: libvirt-3.0.0/src/libxl/libxl_domain.c =================================================================== --- libvirt-3.0.0.orig/src/libxl/libxl_domain.c +++ libvirt-3.0.0/src/libxl/libxl_domain.c @@ -909,6 +909,7 @@ libxlDomainFreeMem(libxl_ctx *ctx, libxl { uint32_t needed_mem; uint32_t free_mem; + int32_t target_mem; int tries = 3; int wait_secs = 10; @@ -922,7 +923,8 @@ libxlDomainFreeMem(libxl_ctx *ctx, libxl if (free_mem >= needed_mem) return 0; - if (libxl_set_memory_target(ctx, 0, free_mem - needed_mem, + target_mem = free_mem - needed_mem; + if (libxl_set_memory_target(ctx, 0, target_mem, /* relative */ 1, 0) < 0) goto error;
