Hello community,

here is the log from the commit of package perl-Sys-Virt for openSUSE:Factory 
checked in at 2018-08-24 17:11:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Sys-Virt (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Sys-Virt.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Sys-Virt"

Fri Aug 24 17:11:41 2018 rev:63 rq:631164 version:4.6.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Sys-Virt/perl-Sys-Virt.changes      
2018-07-28 12:45:39.321017543 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Sys-Virt.new/perl-Sys-Virt.changes 
2018-08-24 17:11:45.354617222 +0200
@@ -1,0 +2,6 @@
+Mon Aug 13 20:23:29 UTC 2018 - jfeh...@suse.com
+
+- Update to 4.6.0
+  - Add all new APIs and constants in libvirt 4.6.0
+
+-------------------------------------------------------------------

Old:
----
  Sys-Virt-v4.5.0.tar.gz

New:
----
  Sys-Virt-v4.6.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-Sys-Virt.spec ++++++
--- /var/tmp/diff_new_pack.zhRVQm/_old  2018-08-24 17:11:45.726617665 +0200
+++ /var/tmp/diff_new_pack.zhRVQm/_new  2018-08-24 17:11:45.730617669 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           perl-Sys-Virt
-Version:        4.5.0
+Version:        4.6.0
 Release:        0
 %define cpan_name Sys-Virt
 Summary:        Represent and manage a libvirt hypervisor connection

++++++ Sys-Virt-v4.5.0.tar.gz -> Sys-Virt-v4.6.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Sys-Virt-v4.5.0/Build.PL new/Sys-Virt-v4.6.0/Build.PL
--- old/Sys-Virt-v4.5.0/Build.PL        2018-07-03 17:06:38.000000000 +0200
+++ new/Sys-Virt-v4.6.0/Build.PL        2018-08-06 19:18:13.000000000 +0200
@@ -17,7 +17,7 @@
 use strict;
 use warnings;
 
-my $libvirtver = "4.5.0";
+my $libvirtver = "4.6.0";
 my $stat = system "pkg-config --atleast-version=$libvirtver libvirt";
 die "cannot run pkg-config to check libvirt version" if $stat == -1;
 die "libvirt >= $libvirtver is required\n" unless $stat == 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Sys-Virt-v4.5.0/Changes new/Sys-Virt-v4.6.0/Changes
--- old/Sys-Virt-v4.5.0/Changes 2018-07-03 17:06:38.000000000 +0200
+++ new/Sys-Virt-v4.6.0/Changes 2018-08-06 19:18:13.000000000 +0200
@@ -1,5 +1,12 @@
 Revision history for perl module Sys::Virt
 
+4.6.0 2018-08-06
+
+ - Add VIR_DOMAIN_MEMORY_STAT_DISK_CACHES
+ - Add missing import of Sys::Virt::NWFilterBinding
+ - Include Sys::Virt::NWFilterBinding in dist
+ - Fix multiple bugs allocating & freeing typed parameters
+
 4.5.0 2018-07-03
 
  - Add new types and APIs for virNWFilterBinding
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Sys-Virt-v4.5.0/HACKING new/Sys-Virt-v4.6.0/HACKING
--- old/Sys-Virt-v4.5.0/HACKING 2018-07-03 17:06:38.000000000 +0200
+++ new/Sys-Virt-v4.6.0/HACKING 2018-08-06 19:18:13.000000000 +0200
@@ -82,13 +82,13 @@
    built libvirt library
 
     # cd $HOME/src/libvirt-perl
-    # ../libvirt/run perl Makefile.PL
-    # ../libvirt/run make
+    # ../libvirt/run perl Build.PL
+    # ../libvirt/run ./Build
 
  - Run the test suite to identify which new functions/constants need
    handling
 
-    # ../libvirt/run make test TEST_MAINTAINER=1
+    #  TEST_MAINTAINER=1 ../libvirt/run ./Build test
 
  - For each missing item reported in the test suite...
 
@@ -191,7 +191,7 @@
 The upload is currently done by Daniel Berrange (username DANBERR).
 
 Now open the tree for the next release version by editing the files
-lib/Sys/Virt.pm, README, Makefile.PL to update the version number
+lib/Sys/Virt.pm, README, Build.PL to update the version number
 listed. Also edit Changes to add a placeholder entry for the new
 release number. Run 'make test' to ensure Changes file is syntax
 valid.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Sys-Virt-v4.5.0/INSTALL new/Sys-Virt-v4.6.0/INSTALL
--- old/Sys-Virt-v4.5.0/INSTALL 2018-07-03 17:06:38.000000000 +0200
+++ new/Sys-Virt-v4.6.0/INSTALL 2018-08-06 19:18:13.000000000 +0200
@@ -5,20 +5,16 @@
 system. The libvirt libraries and header files are located using
 the pkg-config database. If libvirt is installed to a prefix
 other than /usr, then be sure to set the PKG_CONFIG_PATH environment
-variable before building this module.
-
-Regular installation:
-
-  $ perl Makefile.PL
-  $ make
-  $ sudo make install
+variable before building this module:
 
+  $ export PKG_CONFIG_PATH=/some/prefix/lib/pkgconfig
 
-Install from non-standard location
+Then follow the standard procedure for a Module::Build based
+installation:
 
-  $ export PKG_CONFIG_PATH=/some/prefix/lib/pkgconfig
-  $ perl Makefile.PL
-  $ make
-  $ sudo make install
+  $ perl Build.PL
+  $ ./Build
+  $ ./Build test
+  $ sudo ./Build install
 
 -- End
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Sys-Virt-v4.5.0/MANIFEST new/Sys-Virt-v4.6.0/MANIFEST
--- old/Sys-Virt-v4.5.0/MANIFEST        2018-07-03 17:06:38.000000000 +0200
+++ new/Sys-Virt-v4.6.0/MANIFEST        2018-08-06 19:18:13.000000000 +0200
@@ -43,6 +43,7 @@
 lib/Sys/Virt/Network.pm
 lib/Sys/Virt/NodeDevice.pm
 lib/Sys/Virt/NWFilter.pm
+lib/Sys/Virt/NWFilterBinding.pm
 lib/Sys/Virt/Secret.pm
 lib/Sys/Virt/StoragePool.pm
 lib/Sys/Virt/StorageVol.pm
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Sys-Virt-v4.5.0/META.json 
new/Sys-Virt-v4.6.0/META.json
--- old/Sys-Virt-v4.5.0/META.json       2018-07-03 17:06:38.000000000 +0200
+++ new/Sys-Virt-v4.6.0/META.json       2018-08-06 19:18:13.000000000 +0200
@@ -41,7 +41,7 @@
    "provides" : {
       "Sys::Virt" : {
          "file" : "lib/Sys/Virt.pm",
-         "version" : "v4.5.0"
+         "version" : "v4.6.0"
       },
       "Sys::Virt::Domain" : {
          "file" : "lib/Sys/Virt/Domain.pm"
@@ -61,6 +61,9 @@
       "Sys::Virt::NWFilter" : {
          "file" : "lib/Sys/Virt/NWFilter.pm"
       },
+      "Sys::Virt::NWFilterBinding" : {
+         "file" : "lib/Sys/Virt/NWFilterBinding.pm"
+      },
       "Sys::Virt::Network" : {
          "file" : "lib/Sys/Virt/Network.pm"
       },
@@ -91,6 +94,6 @@
       },
       "x_MailingList" : "http://www.redhat.com/mailman/listinfo/libvir-list";
    },
-   "version" : "v4.5.0",
+   "version" : "v4.6.0",
    "x_serialization_backend" : "JSON::PP version 2.97001"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Sys-Virt-v4.5.0/META.yml new/Sys-Virt-v4.6.0/META.yml
--- old/Sys-Virt-v4.5.0/META.yml        2018-07-03 17:06:38.000000000 +0200
+++ new/Sys-Virt-v4.6.0/META.yml        2018-08-06 19:18:13.000000000 +0200
@@ -24,7 +24,7 @@
 provides:
   Sys::Virt:
     file: lib/Sys/Virt.pm
-    version: v4.5.0
+    version: v4.6.0
   Sys::Virt::Domain:
     file: lib/Sys/Virt/Domain.pm
   Sys::Virt::DomainSnapshot:
@@ -37,6 +37,8 @@
     file: lib/Sys/Virt/Interface.pm
   Sys::Virt::NWFilter:
     file: lib/Sys/Virt/NWFilter.pm
+  Sys::Virt::NWFilterBinding:
+    file: lib/Sys/Virt/NWFilterBinding.pm
   Sys::Virt::Network:
     file: lib/Sys/Virt/Network.pm
   Sys::Virt::NodeDevice:
@@ -56,5 +58,5 @@
   homepage: http://libvirt.org/
   license: http://www.gnu.org/licenses/gpl.html
   repository: https://libvirt.org/git/?p=libvirt-perl.git;a=summary
-version: v4.5.0
+version: v4.6.0
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Sys-Virt-v4.5.0/README new/Sys-Virt-v4.6.0/README
--- old/Sys-Virt-v4.5.0/README  2018-07-03 17:06:38.000000000 +0200
+++ new/Sys-Virt-v4.6.0/README  2018-08-06 19:18:13.000000000 +0200
@@ -4,9 +4,10 @@
 This module provides a Perl XS binding for the libvirt APIs. For
 further details on libvirt consult its website http://libvirt.org/
 
-The only pre-requisite for this module is libvirt itself. For
-installation instructions, consult the INSTALL file.
+The only pre-requisite for this module is libvirt itself and the
+Module::Build buld system. For installation instructions, consult
+the INSTALL file.
 
-The current minimum required version of libvirt is 4.5.0
+The current minimum required version of libvirt is 4.6.0
 
 -- End
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Sys-Virt-v4.5.0/lib/Sys/Virt/Domain.pm 
new/Sys-Virt-v4.6.0/lib/Sys/Virt/Domain.pm
--- old/Sys-Virt-v4.5.0/lib/Sys/Virt/Domain.pm  2018-07-03 17:06:38.000000000 
+0200
+++ new/Sys-Virt-v4.6.0/lib/Sys/Virt/Domain.pm  2018-08-06 19:18:13.000000000 
+0200
@@ -3903,6 +3903,10 @@
 
 Time of last stats refresh from guest
 
+=item Sys::Virt::Domain::MEMORY_STAT_DISK_CACHES
+
+Disk cache size
+
 =back
 
 =head2 DOMAIN LIST CONSTANTS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Sys-Virt-v4.5.0/lib/Sys/Virt/NWFilterBinding.pm 
new/Sys-Virt-v4.6.0/lib/Sys/Virt/NWFilterBinding.pm
--- old/Sys-Virt-v4.5.0/lib/Sys/Virt/NWFilterBinding.pm 1970-01-01 
01:00:00.000000000 +0100
+++ new/Sys-Virt-v4.6.0/lib/Sys/Virt/NWFilterBinding.pm 2018-08-06 
19:18:13.000000000 +0200
@@ -0,0 +1,107 @@
+# -*- perl -*-
+#
+# Copyright (C) 2018 Red Hat
+#
+# This program is free software; You can redistribute it and/or modify
+# it under either:
+#
+# a) the GNU General Public License as published by the Free
+#   Software Foundation; either version 2, or (at your option) any
+#   later version,
+#
+# or
+#
+# b) the "Artistic License"
+#
+# The file "LICENSE" distributed along with this file provides full
+# details of the terms and conditions of the two licenses.
+
+=pod
+
+=head1 NAME
+
+Sys::Virt::NWFilterBinding - Represent & manage a network filter binding
+
+=head1 DESCRIPTION
+
+The C<Sys::Virt::NWFilterBinding> module represents a binding between a
+network filter and a network port device.
+
+=head1 METHODS
+
+=over 4
+
+=cut
+
+package Sys::Virt::NWFilterBinding;
+
+use strict;
+use warnings;
+
+
+sub _new {
+    my $proto = shift;
+    my $class = ref($proto) || $proto;
+    my %params = @_;
+
+    my $con = exists $params{connection} ? $params{connection} : die 
"connection parameter is required";
+    my $self;
+    if (exists $params{portdev}) {
+       $self = Sys::Virt::NWFilterBinding::_lookup_by_port_dev($con,  
$params{portdev});
+    } elsif (exists $params{xml}) {
+       $self = Sys::Virt::NWFilterBinding::_create_xml($con,  $params{xml});
+    } else {
+       die "portdev or xml parameters are required";
+    }
+
+    bless $self, $class;
+
+    return $self;
+}
+
+
+=item my $name = $binding->get_port_dev()
+
+Returns a string with the name of the network port device that is bound to
+
+=item my $name = $binding->get_filter_name()
+
+Returns a string with the name of the network filter that is bound to
+
+=item my $xml = $binding->get_xml_description()
+
+Returns an XML document containing a complete description of
+the network's configuration
+
+=item $binding->delete()
+
+Unbind the network port device from the filter
+
+=cut
+
+
+1;
+
+=back
+
+=head1 AUTHORS
+
+Daniel P. Berrange <berra...@redhat.com>
+
+=head1 COPYRIGHT
+
+Copyright (C) 2018 Red Hat
+
+=head1 LICENSE
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of either the GNU General Public License as published
+by the Free Software Foundation (either version 2 of the License, or at
+your option any later version), or, the Artistic License, as specified
+in the Perl README file.
+
+=head1 SEE ALSO
+
+L<Sys::Virt>, L<Sys::Virt::Error>, C<http://libvirt.org>
+
+=cut
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Sys-Virt-v4.5.0/lib/Sys/Virt.pm 
new/Sys-Virt-v4.6.0/lib/Sys/Virt.pm
--- old/Sys-Virt-v4.5.0/lib/Sys/Virt.pm 2018-07-03 17:06:38.000000000 +0200
+++ new/Sys-Virt-v4.6.0/lib/Sys/Virt.pm 2018-08-06 19:18:13.000000000 +0200
@@ -75,10 +75,11 @@
 use Sys::Virt::Interface;
 use Sys::Virt::Secret;
 use Sys::Virt::NWFilter;
+use Sys::Virt::NWFilterBinding;
 use Sys::Virt::DomainSnapshot;
 use Sys::Virt::Stream;
 
-our $VERSION = '4.5.0';
+our $VERSION = '4.6.0';
 require XSLoader;
 XSLoader::load('Sys::Virt', $VERSION);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Sys-Virt-v4.5.0/lib/Sys/Virt.xs 
new/Sys-Virt-v4.6.0/lib/Sys/Virt.xs
--- old/Sys-Virt-v4.5.0/lib/Sys/Virt.xs 2018-07-03 17:06:38.000000000 +0200
+++ new/Sys-Virt-v4.6.0/lib/Sys/Virt.xs 2018-08-06 19:18:13.000000000 +0200
@@ -86,7 +86,6 @@
 }
 
 
