Hello community,
here is the log from the commit of package perl-Sys-Virt for openSUSE:Factory checked in at 2012-06-05 15:34:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Sys-Virt (Old)
and /work/SRC/openSUSE:Factory/.perl-Sys-Virt.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Sys-Virt", Maintainer is ""
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Sys-Virt/perl-Sys-Virt.changes 2012-02-17 12:08:14.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Sys-Virt.new/perl-Sys-Virt.changes 2012-06-05 15:34:13.000000000 +0200
@@ -1,0 +2,10 @@
+Thu May 31 10:16:59 MDT 2012 - jfehlig@suse.com
+
+- Update to 0.9.11
+ - Add all new APIs in libvirt 0.9.11
+ - Add test case to validate API coverage
+ - Fix misc POD docs bugs
+ - Fix reference handling in block stats
+ - Add handling of VIR_TYPED_PARAM_STRING
+
+-------------------------------------------------------------------
Old:
----
Sys-Virt-0.9.10.tar.gz
New:
----
Sys-Virt-0.9.11.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Sys-Virt.spec ++++++
--- /var/tmp/diff_new_pack.VLY0nf/_old 2012-06-05 15:34:16.000000000 +0200
+++ /var/tmp/diff_new_pack.VLY0nf/_new 2012-06-05 15:34:16.000000000 +0200
@@ -16,9 +16,8 @@
#
-
Name: perl-Sys-Virt
-Version: 0.9.10
+Version: 0.9.11
Release: 0
%define cpan_name Sys-Virt
Summary: Represent and manage a libvirt hypervisor connection
@@ -31,9 +30,9 @@
BuildRequires: perl(ExtUtils::MakeMaker)
BuildRequires: perl(Test::Pod)
BuildRequires: perl(Test::Pod::Coverage)
+BuildRequires: perl(Time::HiRes)
BuildRequires: perl(XML::XPath)
BuildRequires: perl(XML::XPath::XMLParser)
-BuildRequires: perl(Time::HiRes)
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%{perl_requires}
++++++ Sys-Virt-0.9.10.tar.gz -> Sys-Virt-0.9.11.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-0.9.10/Changes new/Sys-Virt-0.9.11/Changes
--- old/Sys-Virt-0.9.10/Changes 2012-02-13 18:51:36.000000000 +0100
+++ new/Sys-Virt-0.9.11/Changes 2012-04-16 12:24:52.000000000 +0200
@@ -1,5 +1,13 @@
Revision history for perl module Sys::Virt
+0.9.11 2012-04-16
+
+ - Add all new APIs in libvirt 0.9.11
+ - Add test case to validate API coverage
+ - Fix misc POD docs bugs
+ - Fix reference handling in block stats
+ - Add handling of VIR_TYPED_PARAM_STRING
+
0.9.10 2012-02-12
- Add all new APIs in libvirt 0.9.10
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-0.9.10/MANIFEST new/Sys-Virt-0.9.11/MANIFEST
--- old/Sys-Virt-0.9.10/MANIFEST 2012-02-13 18:51:50.000000000 +0100
+++ new/Sys-Virt-0.9.11/MANIFEST 2012-04-16 12:25:09.000000000 +0200
@@ -45,6 +45,7 @@
t/010-pod-coverage.t
t/015-changes.t
t/020-constants.t
+t/030-api-coverage.t
t/100-connect.t
t/200-domains.t
t/300-networks.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-0.9.10/META.yml new/Sys-Virt-0.9.11/META.yml
--- old/Sys-Virt-0.9.10/META.yml 2012-02-13 18:51:50.000000000 +0100
+++ new/Sys-Virt-0.9.11/META.yml 2012-04-16 12:25:08.000000000 +0200
@@ -1,7 +1,7 @@
--- #YAML:1.0
name: Sys-Virt
abstract: Extension for the libvirt library
-version: 0.9.10
+version: 0.9.11
author:
- Daniel P. Berrange
license: perl
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-0.9.10/MYMETA.yml new/Sys-Virt-0.9.11/MYMETA.yml
--- old/Sys-Virt-0.9.10/MYMETA.yml 2012-02-13 18:51:41.000000000 +0100
+++ new/Sys-Virt-0.9.11/MYMETA.yml 2012-04-16 12:24:58.000000000 +0200
@@ -25,4 +25,4 @@
Test::Pod::Coverage: 0
Time::HiRes: 0
XML::XPath: 0
-version: 0.9.10
+version: 0.9.11
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-0.9.10/Makefile.PL new/Sys-Virt-0.9.11/Makefile.PL
--- old/Sys-Virt-0.9.10/Makefile.PL 2012-02-13 18:51:36.000000000 +0100
+++ new/Sys-Virt-0.9.11/Makefile.PL 2012-04-16 12:24:52.000000000 +0200
@@ -3,7 +3,7 @@
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
# the contents of the Makefile that is written.
-my $libvirtver = "0.9.10";
+my $libvirtver = "0.9.11";
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-0.9.10/README new/Sys-Virt-0.9.11/README
--- old/Sys-Virt-0.9.10/README 2012-02-13 18:51:36.000000000 +0100
+++ new/Sys-Virt-0.9.11/README 2012-04-16 12:24:52.000000000 +0200
@@ -7,6 +7,6 @@
The only pre-requisite for this module is libvirt itself. For
installation instructions, consult the INSTALL file.
-The current minimum required version of libvirt is 0.9.10
+The current minimum required version of libvirt is 0.9.11
-- End
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-0.9.10/Virt.xs new/Sys-Virt-0.9.11/Virt.xs
--- old/Sys-Virt-0.9.10/Virt.xs 2012-02-13 18:51:36.000000000 +0100
+++ new/Sys-Virt-0.9.11/Virt.xs 2012-04-16 12:24:52.000000000 +0200
@@ -396,6 +396,122 @@
static int
+_domain_event_tray_change_callback(virConnectPtr con,
+ virDomainPtr dom,
+ const char *devAlias,
+ int reason,
+ void *opaque)
+{
+ AV *data = opaque;
+ SV **self;
+ SV **cb;
+ SV *domref;
+ dSP;
+
+ self = av_fetch(data, 0, 0);
+ cb = av_fetch(data, 1, 0);
+
+ SvREFCNT_inc(*self);
+
+ ENTER;
+ SAVETMPS;
+
+ PUSHMARK(SP);
+ XPUSHs(*self);
+ domref = sv_newmortal();
+ sv_setref_pv(domref, "Sys::Virt::Domain", (void*)dom);
+ virDomainRef(dom);
+ XPUSHs(domref);
+ XPUSHs(sv_2mortal(newSVpv(devAlias, 0)));
+ XPUSHs(sv_2mortal(newSViv(reason)));
+ PUTBACK;
+
+ call_sv(*cb, G_DISCARD);
+
+ FREETMPS;
+ LEAVE;
+
+ return 0;
+}
+
+
+static int
+_domain_event_pmwakeup_callback(virConnectPtr con,
+ virDomainPtr dom,
+ int reason,
+ void *opaque)
+{
+ AV *data = opaque;
+ SV **self;
+ SV **cb;
+ SV *domref;
+ dSP;
+
+ self = av_fetch(data, 0, 0);
+ cb = av_fetch(data, 1, 0);
+
+ SvREFCNT_inc(*self);
+
+ ENTER;
+ SAVETMPS;
+
+ PUSHMARK(SP);
+ XPUSHs(*self);
+ domref = sv_newmortal();
+ sv_setref_pv(domref, "Sys::Virt::Domain", (void*)dom);
+ virDomainRef(dom);
+ XPUSHs(domref);
+ XPUSHs(sv_2mortal(newSViv(reason)));
+ PUTBACK;
+
+ call_sv(*cb, G_DISCARD);
+
+ FREETMPS;
+ LEAVE;
+
+ return 0;
+}
+
+
+static int
+_domain_event_pmsuspend_callback(virConnectPtr con,
+ virDomainPtr dom,
+ int reason,
+ void *opaque)
+{
+ AV *data = opaque;
+ SV **self;
+ SV **cb;
+ SV *domref;
+ dSP;
+
+ self = av_fetch(data, 0, 0);
+ cb = av_fetch(data, 1, 0);
+
+ SvREFCNT_inc(*self);
+
+ ENTER;
+ SAVETMPS;
+
+ PUSHMARK(SP);
+ XPUSHs(*self);
+ domref = sv_newmortal();
+ sv_setref_pv(domref, "Sys::Virt::Domain", (void*)dom);
+ virDomainRef(dom);
+ XPUSHs(domref);
+ XPUSHs(sv_2mortal(newSViv(reason)));
+ PUTBACK;
+
+ call_sv(*cb, G_DISCARD);
+
+ FREETMPS;
+ LEAVE;
+
+ return 0;
+}
+
+
+static int
_domain_event_io_error_reason_callback(virConnectPtr con,
virDomainPtr dom,
const char *srcPath,
@@ -1011,6 +1127,7 @@
HV *ret = (HV *)sv_2mortal((SV*)newHV());
unsigned int i;
const char *field;
+ STRLEN val_length;
for (i = 0 ; i < nparams ; i++) {
SV *val = NULL;
@@ -1039,6 +1156,12 @@
case VIR_TYPED_PARAM_BOOLEAN:
val = newSViv(params[i].value.b);
break;
+
+ case VIR_TYPED_PARAM_STRING:
+ val_length = strlen(params[i].value.s);
+ val = newSVpv(params[i].value.s, val_length);
+ break;
+
}
field = params[i].field;
@@ -1049,10 +1172,14 @@
}
-static void
+static int
vir_typed_param_from_hv(HV *newparams, virTypedParameter *params, int nparams)
{
unsigned int i;
+ char * ptr;
+ STRLEN len;
+ int needString = 0;
+
for (i = 0 ; i < nparams ; i++) {
SV **val;
@@ -1085,8 +1212,15 @@
case VIR_TYPED_PARAM_BOOLEAN:
params[i].value.b = SvIV(*val);
break;
+
+ case VIR_TYPED_PARAM_STRING:
+ needString = 1;
+ ptr = SvPV(*val, len);
+ params[i].value.s = (char *)ptr;
+ break;
}
}
+ return needString;
}
@@ -2031,6 +2165,15 @@
case VIR_DOMAIN_EVENT_ID_DISK_CHANGE:
callback = VIR_DOMAIN_EVENT_CALLBACK(_domain_event_disk_change_callback);
break;
+ case VIR_DOMAIN_EVENT_ID_TRAY_CHANGE:
+ callback = VIR_DOMAIN_EVENT_CALLBACK(_domain_event_tray_change_callback);
+ break;
+ case VIR_DOMAIN_EVENT_ID_PMSUSPEND:
+ callback = VIR_DOMAIN_EVENT_CALLBACK(_domain_event_pmsuspend_callback);
+ break;
+ case VIR_DOMAIN_EVENT_ID_PMWAKEUP:
+ callback = VIR_DOMAIN_EVENT_CALLBACK(_domain_event_pmwakeup_callback);
+ break;
default:
callback = VIR_DOMAIN_EVENT_CALLBACK(_domain_event_generic_callback);
break;
@@ -2307,6 +2450,15 @@
void
+pm_wakeup(dom, flags)
+ virDomainPtr dom;
+ unsigned int flags;
+ PPCODE:
+ if ((virDomainPMWakeup(dom, flags)) < 0)
+ _croak_error();
+
+
+void
save(dom, to, dxmlsv=&PL_sv_undef, flags=0)
virDomainPtr dom;
const char *to;
@@ -2799,8 +2951,9 @@
virDomainPtr dom;
HV *newparams;
PREINIT:
- virBlkioParameter *params;
+ virTypedParameter *params;
int nparams;
+ int needString;
PPCODE:
nparams = 0;
if (virDomainGetBlkioParameters(dom, NULL, &nparams, 0) < 0)
@@ -2813,9 +2966,10 @@
_croak_error();
}
- vir_typed_param_from_hv(newparams, params, nparams);
+ needString = vir_typed_param_from_hv(newparams, params, nparams);
- if (virDomainSetBlkioParameters(dom, params, nparams, 0) < 0)
+ if (virDomainSetBlkioParameters(dom, params, nparams,
+ needString ? VIR_TYPED_PARAM_STRING_OKAY: 0) < 0)
_croak_error();
Safefree(params);
@@ -3358,6 +3512,7 @@
field = "flush_reqs";
if (field) {
SV *val = hv_delete(RETVAL, params[i].field, strlen(params[i].field), 0);
+ SvREFCNT_inc(val);
(void)hv_store(RETVAL, field, strlen(field), val, 0);
}
}
@@ -5489,6 +5644,7 @@
REGISTER_CONSTANT(VIR_DOMAIN_SHUTDOWN, STATE_SHUTDOWN);
REGISTER_CONSTANT(VIR_DOMAIN_SHUTOFF, STATE_SHUTOFF);
REGISTER_CONSTANT(VIR_DOMAIN_CRASHED, STATE_CRASHED);
+ REGISTER_CONSTANT(VIR_DOMAIN_PMSUSPENDED, STATE_PMSUSPENDED);
REGISTER_CONSTANT(VIR_DUMP_CRASH, DUMP_CRASH);
REGISTER_CONSTANT(VIR_DUMP_LIVE, DUMP_LIVE);
@@ -5517,6 +5673,7 @@
REGISTER_CONSTANT(VIR_DOMAIN_RUNNING_UNPAUSED, STATE_RUNNING_UNPAUSED);
REGISTER_CONSTANT(VIR_DOMAIN_RUNNING_MIGRATION_CANCELED, STATE_RUNNING_MIGRATION_CANCELED);
REGISTER_CONSTANT(VIR_DOMAIN_RUNNING_SAVE_CANCELED, STATE_RUNNING_SAVE_CANCELED);
+ REGISTER_CONSTANT(VIR_DOMAIN_RUNNING_WAKEUP, STATE_RUNNING_WAKEUP);
REGISTER_CONSTANT(VIR_DOMAIN_BLOCKED_UNKNOWN, STATE_RUNNING_UNKNOWN);
@@ -5544,8 +5701,13 @@
REGISTER_CONSTANT(VIR_DOMAIN_CRASHED_UNKNOWN, STATE_CRASHED_UNKNOWN);
+ REGISTER_CONSTANT(VIR_DOMAIN_PMSUSPENDED_UNKNOWN, STATE_PMSUSPENDED_UNKNOWN);
+
REGISTER_CONSTANT(VIR_DOMAIN_OPEN_GRAPHICS_SKIPAUTH, OPEN_GRAPHICS_SKIPAUTH);
+ REGISTER_CONSTANT(VIR_DOMAIN_CONSOLE_FORCE, OPEN_CONSOLE_FORCE);
+ REGISTER_CONSTANT(VIR_DOMAIN_CONSOLE_SAFE, OPEN_CONSOLE_SAFE);
+
/* NB: skip VIR_DOMAIN_SCHED_FIELD_* constants, because
those are not used from Perl code - handled internally
in the XS layer */
@@ -5559,6 +5721,7 @@
REGISTER_CONSTANT(VIR_MIGRATE_NON_SHARED_DISK, MIGRATE_NON_SHARED_DISK);
REGISTER_CONSTANT(VIR_MIGRATE_NON_SHARED_INC, MIGRATE_NON_SHARED_INC);
REGISTER_CONSTANT(VIR_MIGRATE_CHANGE_PROTECTION, MIGRATE_CHANGE_PROTECTION);
+ REGISTER_CONSTANT(VIR_MIGRATE_UNSAFE, MIGRATE_UNSAFE);
REGISTER_CONSTANT(VIR_DOMAIN_XML_SECURE, XML_SECURE);
@@ -5604,6 +5767,7 @@
REGISTER_CONSTANT(VIR_DOMAIN_EVENT_STARTED_MIGRATED, EVENT_STARTED_MIGRATED);
REGISTER_CONSTANT(VIR_DOMAIN_EVENT_STARTED_RESTORED, EVENT_STARTED_RESTORED);
REGISTER_CONSTANT(VIR_DOMAIN_EVENT_STARTED_FROM_SNAPSHOT, EVENT_STARTED_FROM_SNAPSHOT);
+ REGISTER_CONSTANT(VIR_DOMAIN_EVENT_STARTED_WAKEUP, EVENT_STARTED_WAKEUP);
REGISTER_CONSTANT(VIR_DOMAIN_EVENT_SUSPENDED_PAUSED, EVENT_SUSPENDED_PAUSED);
REGISTER_CONSTANT(VIR_DOMAIN_EVENT_SUSPENDED_MIGRATED, EVENT_SUSPENDED_MIGRATED);
@@ -5673,6 +5837,9 @@
REGISTER_CONSTANT(VIR_DOMAIN_EVENT_ID_CONTROL_ERROR, EVENT_ID_CONTROL_ERROR);
REGISTER_CONSTANT(VIR_DOMAIN_EVENT_ID_BLOCK_JOB, EVENT_ID_BLOCK_JOB);
REGISTER_CONSTANT(VIR_DOMAIN_EVENT_ID_DISK_CHANGE, EVENT_ID_DISK_CHANGE);
+ REGISTER_CONSTANT(VIR_DOMAIN_EVENT_ID_PMSUSPEND, EVENT_ID_PMSUSPEND);
+ REGISTER_CONSTANT(VIR_DOMAIN_EVENT_ID_PMWAKEUP, EVENT_ID_PMWAKEUP);
+ REGISTER_CONSTANT(VIR_DOMAIN_EVENT_ID_TRAY_CHANGE, EVENT_ID_TRAY_CHANGE);
REGISTER_CONSTANT(VIR_DOMAIN_EVENT_WATCHDOG_NONE, EVENT_WATCHDOG_NONE);
REGISTER_CONSTANT(VIR_DOMAIN_EVENT_WATCHDOG_PAUSE, EVENT_WATCHDOG_PAUSE);
@@ -5695,6 +5862,9 @@
REGISTER_CONSTANT(VIR_DOMAIN_EVENT_DISK_CHANGE_MISSING_ON_START, EVENT_DISK_CHANGE_MISSING_ON_START);
+ REGISTER_CONSTANT(VIR_DOMAIN_EVENT_TRAY_CHANGE_OPEN, EVENT_TRAY_CHANGE_OPEN);
+ REGISTER_CONSTANT(VIR_DOMAIN_EVENT_TRAY_CHANGE_CLOSE, EVENT_TRAY_CHANGE_CLOSE);
+
REGISTER_CONSTANT_STR(VIR_DOMAIN_MEMORY_HARD_LIMIT, MEMORY_HARD_LIMIT);
REGISTER_CONSTANT_STR(VIR_DOMAIN_MEMORY_SOFT_LIMIT, MEMORY_SOFT_LIMIT);
REGISTER_CONSTANT_STR(VIR_DOMAIN_MEMORY_MIN_GUARANTEE, MEMORY_MIN_GUARANTEE);
@@ -5732,6 +5902,9 @@
REGISTER_CONSTANT_STR(VIR_DOMAIN_BLOCK_IOTUNE_WRITE_IOPS_SEC, BLOCK_IOTUNE_WRITE_BYTES_SEC);
+ REGISTER_CONSTANT(VIR_DOMAIN_BLOCK_RESIZE_BYTES, BLOCK_RESIZE_BYTES);
+
+
REGISTER_CONSTANT_STR(VIR_DOMAIN_NUMA_NODESET, NUMA_NODESET);
REGISTER_CONSTANT_STR(VIR_DOMAIN_NUMA_MODE, NUMA_MODE);
@@ -5789,6 +5962,7 @@
REGISTER_CONSTANT(VIR_DOMAIN_SNAPSHOT_CREATE_DISK_ONLY, CREATE_DISK_ONLY);
REGISTER_CONSTANT(VIR_DOMAIN_SNAPSHOT_CREATE_REUSE_EXT, CREATE_REUSE_EXT);
REGISTER_CONSTANT(VIR_DOMAIN_SNAPSHOT_CREATE_QUIESCE, CREATE_QUIESCE);
+ REGISTER_CONSTANT(VIR_DOMAIN_SNAPSHOT_CREATE_ATOMIC, CREATE_ATOMIC);
REGISTER_CONSTANT(VIR_DOMAIN_SNAPSHOT_LIST_ROOTS, LIST_ROOTS);
REGISTER_CONSTANT(VIR_DOMAIN_SNAPSHOT_LIST_DESCENDANTS, LIST_DESCENDANTS);
@@ -5916,6 +6090,8 @@
REGISTER_CONSTANT(VIR_FROM_LOCKING, FROM_LOCKING);
REGISTER_CONSTANT(VIR_FROM_HYPERV, FROM_HYPERV);
REGISTER_CONSTANT(VIR_FROM_CAPABILITIES, FROM_CAPABILITIES);
+ REGISTER_CONSTANT(VIR_FROM_AUTH, FROM_AUTH);
+ REGISTER_CONSTANT(VIR_FROM_URI, FROM_URI);
REGISTER_CONSTANT(VIR_ERR_OK, ERR_OK);
@@ -5999,4 +6175,6 @@
REGISTER_CONSTANT(VIR_ERR_OPERATION_ABORTED, ERR_OPERATION_ABORTED);
REGISTER_CONSTANT(VIR_ERR_AUTH_CANCELLED, ERR_AUTH_CANCELLED);
REGISTER_CONSTANT(VIR_ERR_NO_DOMAIN_METADATA, ERR_NO_DOMAIN_METADATA);
+ REGISTER_CONSTANT(VIR_ERR_MIGRATE_UNSAFE, ERR_MIGRATE_UNSAFE);
+ REGISTER_CONSTANT(VIR_ERR_OVERFLOW, ERR_OVERFLOW);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-0.9.10/lib/Sys/Virt/Domain.pm new/Sys-Virt-0.9.11/lib/Sys/Virt/Domain.pm
--- old/Sys-Virt-0.9.10/lib/Sys/Virt/Domain.pm 2012-02-13 18:51:36.000000000 +0100
+++ new/Sys-Virt-0.9.11/lib/Sys/Virt/Domain.pm 2012-04-16 12:24:52.000000000 +0200
@@ -163,6 +163,10 @@
Resume execution of a domain previously halted with the C<suspend>
method.
+=item $dom->pm_wakeup()
+
+Wakeup the guest from power management suspend state
+
=item $dom->pm_suspend_for_duration($target, $duration, $flags=0)
Tells the guest OS to enter the power management suspend state
@@ -326,6 +330,10 @@
The guest is running after a resume
+=item Sys::Virt::Domain::STATE_RUNNING_WAKEUP
+
+The guest is running after wakeup from power management suspend
+
=item Sys::Virt::Domain::STATE_SHUTDOWN_UNKNOWN
It is not known why the domain has shutdown
@@ -366,6 +374,10 @@
It is not known why the domain has shutoff
+=item Sys::Virt::Domain::STATE_PMSUSPENDED_UNKNOWN
+
+It is not known why the domain was suspended
+
=back
=item my $info = $dom->get_control_info($flags=0)
@@ -552,10 +564,10 @@
Return the scheduler type for the guest domain
-=item %stats = $dom->block_stats($path)
+=item $stats = $dom->block_stats($path)
Fetch the current I/O statistics for the block device given by C<$path>.
-The returned hash contains keys for
+The returned hash reference contains keys for
=over 4
@@ -581,9 +593,11 @@
=back
-=item my %params = $dom->get_scheduler_parameters($flags=0)
+=item my $params = $dom->get_scheduler_parameters($flags=0)
-Return the set of scheduler tunable parameters for the guest.
+Return the set of scheduler tunable parameters for the guest,
+as a hash reference. The precise set of keys in the hash
+are specific to the hypervisor.
=item $dom->set_scheduler_parameters($params, $flags=0)
@@ -615,7 +629,7 @@
C<$params> should be a hash reference whose keys are one
of the BLKIO PARAMETERS constants.
-=item %stats = $dom->get_block_iotune($disk, $flags=0)
+=item $stats = $dom->get_block_iotune($disk, $flags=0)
Return a hash reference containing the set of blkio tunable
parameters for the guest disk C<$disk>. The keys in the hash
@@ -653,17 +667,18 @@
=item $dom->block_resize($disk, $newsize, $flags=0)
-Resize the disk C<$disk> to have new size C<$newsize>. If the disk
+Resize the disk C<$disk> to have new size C<$newsize> KB. If the disk
is backed by a special image format, the actual resize is done by the
hypervisor. If the disk is backed by a raw file, or block device,
the resize must be done prior to invoking this API call, and it
-merely updates the hypervisor's view of the disk size.
+merely updates the hypervisor's view of the disk size. The following
+flags may be used
=over 4
-=item C<weight>
+=item Sys::Virt::Domain::BLOCK_RESIZE_BYTES
-Relative I/O weighting
+Treat C<$newsize> as if it were in bytes, rather than KB.
=back
@@ -742,12 +757,13 @@
=back
-=item %info = $dom->get_security_label()
+=item $info = $dom->get_security_label()
Fetch information about the security label assigned to the guest
-domain. The returned hash has two keys, C<model> gives the name
-of the security model in effect (eg C<selinux>), while C<label>
-provides the name of the security label applied to the domain.
+domain. The returned hash reference has two keys, C<model> gives
+the name of the security model in effect (eg C<selinux>), while
+C<label> provides the name of the security label applied to the
+domain.
=item $ddom = $dom->migrate(destcon, flags, dname, uri, bandwidth)
@@ -812,13 +828,13 @@
=item $dom->migrate_set_max_speed($bandwidth, $flags)
Set the maximum allowed bandwidth during migration of the guest.
-The C<bandwidth> parameter is measured in kilobytes/second.
+The C<bandwidth> parameter is measured in MB/second.
The C<$flags> parameter is currently unused and defaults to zero.
=item $bandwidth = $dom->migrate_get_max_speed($flag)
Get the maximum allowed bandwidth during migration fo the guest.
-The returned <bandwidth> value is measured in kilobytes/second.
+The returned <bandwidth> value is measured in MB/second.
The C<$flags> parameter is currently unused and defaults to zero.
=item $dom->inject_nmi($flags)
@@ -896,7 +912,7 @@
Change the maximum I/O bandwidth used by the block job that
is currently executing for C<$path>. The C<$bandwidth> argument
-is specified in KB/s
+is specified in MB/s
=item $dom->abort_block_job($path, $flags=0)
@@ -907,13 +923,13 @@
Merge the backing files associated with C<$path> into the
top level file. The C<$bandwidth> parameter specifies the
-maximum I/O rate to allow in KB/s.
+maximum I/O rate to allow in MB/s.
=item $dom->block_rebase($path, $backingpath, $bandwith, $flags=0)
Switch the backing path associated with C<$path> to instead
use C<$backingpath>. The C<$bandwidth> parameter specifies the
-maximum I/O rate to allow in KB/s.
+maximum I/O rate to allow in MB/s.
=item $count = $dom->num_of_snapshots()
@@ -1092,6 +1108,10 @@
The domain is inactive, and crashed.
+=item Sys::Virt::Domain::STATE_PMSUSPENDED
+
+The domain is active, but in power management suspend state
+
=back
@@ -1250,6 +1270,25 @@
=back
+
+=head2 OPEN CONSOLE CONSTANTS
+
+The following constants are used when opening a connection
+to the guest console
+
+=over 4
+
+=item Sys::Virt::Domain::OPEN_CONSOLE_FORCE
+
+Force opening of the console, disconnecting any other
+open session
+
+=item Sys::Virt::Domain::OPEN_CONSOLE_SAFE
+
+Check if the console driver supports safe operations
+
+=back
+
=head2 XML DUMP OPTIONS
The following constants are used to control the information
@@ -1398,6 +1437,11 @@
migration is taking place. This option is automatically implied
if doing a peer-2-peer migration.
+=item Sys::Virt::Domain::MIGRATE_UNSAFE
+
+Migrate even if the compatibility check indicates the migration
+will be unsafe to the guest.
+
=back
=head2 UNDEFINE CONSTANTS
@@ -1733,6 +1777,10 @@
The domain was restored from a snapshot
+=item Sys::Virt::Domain::EVENT_STARTED_WAKEUP
+
+The domain was woken up from suspend
+
=back
=item Sys::Virt::Domain::EVENT_STOPPED
@@ -1832,6 +1880,18 @@
=back
+=item Sys::Virt::Domain::EVENT_PMSUSPENDED
+
+The domain has stopped running
+
+=over 4
+
+=item Sys::Virt::Domain::EVENT_PMSUSPENDED_UNKNOWN
+
+The domain has suspend for an unknown reason
+
+=back
+
=back
=head2 EVENT ID CONSTANTS
@@ -1878,6 +1938,18 @@
Changes in disk media
+=item Sys::Virt::Domain::EVENT_ID_TRAY_CHANGE
+
+CDROM media tray state
+
+=item Sys::Virt::Domain::EVENT_ID_PMSUSPEND
+
+Power management initiated suspend
+
+=item Sys::Virt::Domain::EVENT_ID_PMWAKEUP
+
+Power management initiated wakeup
+
=back
=head2 IO ERROR EVENT CONSTANTS
@@ -1986,6 +2058,22 @@
=back
+=head2 TRAY CHANGE CONSTANTS
+
+These constants describe the reason for a tray change event
+
+=over 4
+
+=item Sys::Virt::Domain::EVENT_TRAY_CHANGE_CLOSE
+
+The tray was closed
+
+=item Sys::Virt::Domain::EVENT_TRAY_CHANGE_OPEN
+
+The tray was opened
+
+=back
+
=head2 DOMAIN BLOCK JOB TYPE CONSTANTS
The following constants identify the different types of domain
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-0.9.10/lib/Sys/Virt/DomainSnapshot.pm new/Sys-Virt-0.9.11/lib/Sys/Virt/DomainSnapshot.pm
--- old/Sys-Virt-0.9.10/lib/Sys/Virt/DomainSnapshot.pm 2012-02-13 18:51:36.000000000 +0100
+++ new/Sys-Virt-0.9.11/lib/Sys/Virt/DomainSnapshot.pm 2012-04-16 12:24:52.000000000 +0200
@@ -159,6 +159,10 @@
Reuse the existing snapshot data files (if any)
+=item Sys::Virt::DomainSnapshot::CREATE_ATOMIC
+
+Create multiple disk snapshots atomically
+
=back
=head2 SNAPSHOT DELETION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-0.9.10/lib/Sys/Virt/Error.pm new/Sys-Virt-0.9.11/lib/Sys/Virt/Error.pm
--- old/Sys-Virt-0.9.10/lib/Sys/Virt/Error.pm 2012-02-13 18:51:36.000000000 +0100
+++ new/Sys-Virt-0.9.11/lib/Sys/Virt/Error.pm 2012-04-16 12:24:52.000000000 +0200
@@ -314,6 +314,14 @@
The capabilities driver
+=item Sys::Virt::Error::FROM_AUTH
+
+The authentication handling code
+
+=item Sys::Virt::Error::FROM_URI
+
+The URI handling code
+
=back
=head2 ERROR CODE CONSTANTS
@@ -648,6 +656,14 @@
The requested metadata does not exist
+=item Sys::Virt::Error::ERR_MIGRATE_UNSAFE
+
+The migration operation would be unsafe to perform
+
+=item Sys::Virt::ERror::ERR_OVERFLOW
+
+The calculation would overflow
+
=back
=head1 AUTHORS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-0.9.10/lib/Sys/Virt/StoragePool.pm new/Sys-Virt-0.9.11/lib/Sys/Virt/StoragePool.pm
--- old/Sys-Virt-0.9.10/lib/Sys/Virt/StoragePool.pm 2012-02-13 18:51:36.000000000 +0100
+++ new/Sys-Virt-0.9.11/lib/Sys/Virt/StoragePool.pm 2012-04-16 12:24:52.000000000 +0200
@@ -150,10 +150,10 @@
Delete the storage pool. The C<$flags> parameter allows the data to
be optionally wiped during delete and if omitted defaults to zero.
-=item %info = $pool->get_info()
+=item $info = $pool->get_info()
Retrieve information about the current storage pool state. The
-returned hash has the following keys
+returned hash reference has the following keys
=over 4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-0.9.10/lib/Sys/Virt/StorageVol.pm new/Sys-Virt-0.9.11/lib/Sys/Virt/StorageVol.pm
--- old/Sys-Virt-0.9.10/lib/Sys/Virt/StorageVol.pm 2012-02-13 18:51:36.000000000 +0100
+++ new/Sys-Virt-0.9.11/lib/Sys/Virt/StorageVol.pm 2012-04-16 12:24:52.000000000 +0200
@@ -118,11 +118,11 @@
listed later. The C<flags> parameter is currently unused and defaults
to zero.
-=item my %info = $vol->get_info()
+=item my $info = $vol->get_info()
Retrieve live information about the storage volume. The returned
-C<%info> hash contains three keys. C<type> indicates whether the
-volume is a file or block device. C<capacity> provides the maximum
+C<$info> hash reference contains three keys. C<type> indicates whether
+the volume is a file or block device. C<capacity> provides the maximum
logical size of the volume. C<allocation> provides the current
physical usage of the volume. The allocation may be less than the
capacity for sparse, or grow-on-demand volumes. The allocation
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-0.9.10/lib/Sys/Virt.pm new/Sys-Virt-0.9.11/lib/Sys/Virt.pm
--- old/Sys-Virt-0.9.10/lib/Sys/Virt.pm 2012-02-13 18:51:36.000000000 +0100
+++ new/Sys-Virt-0.9.11/lib/Sys/Virt.pm 2012-04-16 12:24:52.000000000 +0200
@@ -45,7 +45,14 @@
Any operations in the Sys::Virt API which have failure scenarios
will result in an instance of the LSys::Virt::Error module being
thrown. To catch these errors, simply wrap the method in an eval
-block. For details of the information contained in the error objects,
+block:
+
+ eval { my $vmm = Sys::Virt->new(address => $addr); };
+ if ($@) {
+ print STDERR "Unable to open connection to $addr" . $@->message . "\n";
+ }
+
+For details of the information contained in the error objects,
consult the LSys::Virt::Error manual page.
=head1 METHODS
@@ -71,7 +78,7 @@
use Sys::Virt::DomainSnapshot;
use Sys::Virt::Stream;
-our $VERSION = '0.9.10';
+our $VERSION = '0.9.11';
require XSLoader;
XSLoader::load('Sys::Virt', $VERSION);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-0.9.10/perl-Sys-Virt.spec new/Sys-Virt-0.9.11/perl-Sys-Virt.spec
--- old/Sys-Virt-0.9.10/perl-Sys-Virt.spec 2012-02-13 18:51:50.000000000 +0100
+++ new/Sys-Virt-0.9.11/perl-Sys-Virt.spec 2012-04-16 12:25:09.000000000 +0200
@@ -1,7 +1,7 @@
# Automatically generated by perl-Sys-Virt.spec.PL
Name: perl-Sys-Virt
-Version: 0.9.10
+Version: 0.9.11
Release: 1%{?dist}%{?extra_release}
Summary: Represent and manage a libvirt hypervisor connection
License: GPLv2+ or Artistic
@@ -15,7 +15,7 @@
BuildRequires: perl(Test::CPAN::Changes)
BuildRequires: perl(XML::XPath)
BuildRequires: perl(Time::HiRes)
-BuildRequires: libvirt-devel >= 0.9.10
+BuildRequires: libvirt-devel >= 0.9.11
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
%description
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-0.9.10/perl-Sys-Virt.spec.PL new/Sys-Virt-0.9.11/perl-Sys-Virt.spec.PL
--- old/Sys-Virt-0.9.10/perl-Sys-Virt.spec.PL 2012-02-13 18:51:36.000000000 +0100
+++ new/Sys-Virt-0.9.11/perl-Sys-Virt.spec.PL 2012-04-16 12:24:52.000000000 +0200
@@ -37,7 +37,7 @@
BuildRequires: perl(Test::CPAN::Changes)
BuildRequires: perl(XML::XPath)
BuildRequires: perl(Time::HiRes)
-BuildRequires: libvirt-devel >= 0.9.10
+BuildRequires: libvirt-devel >= 0.9.11
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
%description
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-0.9.10/t/030-api-coverage.t new/Sys-Virt-0.9.11/t/030-api-coverage.t
--- old/Sys-Virt-0.9.10/t/030-api-coverage.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Sys-Virt-0.9.11/t/030-api-coverage.t 2012-04-16 12:24:52.000000000 +0200
@@ -0,0 +1,119 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+use XML::XPath;
+
+use Test::More;
+
+unless ($ENV{TEST_MAINTAINER}) {
+ plan skip_all => "Test only for module maintainer. Set TEST_MAINTAINER=1 to run";
+}
+
+my $apifile = `pkg-config --variable=libvirt_api libvirt`;
+chomp $apifile;
+
+open API, "<", $apifile or die "cannot read $apifile: $!";
+my $xml;
+{
+ local $/ = undef;
+ $xml = <API>;
+};
+close API;
+
+
+my $count = 0;
+
+my $xp = XML::XPath->new($xml);
+
+my @enums;
+my @functions;
+
+my $set = $xp->find('/api/files/file/exports[@type="function"]/@symbol');
+foreach my $n ($set->get_nodelist) {
+ $count++;
+ push @functions, $n->getData();
+}
+
+$set = $xp->find('/api/files/file/exports[@type="enum"]/@symbol');
+foreach my $n ($set->get_nodelist) {
+ $count++;
+ push @enums, $n->getData();
+}
+
+
+open XS, "