From: Florian Forster Date: Sat, 26 Mar 2011 15:53:22 +0000 (-0700) Subject: Merge branch 'collectd-4.9' into collectd-4.10 X-Git-Tag: collectd-4.10.3~1 X-Git-Url: https://git.octo.it/?a=commitdiff_plain;h=9aedf9ea09cc1c0d7d8293894d03e0fcbaa7bada;hp=e04cfcb9d1f1eed00bf11768db6d0540babe2e4e;p=collectd.git Merge branch 'collectd-4.9' into collectd-4.10 Conflicts: ChangeLog version-gen.sh --- diff --git a/ChangeLog b/ChangeLog index 29034760..01da68a6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -106,6 +106,22 @@ * regex match: The "Invert" option has been added. Thanks to Julien Ammous for his patch. +2011-03-26, Version 4.9.5 + * collectd: Build issues (compiler warnings) have been fixed. Thanks to + Bruno Prémont. + * collectd, java plugin, ntpd plugin: Several diagnostic messages have + been improved. + * collectd: Threshold subsection: Handling of NAN values in the + percentage calculation has been fixed. + * Documentation: Several updates and additions. Thanks to Sebastian Harl. + * libvirt plugin: A bug in reading the virtual CPU statistics has been + fixed. Thanks to “JLPC” for reporting this problem. + * python plugin: Fix dispatching of values from Python scripts to + collectd. Thanks to Gregory Szorc for finding and fixing this + problem. + * processes plugin: Potentially erroneous behavior has been fixed in an + error handling case. + 2010-11-27, Version 4.9.4 * Documentation: Various documentation fixes. * collectd: If including one configuration file fails, continue with diff --git a/src/libvirt.c b/src/libvirt.c index bcbf0e6a..91fda7a5 100644 --- a/src/libvirt.c +++ b/src/libvirt.c @@ -295,21 +295,31 @@ lv_read (void) for (i = 0; i < nr_domains; ++i) { virDomainInfo info; virVcpuInfoPtr vinfo = NULL; + int status; int j; - if (virDomainGetInfo (domains[i], &info) != 0) + status = virDomainGetInfo (domains[i], &info); + if (status != 0) + { + ERROR ("libvirt plugin: virDomainGetInfo failed with status %i.", + status); continue; + } cpu_submit (info.cpuTime, t, domains[i], "virt_cpu_total"); - vinfo = malloc (info.nrVirtCpu * sizeof vinfo[0]); + vinfo = malloc (info.nrVirtCpu * sizeof (vinfo[0])); if (vinfo == NULL) { ERROR ("libvirt plugin: malloc failed."); continue; } - if (virDomainGetVcpus (domains[i], vinfo, info.nrVirtCpu, - NULL, 0) != 0) { + status = virDomainGetVcpus (domains[i], vinfo, info.nrVirtCpu, + /* cpu map = */ NULL, /* cpu map length = */ 0); + if (status < 0) + { + ERROR ("libvirt plugin: virDomainGetVcpus failed with status %i.", + status); free (vinfo); continue; } diff --git a/src/plugin.c b/src/plugin.c index 9b7cb211..a3f10ae2 100644 --- a/src/plugin.c +++ b/src/plugin.c @@ -852,7 +852,7 @@ int plugin_register_flush (const char *name, (void *) callback, ud)); } /* int plugin_register_flush */ -int plugin_register_shutdown (char *name, +int plugin_register_shutdown (const char *name, int (*callback) (void)) { return (create_register_callback (&list_shutdown, name, diff --git a/src/plugin.h b/src/plugin.h index 8b9449ee..3f94dbc8 100644 --- a/src/plugin.h +++ b/src/plugin.h @@ -272,7 +272,7 @@ int plugin_register_write (const char *name, plugin_write_cb callback, user_data_t *user_data); int plugin_register_flush (const char *name, plugin_flush_cb callback, user_data_t *user_data); -int plugin_register_shutdown (char *name, +int plugin_register_shutdown (const char *name, plugin_shutdown_cb callback); int plugin_register_data_set (const data_set_t *ds); int plugin_register_log (const char *name,