-
 static void
 ignoreVirErrorFunc(void * userData, virErrorPtr error) {
   /* Do nothing */
@@ -263,7 +262,8 @@
 
         case VIR_TYPED_PARAM_STRING:
             ptr = SvPV(*val, len);
-            params[i].value.s = (char *)ptr;
+            if (!(params[i].value.s = strdup((char *)ptr)))
+                abort();
             break;
         }
     }
@@ -300,7 +300,8 @@
       localparams[*nparams + i].field[VIR_TYPED_PARAM_FIELD_LENGTH - 1] = '\0';
 
       localparams[*nparams + i].type = VIR_TYPED_PARAM_STRING;
-      localparams[*nparams + i].value.s = ptr;
+      if (!(localparams[*nparams + i].value.s = strdup(ptr)))
+         abort();
     }
 
     *params = localparams;
@@ -308,6 +309,14 @@
 }
 
 
+static void
+vir_typed_param_safe_free(virTypedParameterPtr params, int nparams)
+{
+    virTypedParamsClear(params, nparams);
+    Safefree(params);
+}
+
+
 static int
 _domain_event_lifecycle_callback(virConnectPtr con,
                                  virDomainPtr dom,
@@ -2403,15 +2412,15 @@
       virConnectPtr conn;
       unsigned int flags;
   PREINIT:
-      virTypedParameterPtr params;
-      int nparams;
+      virTypedParameterPtr params = NULL;
+      int nparams = 0;
     CODE:
       if (virNodeGetSEVInfo(conn, &params, &nparams, flags) < 0) {
           _croak_error();
       }
 
       RETVAL = vir_typed_param_to_hv(params, nparams);
-      free(params);
+      virTypedParamsFree(params, nparams);
   OUTPUT:
       RETVAL
 
@@ -2651,12 +2660,12 @@
       Newx(params, nparams, virTypedParameter);
 
       if (virNodeGetMemoryParameters(conn, params, &nparams, flags) < 0) {
-          Safefree(params);
+          vir_typed_param_safe_free(params, nparams);
           _croak_error();
       }
 
       RETVAL = vir_typed_param_to_hv(params, nparams);
-      Safefree(params);
+      vir_typed_param_safe_free(params, nparams);
   OUTPUT:
       RETVAL
 
@@ -2677,15 +2686,17 @@
       Newx(params, nparams, virTypedParameter);
 
       if (virNodeGetMemoryParameters(conn, params, &nparams, 0) < 0) {
-          Safefree(params);
+          vir_typed_param_safe_free(params, nparams);
           _croak_error();
       }
 
       nparams = vir_typed_param_from_hv(newparams, params, nparams);
 
-      if (virNodeSetMemoryParameters(conn, params, nparams, flags) < 0)
+      if (virNodeSetMemoryParameters(conn, params, nparams, flags) < 0) {
+          vir_typed_param_safe_free(params, nparams);
           _croak_error();
-      Safefree(params);
+      }
+      vir_typed_param_safe_free(params, nparams);
 
 
 
@@ -4554,19 +4565,18 @@
       unsigned int flags;
   PREINIT:
       int type;
-      virTypedParameterPtr params;
-      int nparams;
+      virTypedParameterPtr params = NULL;
+      int nparams = 0;
       HV *paramsHv;
       SV *typeSv;
     PPCODE:
       if (virDomainGetJobStats(dom, &type, &params, &nparams, flags) < 0) {
-          Safefree(params);
           _croak_error();
       }
 
       typeSv = newSViv(type);
       paramsHv = vir_typed_param_to_hv(params, nparams);
-      Safefree(params);
+      virTypedParamsFree(params, nparams);
 
       EXTEND(SP, 2);
       PUSHs(newRV_noinc((SV*)typeSv));
@@ -4674,11 +4684,11 @@
       nparams = vir_typed_param_from_hv(newparams, params, nparams);
 
       if (virDomainBlockCopy(dom, path, destxml, params, nparams, flags) < 0) {
-          Safefree(params);
+          vir_typed_param_safe_free(params, nparams);
           _croak_error();
       }
 
-      Safefree(params);
+      vir_typed_param_safe_free(params, nparams);
 
 
 void
@@ -4739,17 +4749,17 @@
       Newx(params, nparams, virTypedParameter);
       if (flags) {
           if (virDomainGetSchedulerParametersFlags(dom, params, &nparams, 
flags) < 0) {
-              Safefree(params);
+              vir_typed_param_safe_free(params, nparams);
               _croak_error();
           }
       } else {
           if (virDomainGetSchedulerParameters(dom, params, &nparams) < 0) {
-              Safefree(params);
+              vir_typed_param_safe_free(params, nparams);
               _croak_error();
           }
       }
       RETVAL = vir_typed_param_to_hv(params, nparams);
-      Safefree(params);
+      vir_typed_param_safe_free(params, nparams);
   OUTPUT:
       RETVAL
 
@@ -4770,18 +4780,22 @@
       free(type);
       Newx(params, nparams, virTypedParameter);
       if (virDomainGetSchedulerParameters(dom, params, &nparams) < 0) {
-          Safefree(params);
+          vir_typed_param_safe_free(params, nparams);
           _croak_error();
       }
       nparams = vir_typed_param_from_hv(newparams, params, nparams);
       if (flags) {
-          if (virDomainSetSchedulerParametersFlags(dom, params, nparams, 
flags) < 0)
+          if (virDomainSetSchedulerParametersFlags(dom, params, nparams, 
flags) < 0) {
+              vir_typed_param_safe_free(params, nparams);
               _croak_error();
+          }
       } else {
-          if (virDomainSetSchedulerParameters(dom, params, nparams) < 0)
+          if (virDomainSetSchedulerParameters(dom, params, nparams) < 0) {
+              vir_typed_param_safe_free(params, nparams);
               _croak_error();
+          }
       }
-      Safefree(params);
+      vir_typed_param_safe_free(params, nparams);
 
 
 HV *
@@ -4799,12 +4813,12 @@
       Newx(params, nparams, virTypedParameter);
 
       if (virDomainGetMemoryParameters(dom, params, &nparams, flags) < 0) {
-          Safefree(params);
+          vir_typed_param_safe_free(params, nparams);
           _croak_error();
       }
 
       RETVAL = vir_typed_param_to_hv(params, nparams);
-      Safefree(params);
+      vir_typed_param_safe_free(params, nparams);
   OUTPUT:
       RETVAL
 
@@ -4825,15 +4839,17 @@
       Newx(params, nparams, virTypedParameter);
 
       if (virDomainGetMemoryParameters(dom, params, &nparams, 0) < 0) {
-          Safefree(params);
+          vir_typed_param_safe_free(params, nparams);
           _croak_error();
       }
 
       nparams = vir_typed_param_from_hv(newparams, params, nparams);
 
-      if (virDomainSetMemoryParameters(dom, params, nparams, flags) < 0)
+      if (virDomainSetMemoryParameters(dom, params, nparams, flags) < 0) {
+          vir_typed_param_safe_free(params, nparams);
           _croak_error();
-      Safefree(params);
+      }
+      vir_typed_param_safe_free(params, nparams);
 
 
 HV *
@@ -4851,12 +4867,12 @@
       Newx(params, nparams, virTypedParameter);
 
       if (virDomainGetNumaParameters(dom, params, &nparams, flags) < 0) {
-          Safefree(params);
+          vir_typed_param_safe_free(params, nparams);
           _croak_error();
       }
 
       RETVAL = vir_typed_param_to_hv(params, nparams);
-      Safefree(params);
+      vir_typed_param_safe_free(params, nparams);
   OUTPUT:
       RETVAL
 
@@ -4877,15 +4893,17 @@
       Newx(params, nparams, virTypedParameter);
 
       if (virDomainGetNumaParameters(dom, params, &nparams, 0) < 0) {
-          Safefree(params);
+          vir_typed_param_safe_free(params, nparams);
           _croak_error();
       }
 
       nparams = vir_typed_param_from_hv(newparams, params, nparams);
 
-      if (virDomainSetNumaParameters(dom, params, nparams, flags) < 0)
+      if (virDomainSetNumaParameters(dom, params, nparams, flags) < 0) {
+          vir_typed_param_safe_free(params, nparams);
           _croak_error();
-      Safefree(params);
+      }
+      vir_typed_param_safe_free(params, nparams);
 
 
 HV *
@@ -4903,12 +4921,12 @@
       Newx(params, nparams, virBlkioParameter);
 
       if (virDomainGetBlkioParameters(dom, params, &nparams, flags) < 0) {
-          Safefree(params);
+          vir_typed_param_safe_free(params, nparams);
           _croak_error();
       }
 
       RETVAL = vir_typed_param_to_hv(params, nparams);
-      Safefree(params);
+      vir_typed_param_safe_free(params, nparams);
   OUTPUT:
       RETVAL
 
@@ -4929,16 +4947,18 @@
       Newx(params, nparams, virBlkioParameter);
 
       if (virDomainGetBlkioParameters(dom, params, &nparams, 0) < 0) {
-          Safefree(params);
+          vir_typed_param_safe_free(params, nparams);
           _croak_error();
       }
 
       nparams = vir_typed_param_from_hv(newparams, params, nparams);
 
       if (virDomainSetBlkioParameters(dom, params, nparams,
-                                      flags) < 0)
+                                      flags) < 0) {
+          vir_typed_param_safe_free(params, nparams);
           _croak_error();
-      Safefree(params);
+      }
+      vir_typed_param_safe_free(params, nparams);
 
 
 HV *
