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, ¶ms, &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, ¶ms, &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, ¶ms, &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, ¶ms, &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, ¶ms, &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, ¶ms, &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, ¶ms, &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, ¶ms, &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);