diff --git a/.gitignore b/.gitignore index 45e7e4c..e6d8bd2 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/Sys-Virt-1.2.8.tar.gz +SOURCES/Sys-Virt-1.2.17.tar.gz diff --git a/.perl-Sys-Virt.metadata b/.perl-Sys-Virt.metadata index f008e7c..01e6891 100644 --- a/.perl-Sys-Virt.metadata +++ b/.perl-Sys-Virt.metadata @@ -1 +1 @@ -e52de62759e3bccbb208c249f83fc6a7b9b1d9d0 SOURCES/Sys-Virt-1.2.8.tar.gz +8cbbb69d678c19f970c0a3d3a8e474747f59eab0 SOURCES/Sys-Virt-1.2.17.tar.gz diff --git a/SOURCES/0001-Add-VIR_DOMAIN_JOB_STATS_COMPLETED-constant.patch b/SOURCES/0001-Add-VIR_DOMAIN_JOB_STATS_COMPLETED-constant.patch deleted file mode 100644 index 8f0d726..0000000 --- a/SOURCES/0001-Add-VIR_DOMAIN_JOB_STATS_COMPLETED-constant.patch +++ /dev/null @@ -1,56 +0,0 @@ -From ef80bc61e8d9131c957503dd1607324283fd9a38 Mon Sep 17 00:00:00 2001 -From: "Daniel P. Berrange" -Date: Thu, 11 Sep 2014 11:35:48 +0100 -Subject: [PATCH] Add VIR_DOMAIN_JOB_STATS_COMPLETED constant - -Signed-off-by: Daniel P. Berrange -(cherry picked from commit 947f0706ddd83f503943f058e34e5244c7435244) ---- - Virt.xs | 2 ++ - lib/Sys/Virt/Domain.pm | 13 ++++++++++++- - 2 files changed, 14 insertions(+), 1 deletion(-) - -diff --git a/Virt.xs b/Virt.xs -index ba74519..55d8946 100644 ---- a/Virt.xs -+++ b/Virt.xs -@@ -7231,6 +7231,8 @@ BOOT: - REGISTER_CONSTANT(VIR_DOMAIN_JOB_FAILED, JOB_FAILED); - REGISTER_CONSTANT(VIR_DOMAIN_JOB_CANCELLED, JOB_CANCELLED); - -+ REGISTER_CONSTANT(VIR_DOMAIN_JOB_STATS_COMPLETED, JOB_STATS_COMPLETED); -+ - REGISTER_CONSTANT_STR(VIR_DOMAIN_JOB_COMPRESSION_BYTES, JOB_COMPRESSION_BYTES); - REGISTER_CONSTANT_STR(VIR_DOMAIN_JOB_COMPRESSION_CACHE, JOB_COMPRESSION_CACHE); - REGISTER_CONSTANT_STR(VIR_DOMAIN_JOB_COMPRESSION_CACHE_MISSES, JOB_COMPRESSION_CACHE_MISSES); -diff --git a/lib/Sys/Virt/Domain.pm b/lib/Sys/Virt/Domain.pm -index 2264a1c..db9e548 100644 ---- a/lib/Sys/Virt/Domain.pm -+++ b/lib/Sys/Virt/Domain.pm -@@ -1281,7 +1281,7 @@ The expected amount of file remaining to be processed by the job, in bytes. - - =back - --=item my ($type, $stats) = $dom->get_job_stats() -+=item my ($type, $stats) = $dom->get_job_stats($flags=0) - - Returns an array summarising the execution state of the - background job. The C<$type> value is one of the JOB TYPE -@@ -1296,6 +1296,17 @@ following constants. - The type of job, one of the JOB TYPE constants listed later in - this document. - -+The C<$flags> parameter defaults to zero and can take one of -+the following constants. -+ -+=over 4 -+ -+=item Sys::Virt::Domain::JOB_STATS_COMPLETED -+ -+Return the stats of the most recently completed job. -+ -+=back -+ - =item Sys::Virt::Domain::JOB_TIME_ELAPSED - - The elapsed time in milliseconds diff --git a/SOURCES/0001-Add-VIR_ERR_MIGRATE_FINISH_OK-constant.patch b/SOURCES/0001-Add-VIR_ERR_MIGRATE_FINISH_OK-constant.patch new file mode 100644 index 0000000..e0cff17 --- /dev/null +++ b/SOURCES/0001-Add-VIR_ERR_MIGRATE_FINISH_OK-constant.patch @@ -0,0 +1,36 @@ +From b25ab2bb8869d7606d106f1a928cdd33e6e55d64 Mon Sep 17 00:00:00 2001 +From: "Daniel P. Berrange" +Date: Fri, 17 Jul 2015 14:59:08 +0100 +Subject: [PATCH] Add VIR_ERR_MIGRATE_FINISH_OK constant + +(cherry picked from commit dcd67816a57415eb57407deb18ca425a9b563507) +--- + Virt.xs | 1 + + lib/Sys/Virt/Error.pm | 4 ++++ + 2 files changed, 5 insertions(+) + +diff --git a/Virt.xs b/Virt.xs +index 43ffd62..8f725e6 100644 +--- a/Virt.xs ++++ b/Virt.xs +@@ -8320,4 +8320,5 @@ BOOT: + REGISTER_CONSTANT(VIR_ERR_STORAGE_VOL_EXIST, ERR_STORAGE_VOL_EXIST); + REGISTER_CONSTANT(VIR_ERR_CPU_INCOMPATIBLE, ERR_CPU_INCOMPATIBLE); + REGISTER_CONSTANT(VIR_ERR_XML_INVALID_SCHEMA, ERR_INVALID_SCHEMA); ++ REGISTER_CONSTANT(VIR_ERR_MIGRATE_FINISH_OK, ERR_MIGRATE_FINISH_OK); + } +diff --git a/lib/Sys/Virt/Error.pm b/lib/Sys/Virt/Error.pm +index 43f4862..d254daa 100644 +--- a/lib/Sys/Virt/Error.pm ++++ b/lib/Sys/Virt/Error.pm +@@ -768,6 +768,10 @@ The CPUs are not compatible + + The XML document does not comply with the XML schema + ++=item Sys::Virt::Error::ERR_MIGRATE_FINISH_OK ++ ++Migration finished but expected to return NULL domain. ++ + =back + + =head1 AUTHORS diff --git a/SOURCES/0002-Add-VIR_DOMAIN_UNDEFINE_NVRAM-constant.patch b/SOURCES/0002-Add-VIR_DOMAIN_UNDEFINE_NVRAM-constant.patch deleted file mode 100644 index 39af620..0000000 --- a/SOURCES/0002-Add-VIR_DOMAIN_UNDEFINE_NVRAM-constant.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 01be795989b56597042072396eaaa38df32c948a Mon Sep 17 00:00:00 2001 -From: "Daniel P. Berrange" -Date: Fri, 12 Sep 2014 14:21:19 +0100 -Subject: [PATCH] Add VIR_DOMAIN_UNDEFINE_NVRAM constant - -(cherry picked from commit 934b35f2060d25a51aa20298b3f0266d235321b5) ---- - Virt.xs | 1 + - lib/Sys/Virt/Domain.pm | 5 +++++ - 2 files changed, 6 insertions(+) - -diff --git a/Virt.xs b/Virt.xs -index 55d8946..ed7c75b 100644 ---- a/Virt.xs -+++ b/Virt.xs -@@ -7014,6 +7014,7 @@ BOOT: - - REGISTER_CONSTANT(VIR_DOMAIN_UNDEFINE_MANAGED_SAVE, UNDEFINE_MANAGED_SAVE); - REGISTER_CONSTANT(VIR_DOMAIN_UNDEFINE_SNAPSHOTS_METADATA, UNDEFINE_SNAPSHOTS_METADATA); -+ REGISTER_CONSTANT(VIR_DOMAIN_UNDEFINE_NVRAM, UNDEFINE_NVRAM); - - REGISTER_CONSTANT(VIR_DOMAIN_START_PAUSED, START_PAUSED); - REGISTER_CONSTANT(VIR_DOMAIN_START_AUTODESTROY, START_AUTODESTROY); -diff --git a/lib/Sys/Virt/Domain.pm b/lib/Sys/Virt/Domain.pm -index db9e548..dd7d19d 100644 ---- a/lib/Sys/Virt/Domain.pm -+++ b/lib/Sys/Virt/Domain.pm -@@ -2004,6 +2004,11 @@ domain - Also remove any snapshot metadata when undefining the virtual - domain. - -+=item Sys::Virt::Domain::UNDEFINE_NVRAM -+ -+Also remove any NVRAM state file when undefining the virtual -+domain. -+ - =back - - =head2 JOB TYPES diff --git a/SOURCES/0002-Ensure-typed-param-key-is-null-terminated.patch b/SOURCES/0002-Ensure-typed-param-key-is-null-terminated.patch new file mode 100644 index 0000000..f3451aa --- /dev/null +++ b/SOURCES/0002-Ensure-typed-param-key-is-null-terminated.patch @@ -0,0 +1,29 @@ +From c20c666cc04fd0a8258e318855bdac0a0b90ad7f Mon Sep 17 00:00:00 2001 +From: "Daniel P. Berrange" +Date: Fri, 17 Jul 2015 17:19:10 +0100 +Subject: [PATCH] Ensure typed param key is null terminated + +The strncpy() function may leave the result unterminated if +there is no \0 byte in the original string. The coverity +checker thinks vir_typed_param_add_string_list_from_hv() +suffers from this flaw. It is wrong, because all callers +pass a sane key value, but fix it anyway to keep coverity +quiet. + +(cherry picked from commit 4447d56dfb5d94188a38854b0d643e741e0df5e8) +--- + Virt.xs | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Virt.xs b/Virt.xs +index 8f725e6..6613fb7 100644 +--- a/Virt.xs ++++ b/Virt.xs +@@ -297,6 +297,7 @@ vir_typed_param_add_string_list_from_hv(HV *newparams, + + strncpy(localparams[*nparams + i].field, key, + VIR_TYPED_PARAM_FIELD_LENGTH); ++ 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; diff --git a/SOURCES/0003-Add-virConnectDomainEventTunable-event-callback-cons.patch b/SOURCES/0003-Add-virConnectDomainEventTunable-event-callback-cons.patch deleted file mode 100644 index c2bb57e..0000000 --- a/SOURCES/0003-Add-virConnectDomainEventTunable-event-callback-cons.patch +++ /dev/null @@ -1,451 +0,0 @@ -From 808e539a93e7e886763721852f68450afd958a1a Mon Sep 17 00:00:00 2001 -From: "Daniel P. Berrange" -Date: Fri, 26 Sep 2014 14:17:16 +0100 -Subject: [PATCH] Add virConnectDomainEventTunable event callback & constants - -Signed-off-by: Daniel P. Berrange -(cherry picked from commit 8a55270db52966d8de67fa2b6ddca4b5c1cdd3d6) ---- - Virt.xs | 290 ++++++++++++++++++++++++++++++------------------- - lib/Sys/Virt/Domain.pm | 72 ++++++++++++ - t/030-api-coverage.t | 1 + - 3 files changed, 249 insertions(+), 114 deletions(-) - -diff --git a/Virt.xs b/Virt.xs -index ed7c75b..e5d2293 100644 ---- a/Virt.xs -+++ b/Virt.xs -@@ -158,6 +158,120 @@ _populate_constant_ull(HV *stash, const char *name, unsigned long long val) - #define REGISTER_CONSTANT_STR(name, key) _populate_constant_str(stash, #key, name) - #define REGISTER_CONSTANT_ULL(name, key) _populate_constant_ull(stash, #key, name) - -+static HV * -+vir_typed_param_to_hv(virTypedParameter *params, int nparams) -+{ -+ 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; -+ -+ switch (params[i].type) { -+ case VIR_TYPED_PARAM_INT: -+ val = newSViv(params[i].value.i); -+ break; -+ -+ case VIR_TYPED_PARAM_UINT: -+ val = newSViv((int)params[i].value.ui); -+ break; -+ -+ case VIR_TYPED_PARAM_LLONG: -+ val = virt_newSVll(params[i].value.l); -+ break; -+ -+ case VIR_TYPED_PARAM_ULLONG: -+ val = virt_newSVull(params[i].value.ul); -+ break; -+ -+ case VIR_TYPED_PARAM_DOUBLE: -+ val = newSVnv(params[i].value.d); -+ break; -+ -+ 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; -+ (void)hv_store(ret, field, strlen(params[i].field), val, 0); -+ } -+ -+ return ret; -+} -+ -+ -+static int -+vir_typed_param_from_hv(HV *newparams, virTypedParameter *params, int nparams) -+{ -+ unsigned int i; -+ char * ptr; -+ STRLEN len; -+ -+ /* We only want to set parameters which we're actually changing -+ * so here we figure out which elements of 'params' we need to -+ * update, and overwrite the others -+ */ -+ for (i = 0 ; i < nparams ;) { -+ if (!hv_exists(newparams, params[i].field, strlen(params[i].field))) { -+ if ((nparams-i) > 1) -+ memmove(params+i, params+i+1, sizeof(*params)*(nparams-(i+1))); -+ nparams--; -+ continue; -+ } -+ -+ i++; -+ } -+ -+ for (i = 0 ; i < nparams ; i++) { -+ SV **val; -+ -+ val = hv_fetch (newparams, params[i].field, strlen(params[i].field), 0); -+ -+ switch (params[i].type) { -+ case VIR_TYPED_PARAM_INT: -+ params[i].value.i = SvIV(*val); -+ break; -+ -+ case VIR_TYPED_PARAM_UINT: -+ params[i].value.ui = SvIV(*val); -+ break; -+ -+ case VIR_TYPED_PARAM_LLONG: -+ params[i].value.l = virt_SvIVll(*val); -+ break; -+ -+ case VIR_TYPED_PARAM_ULLONG: -+ params[i].value.ul = virt_SvIVull(*val); -+ break; -+ -+ case VIR_TYPED_PARAM_DOUBLE: -+ params[i].value.d = SvNV(*val); -+ break; -+ -+ case VIR_TYPED_PARAM_BOOLEAN: -+ params[i].value.b = SvIV(*val); -+ break; -+ -+ case VIR_TYPED_PARAM_STRING: -+ ptr = SvPV(*val, len); -+ params[i].value.s = (char *)ptr; -+ break; -+ } -+ } -+ -+ return nparams; -+} -+ -+ - static int - _domain_event_lifecycle_callback(virConnectPtr con, - virDomainPtr dom, -@@ -782,6 +896,49 @@ _domain_event_device_removed_callback(virConnectPtr con, - - - static int -+_domain_event_tunable_callback(virConnectPtr con, -+ virDomainPtr dom, -+ virTypedParameterPtr params, -+ size_t nparams, -+ void *opaque) -+{ -+ AV *data = opaque; -+ SV **self; -+ SV **cb; -+ HV *params_hv; -+ 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); -+ -+ params_hv = vir_typed_param_to_hv(params, nparams); -+ -+ XPUSHs(domref); -+ XPUSHs(newRV(( SV*)params_hv)); -+ PUTBACK; -+ -+ call_sv(*cb, G_DISCARD); -+ -+ FREETMPS; -+ LEAVE; -+ -+ return 0; -+} -+ -+ -+static int - _network_event_lifecycle_callback(virConnectPtr con, - virNetworkPtr net, - int event, -@@ -1358,120 +1515,6 @@ _stream_recv_all_sink(virStreamPtr st, - } - - --static HV * --vir_typed_param_to_hv(virTypedParameter *params, int nparams) --{ -- 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; -- -- switch (params[i].type) { -- case VIR_TYPED_PARAM_INT: -- val = newSViv(params[i].value.i); -- break; -- -- case VIR_TYPED_PARAM_UINT: -- val = newSViv((int)params[i].value.ui); -- break; -- -- case VIR_TYPED_PARAM_LLONG: -- val = virt_newSVll(params[i].value.l); -- break; -- -- case VIR_TYPED_PARAM_ULLONG: -- val = virt_newSVull(params[i].value.ul); -- break; -- -- case VIR_TYPED_PARAM_DOUBLE: -- val = newSVnv(params[i].value.d); -- break; -- -- 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; -- (void)hv_store(ret, field, strlen(params[i].field), val, 0); -- } -- -- return ret; --} -- -- --static int --vir_typed_param_from_hv(HV *newparams, virTypedParameter *params, int nparams) --{ -- unsigned int i; -- char * ptr; -- STRLEN len; -- -- /* We only want to set parameters which we're actually changing -- * so here we figure out which elements of 'params' we need to -- * update, and overwrite the others -- */ -- for (i = 0 ; i < nparams ;) { -- if (!hv_exists(newparams, params[i].field, strlen(params[i].field))) { -- if ((nparams-i) > 1) -- memmove(params+i, params+i+1, sizeof(*params)*(nparams-(i+1))); -- nparams--; -- continue; -- } -- -- i++; -- } -- -- for (i = 0 ; i < nparams ; i++) { -- SV **val; -- -- val = hv_fetch (newparams, params[i].field, strlen(params[i].field), 0); -- -- switch (params[i].type) { -- case VIR_TYPED_PARAM_INT: -- params[i].value.i = SvIV(*val); -- break; -- -- case VIR_TYPED_PARAM_UINT: -- params[i].value.ui = SvIV(*val); -- break; -- -- case VIR_TYPED_PARAM_LLONG: -- params[i].value.l = virt_SvIVll(*val); -- break; -- -- case VIR_TYPED_PARAM_ULLONG: -- params[i].value.ul = virt_SvIVull(*val); -- break; -- -- case VIR_TYPED_PARAM_DOUBLE: -- params[i].value.d = SvNV(*val); -- break; -- -- case VIR_TYPED_PARAM_BOOLEAN: -- params[i].value.b = SvIV(*val); -- break; -- -- case VIR_TYPED_PARAM_STRING: -- ptr = SvPV(*val, len); -- params[i].value.s = (char *)ptr; -- break; -- } -- } -- -- return nparams; --} -- -- - MODULE = Sys::Virt PACKAGE = Sys::Virt - - PROTOTYPES: ENABLE -@@ -2821,6 +2864,9 @@ PREINIT: - case VIR_DOMAIN_EVENT_ID_DEVICE_REMOVED: - callback = VIR_DOMAIN_EVENT_CALLBACK(_domain_event_device_removed_callback); - break; -+ case VIR_DOMAIN_EVENT_ID_TUNABLE: -+ callback = VIR_DOMAIN_EVENT_CALLBACK(_domain_event_tunable_callback); -+ break; - default: - callback = VIR_DOMAIN_EVENT_CALLBACK(_domain_event_generic_callback); - break; -@@ -7288,6 +7334,7 @@ BOOT: - REGISTER_CONSTANT(VIR_DOMAIN_EVENT_ID_TRAY_CHANGE, EVENT_ID_TRAY_CHANGE); - REGISTER_CONSTANT(VIR_DOMAIN_EVENT_ID_BALLOON_CHANGE, EVENT_ID_BALLOON_CHANGE); - REGISTER_CONSTANT(VIR_DOMAIN_EVENT_ID_DEVICE_REMOVED, EVENT_ID_DEVICE_REMOVED); -+ REGISTER_CONSTANT(VIR_DOMAIN_EVENT_ID_TUNABLE, EVENT_ID_TUNABLE); - - REGISTER_CONSTANT(VIR_DOMAIN_EVENT_WATCHDOG_NONE, EVENT_WATCHDOG_NONE); - REGISTER_CONSTANT(VIR_DOMAIN_EVENT_WATCHDOG_PAUSE, EVENT_WATCHDOG_PAUSE); -@@ -7522,6 +7569,21 @@ BOOT: - - REGISTER_CONSTANT(VIR_DOMAIN_TIME_SYNC, TIME_SYNC); - -+ REGISTER_CONSTANT_STR(VIR_DOMAIN_TUNABLE_CPU_CPU_SHARES, TUNABLE_CPU_CPU_SHARES); -+ REGISTER_CONSTANT_STR(VIR_DOMAIN_TUNABLE_CPU_EMULATORPIN, TUNABLE_CPU_EMULATORPIN); -+ REGISTER_CONSTANT_STR(VIR_DOMAIN_TUNABLE_CPU_EMULATOR_PERIOD, TUNABLE_CPU_EMULATOR_PERIOD); -+ REGISTER_CONSTANT_STR(VIR_DOMAIN_TUNABLE_CPU_EMULATOR_QUOTA, TUNABLE_CPU_EMULATOR_QUOTA); -+ REGISTER_CONSTANT_STR(VIR_DOMAIN_TUNABLE_CPU_VCPUPIN, TUNABLE_CPU_VCPUPIN); -+ REGISTER_CONSTANT_STR(VIR_DOMAIN_TUNABLE_CPU_VCPU_PERIOD, TUNABLE_CPU_VCPU_PERIOD); -+ REGISTER_CONSTANT_STR(VIR_DOMAIN_TUNABLE_CPU_VCPU_QUOTA, TUNABLE_CPU_VCPU_QUOTA); -+ REGISTER_CONSTANT_STR(VIR_DOMAIN_TUNABLE_BLKDEV_DISK, TUNABLE_BLKDEV_DISK); -+ REGISTER_CONSTANT_STR(VIR_DOMAIN_TUNABLE_BLKDEV_READ_BYTES_SEC, TUNABLE_BLKDEV_READ_BYTES_SEC); -+ REGISTER_CONSTANT_STR(VIR_DOMAIN_TUNABLE_BLKDEV_READ_IOPS_SEC, TUNABLE_BLKDEV_READ_IOPS_SEC); -+ REGISTER_CONSTANT_STR(VIR_DOMAIN_TUNABLE_BLKDEV_TOTAL_BYTES_SEC, TUNABLE_BLKDEV_TOTAL_BYTES_SEC); -+ REGISTER_CONSTANT_STR(VIR_DOMAIN_TUNABLE_BLKDEV_TOTAL_IOPS_SEC, TUNABLE_BLKDEV_TOTAL_IOPS_SEC); -+ REGISTER_CONSTANT_STR(VIR_DOMAIN_TUNABLE_BLKDEV_WRITE_BYTES_SEC, TUNABLE_BLKDEV_WRITE_BYTES_SEC); -+ REGISTER_CONSTANT_STR(VIR_DOMAIN_TUNABLE_BLKDEV_WRITE_IOPS_SEC, TUNABLE_BLKDEV_WRITE_IOPS_SEC); -+ - stash = gv_stashpv( "Sys::Virt::DomainSnapshot", TRUE ); - REGISTER_CONSTANT(VIR_DOMAIN_SNAPSHOT_DELETE_CHILDREN, DELETE_CHILDREN); - REGISTER_CONSTANT(VIR_DOMAIN_SNAPSHOT_DELETE_METADATA_ONLY, DELETE_METADATA_ONLY); -diff --git a/lib/Sys/Virt/Domain.pm b/lib/Sys/Virt/Domain.pm -index dd7d19d..67bbe52 100644 ---- a/lib/Sys/Virt/Domain.pm -+++ b/lib/Sys/Virt/Domain.pm -@@ -2556,6 +2556,13 @@ Balloon target changes - - Asynchronous guest device removal - -+=item Sys::Virt::Domain::EVENT_ID_TUNABLE -+ -+Changes of any domain tuning parameters. The callback -+will be provided with a hash listing all changed parameters. -+The later DOMAIN TUNABLE constants can be useful when accessing -+the hash keys -+ - =back - - =head2 IO ERROR EVENT CONSTANTS -@@ -3532,6 +3539,71 @@ SIGRT32 - - =back - -+=head2 DOMAIN TUNABLE CONSTANTS -+ -+The following constants are useful when accessing domain -+tuning parameters in APIs and events -+ -+=over 4 -+ -+=item Sys::Virt::Domain::TUNABLE_CPU_CPU_SHARES -+ -+Proportional CPU weight -+ -+=item Sys::Virt::Domain::TUNABLE_CPU_EMULATORPIN -+ -+Emulator thread CPU pinning mask -+ -+=item Sys::Virt::Domain::TUNABLE_CPU_EMULATOR_PERIOD -+ -+Emulator thread CPU period -+ -+=item Sys::Virt::Domain::TUNABLE_CPU_EMULATOR_QUOTA -+ -+Emulator thread CPU quota -+ -+=item Sys::Virt::Domain::TUNABLE_CPU_VCPUPIN -+ -+VCPU thread pinning mask -+ -+=item Sys::Virt::Domain::TUNABLE_CPU_VCPU_PERIOD -+ -+VCPU thread period -+ -+=item Sys::Virt::Domain::TUNABLE_CPU_VCPU_QUOTA -+ -+VCPU thread quota -+ -+=item Sys::Virt::Domain::TUNABLE_BLKDEV_DISK -+ -+The name of guest disks -+ -+=item Sys::Virt::Domain::TUNABLE_BLKDEV_READ_BYTES_SEC -+ -+Read throughput in bytes per sec -+ -+=item Sys::Virt::Domain::TUNABLE_BLKDEV_READ_IOPS_SEC -+ -+Read throughput in I/O operations per sec -+ -+=item Sys::Virt::Domain::TUNABLE_BLKDEV_TOTAL_BYTES_SEC -+ -+Total throughput in bytes per sec -+ -+=item Sys::Virt::Domain::TUNABLE_BLKDEV_TOTAL_IOPS_SEC -+ -+Total throughput in I/O operations per sec -+ -+=item Sys::Virt::Domain::TUNABLE_BLKDEV_WRITE_BYTES_SEC -+ -+Write throughput in bytes per sec -+ -+=item Sys::Virt::Domain::TUNABLE_BLKDEV_WRITE_IOPS_SEC -+ -+Write throughput in I/O operations per sec -+ -+=back -+ - =head1 AUTHORS - - Daniel P. Berrange -diff --git a/t/030-api-coverage.t b/t/030-api-coverage.t -index 34b8d4d..6d8bd53 100644 ---- a/t/030-api-coverage.t -+++ b/t/030-api-coverage.t -@@ -88,6 +88,7 @@ virConnectDomainEventPMWakeupCallback - virConnectDomainEventTrayChangeCallback - virConnectDomainEventBalloonChangeCallback - virConnectDomainEventDeviceRemovedCallback -+virConnectDomainEventTunableCallback - - virConnectNetworkEventLifecycleCallback - diff --git a/SOURCES/0004-Add-VIR_MIGRATE_RDMA_PIN_ALL-constant.patch b/SOURCES/0004-Add-VIR_MIGRATE_RDMA_PIN_ALL-constant.patch deleted file mode 100644 index f654b79..0000000 --- a/SOURCES/0004-Add-VIR_MIGRATE_RDMA_PIN_ALL-constant.patch +++ /dev/null @@ -1,39 +0,0 @@ -From cab4b686178251aff4a9419531ee4e0e6b76ed04 Mon Sep 17 00:00:00 2001 -From: "Daniel P. Berrange" -Date: Fri, 26 Sep 2014 15:22:15 +0100 -Subject: [PATCH] Add VIR_MIGRATE_RDMA_PIN_ALL constant - -Signed-off-by: Daniel P. Berrange -(cherry picked from commit fa6864339d37804e0073acde95906db5e7ca2da1) ---- - Virt.xs | 1 + - lib/Sys/Virt/Domain.pm | 4 ++++ - 2 files changed, 5 insertions(+) - -diff --git a/Virt.xs b/Virt.xs -index e5d2293..894f9c3 100644 ---- a/Virt.xs -+++ b/Virt.xs -@@ -7153,6 +7153,7 @@ BOOT: - REGISTER_CONSTANT(VIR_MIGRATE_COMPRESSED, MIGRATE_COMPRESSED); - REGISTER_CONSTANT(VIR_MIGRATE_ABORT_ON_ERROR, MIGRATE_ABORT_ON_ERROR); - REGISTER_CONSTANT(VIR_MIGRATE_AUTO_CONVERGE, MIGRATE_AUTO_CONVERGE); -+ REGISTER_CONSTANT(VIR_MIGRATE_RDMA_PIN_ALL, MIGRATE_RDMA_PIN_ALL); - - REGISTER_CONSTANT_STR(VIR_MIGRATE_PARAM_BANDWIDTH, MIGRATE_PARAM_BANDWIDTH); - REGISTER_CONSTANT_STR(VIR_MIGRATE_PARAM_DEST_NAME, MIGRATE_PARAM_DEST_NAME); -diff --git a/lib/Sys/Virt/Domain.pm b/lib/Sys/Virt/Domain.pm -index 67bbe52..17101e6 100644 ---- a/lib/Sys/Virt/Domain.pm -+++ b/lib/Sys/Virt/Domain.pm -@@ -1985,6 +1985,10 @@ Abort if an I/O error occurrs on the disk - Force convergance of the migration operation by - throttling guest runtime - -+=item Sys::Virt::Domain::MIGRATE_RDMA_PIN_ALL -+ -+Pin memory for RDMA transfer -+ - =back - - =head2 UNDEFINE CONSTANTS diff --git a/SOURCES/0005-Add-more-VIR_DOMAIN_STATS_-constants.patch b/SOURCES/0005-Add-more-VIR_DOMAIN_STATS_-constants.patch deleted file mode 100644 index 2a1b539..0000000 --- a/SOURCES/0005-Add-more-VIR_DOMAIN_STATS_-constants.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 1997c1aff6e32fd54153636f57acfc8f95d95112 Mon Sep 17 00:00:00 2001 -From: "Daniel P. Berrange" -Date: Thu, 25 Sep 2014 15:50:56 +0100 -Subject: [PATCH] Add more VIR_DOMAIN_STATS_* constants - -Signed-off-by: Daniel P. Berrange -(cherry picked from commit 268808b3ab5dc032f51ada4a099cc21edc8daef3) ---- - Virt.xs | 5 +++++ - lib/Sys/Virt/Domain.pm | 20 ++++++++++++++++++++ - 2 files changed, 25 insertions(+) - -diff --git a/Virt.xs b/Virt.xs -index 894f9c3..2f973a6 100644 ---- a/Virt.xs -+++ b/Virt.xs -@@ -7188,7 +7188,12 @@ BOOT: - REGISTER_CONSTANT(VIR_KEYCODE_SET_WIN32, KEYCODE_SET_WIN32); - REGISTER_CONSTANT(VIR_KEYCODE_SET_RFB, KEYCODE_SET_RFB); - -+ REGISTER_CONSTANT(VIR_DOMAIN_STATS_BALLOON, STATS_BALLOON); -+ REGISTER_CONSTANT(VIR_DOMAIN_STATS_BLOCK, STATS_BLOCK); -+ REGISTER_CONSTANT(VIR_DOMAIN_STATS_CPU_TOTAL, STATS_CPU_TOTAL); -+ REGISTER_CONSTANT(VIR_DOMAIN_STATS_INTERFACE, STATS_INTERFACE); - REGISTER_CONSTANT(VIR_DOMAIN_STATS_STATE, STATS_STATE); -+ REGISTER_CONSTANT(VIR_DOMAIN_STATS_VCPU, STATS_VCPU); - - REGISTER_CONSTANT(VIR_CONNECT_GET_ALL_DOMAINS_STATS_ACTIVE, GET_ALL_STATS_ACTIVE); - REGISTER_CONSTANT(VIR_CONNECT_GET_ALL_DOMAINS_STATS_INACTIVE, GET_ALL_STATS_INACTIVE); -diff --git a/lib/Sys/Virt/Domain.pm b/lib/Sys/Virt/Domain.pm -index 17101e6..21f8c15 100644 ---- a/lib/Sys/Virt/Domain.pm -+++ b/lib/Sys/Virt/Domain.pm -@@ -3267,10 +3267,30 @@ are returned for stats queries. - - =over - -+=item Sys::Virt::Domain::STATS_BALLOON -+ -+Balloon statistics -+ -+=item Sys::Virt::Domain::STATS_BLOCK -+ -+Block device info -+ -+=item Sys::Virt::Domain::STATS_CPU_TOTAL -+ -+CPU usage info -+ -+=item Sys::Virt::Domain::STATS_INTERFACE -+ -+Network interface info -+ - =item Sys::Virt::Domain::STATS_STATE - - General lifecycle state - -+=item Sys::Virt::Domain::STATS_VCPU -+ -+Virtual CPU info -+ - =back - - =head2 PROCESS SIGNALS diff --git a/SOURCES/0006-Add-missed-VIR_NODE_MEMORY_SHARED_MERGE_ACROSS_NODES.patch b/SOURCES/0006-Add-missed-VIR_NODE_MEMORY_SHARED_MERGE_ACROSS_NODES.patch deleted file mode 100644 index 48a1639..0000000 --- a/SOURCES/0006-Add-missed-VIR_NODE_MEMORY_SHARED_MERGE_ACROSS_NODES.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 54b30bd80440dc6a60c8c06d909a2fd427d5abc8 Mon Sep 17 00:00:00 2001 -From: "Daniel P. Berrange" -Date: Thu, 4 Dec 2014 12:23:57 +0000 -Subject: [PATCH] Add missed VIR_NODE_MEMORY_SHARED_MERGE_ACROSS_NODES - -The VIR_NODE_MEMORY_SHARED_MERGE_ACROSS_NODES constant was -missed in - - commit 62c70c70b12ab600c64851521bd275935d6e2ea6 - Author: Daniel P. Berrange - Date: Wed Sep 26 10:40:09 2012 +0100 - - Add APIs & constants for node memory parameters - -Signed-off-by: Daniel P. Berrange -(cherry picked from commit 4813c46aa3a466a7614a66a05653f71316a10a5b) ---- - Virt.xs | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Virt.xs b/Virt.xs -index 2f973a6..54d8fbf 100644 ---- a/Virt.xs -+++ b/Virt.xs -@@ -7022,6 +7022,7 @@ BOOT: - REGISTER_CONSTANT_STR(VIR_NODE_MEMORY_SHARED_PAGES_UNSHARED, NODE_MEMORY_SHARED_PAGES_UNSHARED); - REGISTER_CONSTANT_STR(VIR_NODE_MEMORY_SHARED_PAGES_VOLATILE, NODE_MEMORY_SHARED_PAGES_VOLATILE); - REGISTER_CONSTANT_STR(VIR_NODE_MEMORY_SHARED_FULL_SCANS, NODE_MEMORY_SHARED_FULL_SCANS); -+ REGISTER_CONSTANT_STR(VIR_NODE_MEMORY_SHARED_MERGE_ACROSS_NODES, NODE_MEMORY_SHARED_MERGE_ACROSS_NODES); - - REGISTER_CONSTANT(VIR_CONNECT_BASELINE_CPU_EXPAND_FEATURES, BASELINE_CPU_EXPAND_FEATURES); - diff --git a/SOURCES/0007-Add-support-for-VIR_CONNECT_DOMAIN_EVENT_ID_AGENT_LI.patch b/SOURCES/0007-Add-support-for-VIR_CONNECT_DOMAIN_EVENT_ID_AGENT_LI.patch deleted file mode 100644 index 17ce910..0000000 --- a/SOURCES/0007-Add-support-for-VIR_CONNECT_DOMAIN_EVENT_ID_AGENT_LI.patch +++ /dev/null @@ -1,155 +0,0 @@ -From 7d441b16fe47ca6034b0012f9e6d25c279901a10 Mon Sep 17 00:00:00 2001 -From: "Daniel P. Berrange" -Date: Thu, 4 Dec 2014 15:40:50 +0000 -Subject: [PATCH] Add support for VIR_CONNECT_DOMAIN_EVENT_ID_AGENT_LIFECYCLE - -Signed-off-by: Daniel P. Berrange -(cherry picked from commit 048f0026b8025a1e526bb67bdaeb6cdf2387dd9d) ---- - Virt.xs | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++ - lib/Sys/Virt/Domain.pm | 36 +++++++++++++++++++++++++++++++++++ - t/030-api-coverage.t | 1 + - 3 files changed, 88 insertions(+) - -diff --git a/Virt.xs b/Virt.xs -index 54d8fbf..839d9a6 100644 ---- a/Virt.xs -+++ b/Virt.xs -@@ -939,6 +939,46 @@ _domain_event_tunable_callback(virConnectPtr con, - - - static int -+_domain_event_agent_lifecycle_callback(virConnectPtr con, -+ virDomainPtr dom, -+ int state, -+ 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(state))); -+ XPUSHs(sv_2mortal(newSViv(reason))); -+ PUTBACK; -+ -+ call_sv(*cb, G_DISCARD); -+ -+ FREETMPS; -+ LEAVE; -+ -+ return 0; -+} -+ -+ -+static int - _network_event_lifecycle_callback(virConnectPtr con, - virNetworkPtr net, - int event, -@@ -2867,6 +2907,9 @@ PREINIT: - case VIR_DOMAIN_EVENT_ID_TUNABLE: - callback = VIR_DOMAIN_EVENT_CALLBACK(_domain_event_tunable_callback); - break; -+ case VIR_DOMAIN_EVENT_ID_AGENT_LIFECYCLE: -+ callback = VIR_DOMAIN_EVENT_CALLBACK(_domain_event_agent_lifecycle_callback); -+ break; - default: - callback = VIR_DOMAIN_EVENT_CALLBACK(_domain_event_generic_callback); - break; -@@ -7342,6 +7385,7 @@ BOOT: - REGISTER_CONSTANT(VIR_DOMAIN_EVENT_ID_BALLOON_CHANGE, EVENT_ID_BALLOON_CHANGE); - REGISTER_CONSTANT(VIR_DOMAIN_EVENT_ID_DEVICE_REMOVED, EVENT_ID_DEVICE_REMOVED); - REGISTER_CONSTANT(VIR_DOMAIN_EVENT_ID_TUNABLE, EVENT_ID_TUNABLE); -+ REGISTER_CONSTANT(VIR_DOMAIN_EVENT_ID_AGENT_LIFECYCLE, EVENT_ID_AGENT_LIFECYCLE); - - REGISTER_CONSTANT(VIR_DOMAIN_EVENT_WATCHDOG_NONE, EVENT_WATCHDOG_NONE); - REGISTER_CONSTANT(VIR_DOMAIN_EVENT_WATCHDOG_PAUSE, EVENT_WATCHDOG_PAUSE); -@@ -7368,6 +7412,13 @@ BOOT: - 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(VIR_CONNECT_DOMAIN_EVENT_AGENT_LIFECYCLE_STATE_CONNECTED, EVENT_AGENT_LIFECYCLE_STATE_CONNECTED); -+ REGISTER_CONSTANT(VIR_CONNECT_DOMAIN_EVENT_AGENT_LIFECYCLE_STATE_DISCONNECTED, EVENT_AGENT_LIFECYCLE_STATE_DISCONNECTED); -+ -+ REGISTER_CONSTANT(VIR_CONNECT_DOMAIN_EVENT_AGENT_LIFECYCLE_REASON_CHANNEL, EVENT_AGENT_LIFECYCLE_REASON_CHANNEL); -+ REGISTER_CONSTANT(VIR_CONNECT_DOMAIN_EVENT_AGENT_LIFECYCLE_REASON_DOMAIN_STARTED, EVENT_AGENT_LIFECYCLE_REASON_DOMAIN_STARTED); -+ REGISTER_CONSTANT(VIR_CONNECT_DOMAIN_EVENT_AGENT_LIFECYCLE_REASON_UNKNOWN, EVENT_AGENT_LIFECYCLE_REASON_UNKNOWN); -+ - 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); -diff --git a/lib/Sys/Virt/Domain.pm b/lib/Sys/Virt/Domain.pm -index 21f8c15..728ab1d 100644 ---- a/lib/Sys/Virt/Domain.pm -+++ b/lib/Sys/Virt/Domain.pm -@@ -2567,6 +2567,42 @@ will be provided with a hash listing all changed parameters. - The later DOMAIN TUNABLE constants can be useful when accessing - the hash keys - -+=item Sys::Virt::Domain::EVENT_ID_AGENT_LIFECYCLE -+ -+Domain guest agent lifecycle events. The C parameter -+to the callback will match one of the constants -+ -+=over 4 -+ -+=item Sys::Virt::Domain::EVENT_AGENT_LIFECYCLE_STATE_CONNECTED -+ -+The agent is now connected -+ -+=item Sys::Virt::Domain::EVENT_AGENT_LIFECYCLE_STATE_DISCONNECTED -+ -+The agent is now disconnected -+ -+=back -+ -+The second parameter, C, matches one of the following -+constants -+ -+=over 4 -+ -+=item Sys::Virt::Domain::EVENT_AGENT_LIFECYCLE_REASON_UNKNOWN -+ -+The reason is unknown -+ -+=item Sys::Virt::Domain::EVENT_AGENT_LIFECYCLE_REASON_DOMAIN_STARTED -+ -+The domain was initially booted -+ -+=item Sys::Virt::Domain::EVENT_AGENT_LIFECYCLE_REASON_CHANNEL -+ -+The channel on a running guest changed state -+ -+=back -+ - =back - - =head2 IO ERROR EVENT CONSTANTS -diff --git a/t/030-api-coverage.t b/t/030-api-coverage.t -index 6d8bd53..592f1d3 100644 ---- a/t/030-api-coverage.t -+++ b/t/030-api-coverage.t -@@ -89,6 +89,7 @@ virConnectDomainEventTrayChangeCallback - virConnectDomainEventBalloonChangeCallback - virConnectDomainEventDeviceRemovedCallback - virConnectDomainEventTunableCallback -+virConnectDomainEventAgentLifecycleCallback - - virConnectNetworkEventLifecycleCallback - diff --git a/SOURCES/0008-Fix-docs-for-Sys-Virt-Domain-get_time-method.patch b/SOURCES/0008-Fix-docs-for-Sys-Virt-Domain-get_time-method.patch deleted file mode 100644 index a70c3bb..0000000 --- a/SOURCES/0008-Fix-docs-for-Sys-Virt-Domain-get_time-method.patch +++ /dev/null @@ -1,30 +0,0 @@ -From bd76166457ec52e45b6f6c223dd05e52b27a57d3 Mon Sep 17 00:00:00 2001 -From: "Daniel P. Berrange" -Date: Thu, 4 Dec 2014 15:57:05 +0000 -Subject: [PATCH] Fix docs for Sys::Virt::Domain::get_time() method - -(cherry picked from commit 91e83ebb6c577f1530e4fb8de9d7e85d4bdcbafb) ---- - lib/Sys/Virt/Domain.pm | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/lib/Sys/Virt/Domain.pm b/lib/Sys/Virt/Domain.pm -index 728ab1d..60d2232 100644 ---- a/lib/Sys/Virt/Domain.pm -+++ b/lib/Sys/Virt/Domain.pm -@@ -473,11 +473,13 @@ the current state. - - =back - --=item my ($secs, $nsecs) = $dom->get_time($flags=0); -+=item my $time = $dom->get_time($flags=0); - - Get the current time of the guest, in seconds and nanoseconds. - The C<$flags> parameter is currently unused and defaults to --zero. -+zero. The return value is an array ref with two elements, -+the first contains the time in seconds, the second contains -+the remaining nanoseconds. - - =item $dom->set_time($secs, $nsecs, $flags=0); - diff --git a/SOURCES/0009-Extend-events-example-to-deal-with-agent-lifecycle-e.patch b/SOURCES/0009-Extend-events-example-to-deal-with-agent-lifecycle-e.patch deleted file mode 100644 index 70f7c8f..0000000 --- a/SOURCES/0009-Extend-events-example-to-deal-with-agent-lifecycle-e.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 9e7cccd84c5c0251bc2ce2a2833fb648c77f394c Mon Sep 17 00:00:00 2001 -From: "Daniel P. Berrange" -Date: Thu, 4 Dec 2014 16:05:56 +0000 -Subject: [PATCH] Extend events example to deal with agent lifecycle events - -(cherry picked from commit f74b52f8be94dd1caaeae3113a39e1b33844e792) ---- - examples/events.pl | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/examples/events.pl b/examples/events.pl -index 1895e6b..a38d321 100644 ---- a/examples/events.pl -+++ b/examples/events.pl -@@ -20,10 +20,20 @@ sub lifecycle_event { - print "$dom $event $detail\n"; - } - -+sub agent_lifecycle_event { -+ my $dom = shift; -+ my $state = shift; -+ my $reason = shift; -+ -+ print "Agent $dom state=$state reason=$reason\n"; -+} - - $c->domain_event_register_any(undef, - Sys::Virt::Domain::EVENT_ID_LIFECYCLE, - \&lifecycle_event); -+$c->domain_event_register_any(undef, -+ Sys::Virt::Domain::EVENT_ID_AGENT_LIFECYCLE, -+ \&agent_lifecycle_event); - - $c->register_close_callback( - sub { diff --git a/SOURCES/0010-Fix-constants-for-VIR_DOMAIN_GET_ALL_STATS_.patch b/SOURCES/0010-Fix-constants-for-VIR_DOMAIN_GET_ALL_STATS_.patch deleted file mode 100644 index 5d1250b..0000000 --- a/SOURCES/0010-Fix-constants-for-VIR_DOMAIN_GET_ALL_STATS_.patch +++ /dev/null @@ -1,66 +0,0 @@ -From d4f73be73a230c29520870ca2ff6db03a9854d47 Mon Sep 17 00:00:00 2001 -From: Zhe Peng -Date: Thu, 4 Dec 2014 11:18:03 +0000 -Subject: [PATCH] Fix constants for VIR_DOMAIN_GET_ALL_STATS_* - -The docs for the VIR_DOMAIN_GET_ALL_STATS_* constants mistakenly -referred to Sys::Virt instead of Sys::Virt::Domain - -(cherry picked from commit e01c35dd94de5a8337abf0490057ae53239869ce) ---- - lib/Sys/Virt/Domain.pm | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -diff --git a/lib/Sys/Virt/Domain.pm b/lib/Sys/Virt/Domain.pm -index 60d2232..3bf98f5 100644 ---- a/lib/Sys/Virt/Domain.pm -+++ b/lib/Sys/Virt/Domain.pm -@@ -3260,39 +3260,39 @@ bulk domain stats from C. - - =over 4 - --=item Sys::Virt::GET_ALL_STATS_ACTIVE -+=item Sys::Virt::Domain::GET_ALL_STATS_ACTIVE - - Include stats for active domains - --=item Sys::Virt::GET_ALL_STATS_INACTIVE -+=item Sys::Virt::Domain::GET_ALL_STATS_INACTIVE - - Include stats for inactive domains - --=item Sys::Virt::GET_ALL_STATS_OTHER -+=item Sys::Virt::Domain::GET_ALL_STATS_OTHER - - Include stats for other domains - --=item Sys::Virt::GET_ALL_STATS_PAUSED -+=item Sys::Virt::Domain::GET_ALL_STATS_PAUSED - - Include stats for paused domains - --=item Sys::Virt::GET_ALL_STATS_PERSISTENT -+=item Sys::Virt::Domain::GET_ALL_STATS_PERSISTENT - - Include stats for persistent domains - --=item Sys::Virt::GET_ALL_STATS_RUNNING -+=item Sys::Virt::Domain::GET_ALL_STATS_RUNNING - - Include stats for running domains - --=item Sys::Virt::GET_ALL_STATS_SHUTOFF -+=item Sys::Virt::Domain::GET_ALL_STATS_SHUTOFF - - Include stats for shutoff domains - --=item Sys::Virt::GET_ALL_STATS_TRANSIENT -+=item Sys::Virt::Domain::GET_ALL_STATS_TRANSIENT - - Include stats for transient domains - --=item Sys::Virt::GET_ALL_STATS_ENFORCE_STATS -+=item Sys::Virt::Domain::GET_ALL_STATS_ENFORCE_STATS - - Require that all requested stats fields are returned - diff --git a/SOURCES/0011-Add-new-VIR_DOMAIN_TUNABLE_BLKDEV-constants.patch b/SOURCES/0011-Add-new-VIR_DOMAIN_TUNABLE_BLKDEV-constants.patch deleted file mode 100644 index 30afde7..0000000 --- a/SOURCES/0011-Add-new-VIR_DOMAIN_TUNABLE_BLKDEV-constants.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 5b79281a49b8afa9a73f7d88a2a6b96e3eacd5d1 Mon Sep 17 00:00:00 2001 -From: "Daniel P. Berrange" -Date: Thu, 4 Dec 2014 12:39:40 +0000 -Subject: [PATCH] Add new VIR_DOMAIN_TUNABLE_BLKDEV* constants - -Signed-off-by: Daniel P. Berrange -(cherry picked from commit 4275c313128237620b82a8adc3ef4771b5ed91fc) - -(Only pulling in docs for Sys::Virt::NODE_MEMORY_SHARED_MERGE_ACROSS_NODES ---- - lib/Sys/Virt.pm | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/lib/Sys/Virt.pm b/lib/Sys/Virt.pm -index e20405e..b8d75bd 100644 ---- a/lib/Sys/Virt.pm -+++ b/lib/Sys/Virt.pm -@@ -1834,6 +1834,10 @@ How many pages changing too fast to be placed in a tree. - - How many milliseconds the shared memory service should sleep before next scan. - -+=item Sys::Virt::NODE_MEMORY_SHARED_MERGE_ACROSS_NODES -+ -+Whether pages can be merged across NUMA nodes -+ - =back - - =head2 CLOSE REASON CONSTANTS diff --git a/SOURCES/0012-Fix-memory-corruption-when-calling-migrate_to_uri.patch b/SOURCES/0012-Fix-memory-corruption-when-calling-migrate_to_uri.patch deleted file mode 100644 index 2be2e9d..0000000 --- a/SOURCES/0012-Fix-memory-corruption-when-calling-migrate_to_uri.patch +++ /dev/null @@ -1,29 +0,0 @@ -From f2cd3c2e87d0f4193a4200210c4e5cdaa6f26b14 Mon Sep 17 00:00:00 2001 -From: Hao Liu -Date: Tue, 9 Dec 2014 13:09:27 +0800 -Subject: [PATCH] Fix memory corruption when calling migrate_to_uri - -The variable `nparams` didn't change accordingly when adding a new -parameter in commit b2cecf73. - -This patch fixes https://bugzilla.redhat.com/show_bug.cgi?id=1171938 - -Signed-off-by: Hao Liu -(cherry picked from commit 3c5059eab19c612614848d7033bb7e5a0e310779) ---- - Virt.xs | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Virt.xs b/Virt.xs -index 839d9a6..091a8e5 100644 ---- a/Virt.xs -+++ b/Virt.xs -@@ -4301,7 +4301,7 @@ _migrate_to_uri(dom, desturi, newparams, flags=0) - virTypedParameter *params; - int nparams; - PPCODE: -- nparams = 5; -+ nparams = 6; - Newx(params, nparams, virTypedParameter); - - strncpy(params[0].field, VIR_MIGRATE_PARAM_URI, diff --git a/SOURCES/0013-Add-VIR_CONNECT_GET_ALL_DOMAINS_STATS_BACKING-consta.patch b/SOURCES/0013-Add-VIR_CONNECT_GET_ALL_DOMAINS_STATS_BACKING-consta.patch deleted file mode 100644 index 968c544..0000000 --- a/SOURCES/0013-Add-VIR_CONNECT_GET_ALL_DOMAINS_STATS_BACKING-consta.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 77438da24a0549eb9a8bb37b73c8031a427df87f Mon Sep 17 00:00:00 2001 -From: "Daniel P. Berrange" -Date: Wed, 17 Dec 2014 14:00:38 +0000 -Subject: [PATCH] Add VIR_CONNECT_GET_ALL_DOMAINS_STATS_BACKING constant - -(cherry picked from commit 26d6790bab3ed1819f2cfe9003d0d47a686ba675) ---- - Virt.xs | 1 + - lib/Sys/Virt/Domain.pm | 4 ++++ - 2 files changed, 5 insertions(+) - -diff --git a/Virt.xs b/Virt.xs -index 091a8e5..b2cf1cd 100644 ---- a/Virt.xs -+++ b/Virt.xs -@@ -7248,6 +7248,7 @@ BOOT: - REGISTER_CONSTANT(VIR_CONNECT_GET_ALL_DOMAINS_STATS_SHUTOFF, GET_ALL_STATS_SHUTOFF); - REGISTER_CONSTANT(VIR_CONNECT_GET_ALL_DOMAINS_STATS_TRANSIENT, GET_ALL_STATS_TRANSIENT); - REGISTER_CONSTANT(VIR_CONNECT_GET_ALL_DOMAINS_STATS_ENFORCE_STATS, GET_ALL_STATS_ENFORCE_STATS); -+ REGISTER_CONSTANT(VIR_CONNECT_GET_ALL_DOMAINS_STATS_BACKING, GET_ALL_STATS_BACKING); - - REGISTER_CONSTANT(VIR_DOMAIN_EVENT_DEFINED, EVENT_DEFINED); - REGISTER_CONSTANT(VIR_DOMAIN_EVENT_UNDEFINED, EVENT_UNDEFINED); -diff --git a/lib/Sys/Virt/Domain.pm b/lib/Sys/Virt/Domain.pm -index 3bf98f5..09b5152 100644 ---- a/lib/Sys/Virt/Domain.pm -+++ b/lib/Sys/Virt/Domain.pm -@@ -3296,6 +3296,10 @@ Include stats for transient domains - - Require that all requested stats fields are returned - -+=item Sys::Virt::Domain::GET_ALL_STATS_BACKING -+ -+Get stats for image backing files too -+ - =back - - =head2 DOMAIN STATS FIELD CONSTANTS diff --git a/SPECS/perl-Sys-Virt.spec b/SPECS/perl-Sys-Virt.spec index c77f130..78e7126 100644 --- a/SPECS/perl-Sys-Virt.spec +++ b/SPECS/perl-Sys-Virt.spec @@ -1,34 +1,33 @@ -# Automatically generated by perl-Sys-Virt.spec.PL - Name: perl-Sys-Virt -Version: 1.2.8 -Release: 6%{?dist}%{?extra_release} +Version: 1.2.17 +Release: 2%{?dist} Summary: Represent and manage a libvirt hypervisor connection License: GPLv2+ or Artistic Group: Development/Libraries URL: http://search.cpan.org/dist/Sys-Virt/ Source0: http://www.cpan.org/authors/id/D/DA/DANBERR/Sys-Virt-%{version}.tar.gz -Patch1: 0001-Add-VIR_DOMAIN_JOB_STATS_COMPLETED-constant.patch -Patch2: 0002-Add-VIR_DOMAIN_UNDEFINE_NVRAM-constant.patch -Patch3: 0003-Add-virConnectDomainEventTunable-event-callback-cons.patch -Patch4: 0004-Add-VIR_MIGRATE_RDMA_PIN_ALL-constant.patch -Patch5: 0005-Add-more-VIR_DOMAIN_STATS_-constants.patch -Patch6: 0006-Add-missed-VIR_NODE_MEMORY_SHARED_MERGE_ACROSS_NODES.patch -Patch7: 0007-Add-support-for-VIR_CONNECT_DOMAIN_EVENT_ID_AGENT_LI.patch -Patch8: 0008-Fix-docs-for-Sys-Virt-Domain-get_time-method.patch -Patch9: 0009-Extend-events-example-to-deal-with-agent-lifecycle-e.patch -Patch10: 0010-Fix-constants-for-VIR_DOMAIN_GET_ALL_STATS_.patch -Patch11: 0011-Add-new-VIR_DOMAIN_TUNABLE_BLKDEV-constants.patch -Patch12: 0012-Fix-memory-corruption-when-calling-migrate_to_uri.patch -Patch13: 0013-Add-VIR_CONNECT_GET_ALL_DOMAINS_STATS_BACKING-consta.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +Patch1: 0001-Add-VIR_ERR_MIGRATE_FINISH_OK-constant.patch +Patch2: 0002-Ensure-typed-param-key-is-null-terminated.patch +BuildRequires: libvirt-devel >= %{version} +# Build +BuildRequires: perl BuildRequires: perl(ExtUtils::MakeMaker) -BuildRequires: perl(Test::Pod) -BuildRequires: perl(Test::Pod::Coverage) -BuildRequires: perl(Test::CPAN::Changes) -BuildRequires: perl(XML::XPath) +# Runtime +BuildRequires: perl(overload) +BuildRequires: perl(strict) +BuildRequires: perl(warnings) +BuildRequires: perl(XSLoader) +# Tests only +BuildRequires: perl(base) +BuildRequires: perl(Sys::Hostname) +BuildRequires: perl(Test::More) BuildRequires: perl(Time::HiRes) -BuildRequires: libvirt-devel >= %{version} +BuildRequires: perl(XML::XPath) +BuildRequires: perl(XML::XPath::XMLParser) +# Optional tests only +BuildRequires: perl(Test::CPAN::Changes) +BuildRequires: perl(Test::Pod) >= 1.00 +BuildRequires: perl(Test::Pod::Coverage) >= 1.00 Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) %description @@ -40,51 +39,39 @@ virtualization containers to be managed with a consistent API. %setup -q -n Sys-Virt-%{version} %patch1 -p1 %patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 -%patch9 -p1 -%patch10 -p1 -%patch11 -p1 -%patch12 -p1 -%patch13 -p1 - sed -i -e '/Sys-Virt\.spec/d' Makefile.PL sed -i -e '/\.spec\.PL$/d' MANIFEST rm -f *.spec.PL %build -%{__perl} Makefile.PL INSTALLDIRS=vendor OPTIMIZE="$RPM_OPT_FLAGS" +perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}" NO_PACKLIST=1 make %{?_smp_mflags} %install -rm -rf $RPM_BUILD_ROOT - -make pure_install PERL_INSTALL_ROOT=$RPM_BUILD_ROOT - -find $RPM_BUILD_ROOT -type f \( -name .packlist -o -name '*.bs' -empty \) | - xargs rm -f -find $RPM_BUILD_ROOT -depth -type d -empty -exec rmdir {} \; - -%{_fixperms} $RPM_BUILD_ROOT/* +make pure_install DESTDIR=%{buildroot} +find %{buildroot} -type f -name '*.bs' -empty -exec rm -f {} + +%{_fixperms} %{buildroot}/* %check make test -%clean -rm -rf $RPM_BUILD_ROOT - %files -%defattr(-,root,root,-) -%doc AUTHORS Changes LICENSE README examples/ +%license LICENSE +%doc AUTHORS Changes README examples/ %{perl_vendorarch}/auto/* %{perl_vendorarch}/Sys* %{_mandir}/man3/* %changelog +* Fri Jul 17 2015 Daniel P. Berrange - 1.2.17-2 +- Avoid coverity strncpy() warning + +* Fri Jul 17 2015 Daniel P. Berrange - 1.2.17-1 +- Rebase to 1.2.17 release (rhbz #1194602) + +* Wed May 6 2015 Daniel P. Berrange - 1.2.15-1 +- Rebase to 1.2.15 release (rhbz #1194602) + * Wed Dec 17 2014 Daniel P. Berrange - 1.2.8-6 - Add VIR_CONNECT_GET_ALL_DOMAINS_STATS_BACKING constant (rhbz #1175314)