@@ -4950,12 +4970,12 @@
       int nparams = 0;
     CODE:
       if (virDomainGetPerfEvents(dom, &params, &nparams, flags) < 0) {
-          Safefree(params);
+          vir_typed_param_safe_free(params, nparams);
           _croak_error();
       }
 
       RETVAL = vir_typed_param_to_hv(params, nparams);
-      Safefree(params);
+      vir_typed_param_safe_free(params, nparams);
   OUTPUT:
       RETVAL
 
@@ -4970,7 +4990,7 @@
       int nparams = 0;
     PPCODE:
       if (virDomainGetPerfEvents(dom, &params, &nparams, 0) < 0) {
-          Safefree(params);
+          vir_typed_param_safe_free(params, nparams);
           _croak_error();
       }
 
@@ -4978,7 +4998,7 @@
 
       if (virDomainSetPerfEvents(dom, params, nparams, flags) < 0)
           _croak_error();
-      Safefree(params);
+      vir_typed_param_safe_free(params, nparams);
 
 
 HV *
@@ -4986,14 +5006,14 @@
       virDomainPtr dom;
       unsigned int flags;
   PREINIT:
-      virTypedParameterPtr params;
-      int nparams;
+      virTypedParameterPtr params = NULL;
+      int nparams = 0;
     CODE:
       if (virDomainGetLaunchSecurityInfo(dom, &params, &nparams, flags) < 0) {
           _croak_error();
       }
       RETVAL = vir_typed_param_to_hv(params, nparams);
