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;
 


Reply via email to