-      free(params);
+      virTypedParamsFree(params, nparams);
   OUTPUT:
       RETVAL
 
@@ -5103,8 +5123,8 @@
       virDomainPtr dom;
       unsigned int flags;
   PREINIT:
-      virTypedParameterPtr params;
-      unsigned int nparams;
+      virTypedParameterPtr params = NULL;
+      unsigned int nparams = 0;
     CODE:
       if (virDomainGetGuestVcpus(dom, &params, &nparams, flags) < 0) {
           _croak_error();
@@ -5374,10 +5394,10 @@
       * if it is possible todo so
       */
      if ((RETVAL = virDomainMigrate3(dom, destcon, params, nparams, flags)) == 
NULL) {
-         Safefree(params);
+         vir_typed_param_safe_free(params, nparams);
          _croak_error();
      }
-     Safefree(params);
+     vir_typed_param_safe_free(params, nparams);
  OUTPUT:
      RETVAL
 
@@ -5465,10 +5485,10 @@
       * if it is possible todo so
       */
      if (virDomainMigrateToURI3(dom, desturi, params, nparams, flags) < 0) {
-         Safefree(params);
+         vir_typed_param_safe_free(params, nparams);
          _croak_error();
      }
-     Safefree(params);
+     vir_typed_param_safe_free(params, nparams);
 
 
 void
@@ -5627,12 +5647,12 @@
 
       Newx(params, nparams, virTypedParameter);
       if (virDomainGetBlockIoTune(dom, disk, params, &nparams, flags) < 0) {
-          Safefree(params);
+          vir_typed_param_safe_free(params, nparams);
           _croak_error();
       }
 
       RETVAL = vir_typed_param_to_hv(params, nparams);
-      Safefree(params);
+      vir_typed_param_safe_free(params, nparams);
   OUTPUT:
       RETVAL
 
@@ -5653,13 +5673,16 @@
       Newx(params, nparams, virTypedParameter);
 
       if (virDomainGetBlockIoTune(dom, disk, params, &nparams, 0) < 0) {
-          Safefree(params);
+          vir_typed_param_safe_free(params, nparams);
           _croak_error();
       }
 
       nparams = vir_typed_param_from_hv(newparams, params, nparams);
-      if (virDomainSetBlockIoTune(dom, disk, params, nparams, flags) < 0)
+      if (virDomainSetBlockIoTune(dom, disk, params, nparams, flags) < 0) {
+          vir_typed_param_safe_free(params, nparams);
           _croak_error();
+      }
+      vir_typed_param_safe_free(params, nparams);
 
 
 HV *
@@ -5678,12 +5701,12 @@
 
       Newx(params, nparams, virTypedParameter);
       if (virDomainGetInterfaceParameters(dom, intf, params, &nparams, flags) 
< 0) {
-          Safefree(params);
+          vir_typed_param_safe_free(params, nparams);
           _croak_error();
       }
 
       RETVAL = vir_typed_param_to_hv(params, nparams);
-      Safefree(params);
+      vir_typed_param_safe_free(params, nparams);
   OUTPUT:
       RETVAL
 
@@ -5704,13 +5727,16 @@
       Newx(params, nparams, virTypedParameter);
 
       if (virDomainGetInterfaceParameters(dom, intf, params, &nparams, 0) < 0) 
{
-          Safefree(params);
+          vir_typed_param_safe_free(params, nparams);
           _croak_error();
       }
 
       nparams = vir_typed_param_from_hv(newparams, params, nparams);
-      if (virDomainSetInterfaceParameters(dom, intf, params, nparams, flags) < 
0)
+      if (virDomainSetInterfaceParameters(dom, intf, params, nparams, flags) < 
0) {
+          vir_typed_param_safe_free(params, nparams);
           _croak_error();
+      }
+      vir_typed_param_safe_free(params, nparams);
 
 
 HV *
@@ -5746,7 +5772,7 @@
           Newx(params, nparams, virTypedParameter);
 
           if (virDomainBlockStatsFlags(dom, path, params, &nparams, flags) < 
0) {
-              Safefree(params);
+              vir_typed_param_safe_free(params, nparams);
               _croak_error();
           }
 
@@ -5766,7 +5792,7 @@
                   (void)hv_store(RETVAL, field, strlen(field), val, 0);
               }
           }
-          Safefree(params);
+          vir_typed_param_safe_free(params, nparams);
       }
   OUTPUT:
       RETVAL
@@ -5850,6 +5876,10 @@
           case VIR_DOMAIN_MEMORY_STAT_USABLE:
               (void)hv_store (RETVAL, "usable", 6, virt_newSVll(stats[i].val), 
0);
               break;
+
+          case VIR_DOMAIN_MEMORY_STAT_DISK_CACHES:
+              (void)hv_store (RETVAL, "disk_caches", 11, 
virt_newSVll(stats[i].val), 0);
+              break;
           }
       }
       Safefree(stats);
@@ -6000,7 +6030,7 @@
 
       Newx(params, ncpus * nparams, virTypedParameter);
       if ((ret = virDomainGetCPUStats(dom, params, nparams, start_cpu, ncpus, 
flags)) < 0) {
-          Safefree(params);
+          vir_typed_param_safe_free(params, nparams);
           _croak_error();
       }
 
@@ -6010,7 +6040,7 @@
           PUSHs(newRV_noinc((SV *)rec));
       }
 
-      Safefree(params);
+      vir_typed_param_safe_free(params, nparams);
 
 
 void
@@ -9040,6 +9070,7 @@
       REGISTER_CONSTANT(VIR_DOMAIN_MEMORY_STAT_RSS, MEMORY_STAT_RSS);
       REGISTER_CONSTANT(VIR_DOMAIN_MEMORY_STAT_LAST_UPDATE, 
MEMORY_STAT_LAST_UPDATE);
       REGISTER_CONSTANT(VIR_DOMAIN_MEMORY_STAT_USABLE, MEMORY_STAT_USABLE);
+      REGISTER_CONSTANT(VIR_DOMAIN_MEMORY_STAT_DISK_CACHES, 
MEMORY_STAT_DISK_CACHES);
 
 
       REGISTER_CONSTANT_STR(VIR_DOMAIN_BLOCK_IOTUNE_TOTAL_BYTES_SEC, 
BLOCK_IOTUNE_TOTAL_BYTES_SEC);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Sys-Virt-v4.5.0/perl-Sys-Virt.spec 
new/Sys-Virt-v4.6.0/perl-Sys-Virt.spec
--- old/Sys-Virt-v4.5.0/perl-Sys-Virt.spec      2018-07-03 17:06:38.000000000 
+0200
+++ new/Sys-Virt-v4.6.0/perl-Sys-Virt.spec      2018-08-06 19:18:13.000000000 
+0200
@@ -1,7 +1,7 @@
 # Automatically generated by perl-Sys-Virt.spec.PL
 
 Name:           perl-Sys-Virt
-Version:        4.5.0
+Version:        4.6.0
 Release:        1%{?dist}
 Summary:        Represent and manage a libvirt hypervisor connection
 License:        GPLv2+ or Artistic

++++++ suse-set-migration-constraints.patch ++++++
--- /var/tmp/diff_new_pack.zhRVQm/_old  2018-08-24 17:11:45.814617769 +0200
+++ /var/tmp/diff_new_pack.zhRVQm/_new  2018-08-24 17:11:45.814617769 +0200
@@ -2,10 +2,10 @@
 
 References: fate#316614, bsc#859868
 
-Index: Sys-Virt-v4.5.0/lib/Sys/Virt/Domain.pm
+Index: Sys-Virt-v4.6.0/lib/Sys/Virt/Domain.pm
 ===================================================================
---- Sys-Virt-v4.5.0.orig/lib/Sys/Virt/Domain.pm
-+++ Sys-Virt-v4.5.0/lib/Sys/Virt/Domain.pm
+--- Sys-Virt-v4.6.0.orig/lib/Sys/Virt/Domain.pm
++++ Sys-Virt-v4.6.0/lib/Sys/Virt/Domain.pm
 @@ -1117,6 +1117,22 @@ The initial percentage to throttle guest
  The additional percentage step size to throttle guest vCPUs if
  progress is not made
@@ -29,11 +29,11 @@
  =back
  
  =item $ddom = $dom->migrate(destcon, flags=0, dname=undef, uri=undef, 
bandwidth=0)
-Index: Sys-Virt-v4.5.0/lib/Sys/Virt.xs
+Index: Sys-Virt-v4.6.0/lib/Sys/Virt.xs
 ===================================================================
---- Sys-Virt-v4.5.0.orig/lib/Sys/Virt.xs
-+++ Sys-Virt-v4.5.0/lib/Sys/Virt.xs
-@@ -5301,7 +5301,7 @@ _migrate(dom, destcon, newparams, flags=
+--- Sys-Virt-v4.6.0.orig/lib/Sys/Virt.xs
++++ Sys-Virt-v4.6.0/lib/Sys/Virt.xs
+@@ -5321,7 +5321,7 @@ _migrate(dom, destcon, newparams, flags=
       virTypedParameterPtr params;
       int nparams;
      CODE:
@@ -42,7 +42,7 @@
       Newx(params, nparams, virTypedParameter);
  
       strncpy(params[0].field, VIR_MIGRATE_PARAM_URI,
-@@ -5364,6 +5364,22 @@ _migrate(dom, destcon, newparams, flags=
+@@ -5384,6 +5384,22 @@ _migrate(dom, destcon, newparams, flags=
               VIR_TYPED_PARAM_FIELD_LENGTH);
       params[14].type = VIR_TYPED_PARAM_INT;
  
@@ -65,7 +65,7 @@
       nparams = vir_typed_param_from_hv(newparams, params, nparams);
  
       vir_typed_param_add_string_list_from_hv(newparams, &params, &nparams,
-@@ -5392,7 +5408,7 @@ _migrate_to_uri(dom, desturi, newparams,
+@@ -5412,7 +5428,7 @@ _migrate_to_uri(dom, desturi, newparams,
       virTypedParameterPtr params;
       int nparams;
    PPCODE:
@@ -74,7 +74,7 @@
       Newx(params, nparams, virTypedParameter);
  
       strncpy(params[0].field, VIR_MIGRATE_PARAM_URI,
-@@ -5455,6 +5471,22 @@ _migrate_to_uri(dom, desturi, newparams,
+@@ -5475,6 +5491,22 @@ _migrate_to_uri(dom, desturi, newparams,
               VIR_TYPED_PARAM_FIELD_LENGTH);
       params[14].type = VIR_TYPED_PARAM_INT;
  
@@ -97,7 +97,7 @@
       nparams = vir_typed_param_from_hv(newparams, params, nparams);
  
       vir_typed_param_add_string_list_from_hv(newparams, &params, &nparams,
-@@ -8757,6 +8789,10 @@ BOOT:
+@@ -8787,6 +8819,10 @@ BOOT:
        REGISTER_CONSTANT_STR(VIR_MIGRATE_PARAM_PERSIST_XML, 
MIGRATE_PARAM_PERSIST_XML);
        REGISTER_CONSTANT_STR(VIR_MIGRATE_PARAM_AUTO_CONVERGE_INITIAL, 
MIGRATE_PARAM_AUTO_CONVERGE_INITIAL);
        REGISTER_CONSTANT_STR(VIR_MIGRATE_PARAM_AUTO_CONVERGE_INCREMENT, 
MIGRATE_PARAM_AUTO_CONVERGE_INCREMENT);


Reply via email to