Hello community,
here is the log from the commit of package sysstat for openSUSE:Factory checked in at 2015-11-24 22:33:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sysstat (Old)
and /work/SRC/openSUSE:Factory/.sysstat.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sysstat"
Changes:
--------
--- /work/SRC/openSUSE:Factory/sysstat/sysstat.changes 2015-09-09 20:21:26.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.sysstat.new/sysstat.changes 2015-11-24 22:33:44.000000000 +0100
@@ -1,0 +2,15 @@
+Mon Nov 16 17:41:10 UTC 2015 - mpluskal@suse.com
+
+- Update to 11.0.8
+ * Fix possible NULL pointer dereference in SREALLOC macro (CID
+ #29706).
+ * sadc: Fix untrusted value used as argument (CID #29720).
+ * Update librdsensors.a target in Makefile.
+- Changes for 11.0.7
+ * [Peter Schiffer]: Fix problem with pidstat output values > 100%
+ for %CPU.
+ * [Alexis Solanas]: Fix issue with iostat not showing the full
+ device name.
+ * CREDITS file updated.
+
+-------------------------------------------------------------------
Old:
----
sysstat-11.0.6.tar.xz
New:
----
sysstat-11.0.8.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sysstat.spec ++++++
--- /var/tmp/diff_new_pack.il8TpA/_old 2015-11-24 22:33:45.000000000 +0100
+++ /var/tmp/diff_new_pack.il8TpA/_new 2015-11-24 22:33:45.000000000 +0100
@@ -17,7 +17,7 @@
Name: sysstat
-Version: 11.0.6
+Version: 11.0.8
Release: 0
Summary: Sar and Iostat Commands for Linux
License: GPL-2.0+
++++++ sysstat-11.0.6.tar.xz -> sysstat-11.0.8.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysstat-11.0.6/.gitignore new/sysstat-11.0.8/.gitignore
--- old/sysstat-11.0.6/.gitignore 2015-08-24 17:13:30.000000000 +0200
+++ new/sysstat-11.0.8/.gitignore 2015-09-05 09:57:42.000000000 +0200
@@ -45,6 +45,7 @@
sar
sadf
iostat
+tapestat
mpstat
pidstat
nfsiostat
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysstat-11.0.6/CHANGES new/sysstat-11.0.8/CHANGES
--- old/sysstat-11.0.6/CHANGES 2015-08-24 17:14:37.000000000 +0200
+++ new/sysstat-11.0.8/CHANGES 2015-10-23 14:21:36.000000000 +0200
@@ -1,5 +1,18 @@
Changes:
+2015/10/23: Version 11.0.8 - Sebastien Godard (sysstat <at> orange.fr)
+ * Fix possible NULL pointer dereference in SREALLOC macro (CID
+ #29706).
+ * sadc: Fix untrusted value used as argument (CID #29720).
+ * Update librdsensors.a target in Makefile.
+
+2015/09/20: Version 11.0.7 - Sebastien Godard (sysstat <at> orange.fr)
+ * [Peter Schiffer]: Fix problem with pidstat output values > 100%
+ for %CPU.
+ * [Alexis Solanas]: Fix issue with iostat not showing the full
+ device name.
+ * CREDITS file updated.
+
2015/08/24: Version 11.0.6 - Sebastien Godard (sysstat <at> orange.fr)
* Check /proc/net/snmp format to collect ICMP statistics at
their right positions.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysstat-11.0.6/CREDITS new/sysstat-11.0.8/CREDITS
--- old/sysstat-11.0.6/CREDITS 2015-08-24 17:15:31.000000000 +0200
+++ new/sysstat-11.0.8/CREDITS 2015-10-23 14:22:01.000000000 +0200
@@ -221,6 +221,7 @@
Rod Skinner
Kevin C. Smallwood
Dick Snippe
+ Alexis Solanas
Graham Swallow
Mike Sweger
Don Totten
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysstat-11.0.6/Makefile.in new/sysstat-11.0.8/Makefile.in
--- old/sysstat-11.0.6/Makefile.in 2015-08-24 17:13:49.000000000 +0200
+++ new/sysstat-11.0.8/Makefile.in 2015-10-23 14:19:18.000000000 +0200
@@ -220,7 +220,9 @@
librdstats_light.a: rd_stats_light.o count_light.o
$(AR) rvs $@ $?
-librdsensors.a: librdsensors.a(rd_sensors.o)
+#librdsensors.a: librdsensors.a(rd_sensors.o)
+librdsensors.a: rd_sensors.o
+ $(AR) rvs $@ $?
sadc.o: sadc.c sa.h version.h common.h ioconf.h sysconfig.h rd_stats.h rd_sensors.h
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysstat-11.0.6/common.h new/sysstat-11.0.8/common.h
--- old/sysstat-11.0.6/common.h 2015-08-24 17:13:49.000000000 +0200
+++ new/sysstat-11.0.8/common.h 2015-10-23 14:14:26.000000000 +0200
@@ -69,7 +69,7 @@
#define MAX_FILE_LEN 256
#define MAX_PF_NAME 1024
#define DEFAULT_DEVMAP_MAJOR 253
-#define MAX_NAME_LEN 72
+#define MAX_NAME_LEN 128
#define IGNORE_VIRTUAL_DEVICES FALSE
#define ACCEPT_VIRTUAL_DEVICES TRUE
@@ -96,9 +96,15 @@
exit(4); \
} \
/* If the ptr was null, then it's a malloc() */ \
- if (!_p_) \
- memset(S, 0, (SIZE)); \
+ if (!_p_) { \
+ memset(S, 0, (SIZE)); \
+ } \
} \
+ if (!S) { \
+ /* Should never happen */ \
+ fprintf(stderr, "srealloc\n"); \
+ exit(4); \
+ } \
} while (0)
/*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysstat-11.0.6/configure new/sysstat-11.0.8/configure
--- old/sysstat-11.0.6/configure 2015-08-24 17:13:49.000000000 +0200
+++ new/sysstat-11.0.8/configure 2015-10-23 14:14:26.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for sysstat 11.0.6.
+# Generated by GNU Autoconf 2.69 for sysstat 11.0.8.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -577,8 +577,8 @@
# Identity of this package.
PACKAGE_NAME='sysstat'
PACKAGE_TARNAME='sysstat'
-PACKAGE_VERSION='11.0.6'
-PACKAGE_STRING='sysstat 11.0.6'
+PACKAGE_VERSION='11.0.8'
+PACKAGE_STRING='sysstat 11.0.8'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -1306,7 +1306,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures sysstat 11.0.6 to adapt to many kinds of systems.
+\`configure' configures sysstat 11.0.8 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1367,7 +1367,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of sysstat 11.0.6:";;
+ short | recursive ) echo "Configuration of sysstat 11.0.8:";;
esac
cat <<\_ACEOF
@@ -1486,7 +1486,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-sysstat configure 11.0.6
+sysstat configure 11.0.8
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1905,7 +1905,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by sysstat $as_me 11.0.6, which was
+It was created by sysstat $as_me 11.0.8, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -5964,7 +5964,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by sysstat $as_me 11.0.6, which was
+This file was extended by sysstat $as_me 11.0.8, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -6017,7 +6017,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-sysstat config.status 11.0.6
+sysstat config.status 11.0.8
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysstat-11.0.6/configure.in new/sysstat-11.0.8/configure.in
--- old/sysstat-11.0.6/configure.in 2015-08-24 17:13:49.000000000 +0200
+++ new/sysstat-11.0.8/configure.in 2015-10-23 14:14:26.000000000 +0200
@@ -4,7 +4,7 @@
# Modified by Sebastien Godard (sysstat <at> orange.fr)
# Initialization of $PACKAGE_VERSION and $PACKAGE_NAME variables
-AC_INIT(sysstat, 11.0.6)
+AC_INIT(sysstat, 11.0.8)
# Ensure that a recent enough version of Autoconf is being used
AC_PREREQ(2.53)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysstat-11.0.6/nls/sysstat.pot new/sysstat-11.0.8/nls/sysstat.pot
--- old/sysstat-11.0.6/nls/sysstat.pot 2015-08-24 17:22:04.000000000 +0200
+++ new/sysstat-11.0.8/nls/sysstat.pot 2015-10-23 14:23:54.000000000 +0200
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: sysstat <at> orange.fr\n"
-"POT-Creation-Date: 2015-08-24 17:22+0200\n"
+"POT-Creation-Date: 2015-10-23 14:23+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -17,24 +17,39 @@
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: cifsiostat.c:70 mpstat.c:90 pidstat.c:87 iostat.c:86 sar.c:94
-#: nfsiostat-sysstat.c:69
+#: sadf_misc.c:621
#, c-format
-msgid "Usage: %s [ options ] [ <interval> [ <count> ] ]\n"
+msgid "System activity data file: %s (%#x)\n"
msgstr ""
-#: cifsiostat.c:74 nfsiostat-sysstat.c:73
+#: sadf_misc.c:630
#, c-format
-msgid ""
-"Options are:\n"
-"[ -h ] [ -k | -m ] [ -t ] [ -V ] [ --debuginfo ]\n"
+msgid "Host: "
msgstr ""
-#: cifsiostat.c:77 nfsiostat-sysstat.c:76
+#: sadf_misc.c:636
#, c-format
-msgid ""
-"Options are:\n"
-"[ -h ] [ -k | -m ] [ -t ] [ -V ]\n"
+msgid "Number of CPU for last samples in file: %u\n"
+msgstr ""
+
+#: sadf_misc.c:640
+#, c-format
+msgid "File time: "
+msgstr ""
+
+#: sadf_misc.c:645
+#, c-format
+msgid "Size of a long int: %d\n"
+msgstr ""
+
+#: sadf_misc.c:651
+#, c-format
+msgid "List of activities:\n"
+msgstr ""
+
+#: sadf_misc.c:664
+#, c-format
+msgid "\t[Unknown activity format]"
msgstr ""
#: sadc.c:87
@@ -66,175 +81,66 @@
msgid "Cannot open %s: %s\n"
msgstr ""
-#: sadc.c:1017
+#: sadc.c:1019
#, c-format
msgid "Cannot append data to that file (%s)\n"
msgstr ""
-#: mpstat.c:93
-#, c-format
-msgid ""
-"Options are:\n"
-"[ -A ] [ -u ] [ -V ] [ -I { SUM | CPU | SCPU | ALL } ]\n"
-"[ -P { <cpu> [,...] | ON | ALL } ]\n"
-msgstr ""
-
-#: mpstat.c:616 pidstat.c:2263 sar.c:402
-msgid "Average:"
-msgstr ""
-
-#: mpstat.c:985
+#: common.c:62
#, c-format
-msgid "Not that many processors!\n"
+msgid "sysstat version %s\n"
msgstr ""
-#: sadf.c:86
+#: cifsiostat.c:70 mpstat.c:90 sar.c:94 nfsiostat-sysstat.c:69 pidstat.c:87
+#: iostat.c:86
#, c-format
-msgid ""
-"Usage: %s [ options ] [ <interval> [ <count> ] ] [ <datafile> | -[0-9]+ ]\n"
+msgid "Usage: %s [ options ] [ <interval> [ <count> ] ]\n"
msgstr ""
-#: sadf.c:89
+#: cifsiostat.c:74 nfsiostat-sysstat.c:73
#, c-format
msgid ""
"Options are:\n"
-"[ -C ] [ -d | -j | -p | -x ] [ -H ] [ -h ] [ -T | -t | -U ] [ -V ]\n"
-"[ -P { <cpu> [,...] | ALL } ] [ -s [ hh:mm:ss ] ] [ -e [ hh:mm:ss ] ]\n"
-"[ -- ]\n"
-msgstr ""
-
-#: sa_common.c:1050
-#, c-format
-msgid "Error while reading system activity file: %s\n"
-msgstr ""
-
-#: sa_common.c:1060
-#, c-format
-msgid "End of system activity file unexpected\n"
-msgstr ""
-
-#: sa_common.c:1079
-#, c-format
-msgid "File created by sar/sadc from sysstat version %d.%d.%d"
-msgstr ""
-
-#: sa_common.c:1110
-#, c-format
-msgid "Invalid system activity file: %s\n"
-msgstr ""
-
-#: sa_common.c:1117
-#, c-format
-msgid ""
-"Current sysstat version can no longer read the format of this file (%#x)\n"
-msgstr ""
-
-#: sa_common.c:1248
-#, c-format
-msgid "Please check if data collecting is enabled\n"
-msgstr ""
-
-#: sa_common.c:1370
-#, c-format
-msgid "Requested activities not available in file %s\n"
-msgstr ""
-
-#: sa_common.c:1540 iostat.c:1385
-#, c-format
-msgid "Invalid type of persistent device name\n"
+"[ -h ] [ -k | -m ] [ -t ] [ -V ] [ --debuginfo ]\n"
msgstr ""
-#: pidstat.c:90
+#: cifsiostat.c:77 nfsiostat-sysstat.c:76
#, c-format
msgid ""
"Options are:\n"
-"[ -d ] [ -h ] [ -I ] [ -l ] [ -R ] [ -r ] [ -s ] [ -t ] [ -U "
-"[ <username> ] ]\n"
-"[ -u ] [ -V ] [ -v ] [ -w ] [ -C <command> ] [ -G ]\n"
-"[ -p { <pid> [,...] | SELF | ALL } ] [ -T { TASK | CHILD | ALL } ]\n"
-msgstr ""
-
-#: pidstat.c:219 sar.c:1084
-#, c-format
-msgid "Requested activities not available\n"
-msgstr ""
-
-#: sadf_misc.c:621
-#, c-format
-msgid "System activity data file: %s (%#x)\n"
-msgstr ""
-
-#: sadf_misc.c:630
-#, c-format
-msgid "Host: "
-msgstr ""
-
-#: sadf_misc.c:636
-#, c-format
-msgid "Number of CPU for last samples in file: %u\n"
-msgstr ""
-
-#: sadf_misc.c:640
-#, c-format
-msgid "File time: "
-msgstr ""
-
-#: sadf_misc.c:645
-#, c-format
-msgid "Size of a long int: %d\n"
-msgstr ""
-
-#: sadf_misc.c:651
-#, c-format
-msgid "List of activities:\n"
-msgstr ""
-
-#: sadf_misc.c:664
-#, c-format
-msgid "\t[Unknown activity format]"
+"[ -h ] [ -k | -m ] [ -t ] [ -V ]\n"
msgstr ""
-#: count.c:168
+#: sadf.c:86
#, c-format
-msgid "Cannot handle so many processors!\n"
+msgid ""
+"Usage: %s [ options ] [ <interval> [ <count> ] ] [ <datafile> | -[0-9]+ ]\n"
msgstr ""
-#: iostat.c:89
+#: sadf.c:89
#, c-format
msgid ""
"Options are:\n"
-"[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]\n"
-"[ -j { ID | LABEL | PATH | UUID | ... } ]\n"
-"[ [ -T ] -g ] [ -p [ <device> [,...] | ALL ] ]\n"
-"[ <device> [...] | ALL ] [ --debuginfo ]\n"
+"[ -C ] [ -d | -j | -p | -x ] [ -H ] [ -h ] [ -T | -t | -U ] [ -V ]\n"
+"[ -P { <cpu> [,...] | ALL } ] [ -s [ hh:mm:ss ] ] [ -e [ hh:mm:ss ] ]\n"
+"[ -- ]\n"
msgstr ""
-#: iostat.c:95
+#: mpstat.c:93
#, c-format
msgid ""
"Options are:\n"
-"[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]\n"
-"[ -j { ID | LABEL | PATH | UUID | ... } ]\n"
-"[ [ -T ] -g ] [ -p [ <device> [,...] | ALL ] ]\n"
-"[ <device> [...] | ALL ]\n"
+"[ -A ] [ -u ] [ -V ] [ -I { SUM | CPU | SCPU | ALL } ]\n"
+"[ -P { <cpu> [,...] | ON | ALL } ]\n"
msgstr ""
-#: iostat.c:328
-#, c-format
-msgid "Cannot find disk data\n"
+#: mpstat.c:616 sar.c:402 pidstat.c:2279
+msgid "Average:"
msgstr ""
-#: common.c:62
+#: mpstat.c:985
#, c-format
-msgid "sysstat version %s\n"
-msgstr ""
-
-#: pr_stats.c:2354 pr_stats.c:2367 pr_stats.c:2467 pr_stats.c:2479
-msgid "Summary"
-msgstr ""
-
-#: pr_stats.c:2405
-msgid "Other devices not listed here"
+msgid "Not that many processors!\n"
msgstr ""
#: sar.c:109
@@ -391,6 +297,11 @@
msgid "Inconsistent input data\n"
msgstr ""
+#: sar.c:1084 pidstat.c:239
+#, c-format
+msgid "Requested activities not available\n"
+msgstr ""
+
#: sar.c:1374
#, c-format
msgid "-f and -o options are mutually exclusive\n"
@@ -405,3 +316,92 @@
#, c-format
msgid "Cannot find the data collector (%s)\n"
msgstr ""
+
+#: pr_stats.c:2354 pr_stats.c:2367 pr_stats.c:2467 pr_stats.c:2479
+msgid "Summary"
+msgstr ""
+
+#: pr_stats.c:2405
+msgid "Other devices not listed here"
+msgstr ""
+
+#: sa_common.c:1050
+#, c-format
+msgid "Error while reading system activity file: %s\n"
+msgstr ""
+
+#: sa_common.c:1060
+#, c-format
+msgid "End of system activity file unexpected\n"
+msgstr ""
+
+#: sa_common.c:1079
+#, c-format
+msgid "File created by sar/sadc from sysstat version %d.%d.%d"
+msgstr ""
+
+#: sa_common.c:1110
+#, c-format
+msgid "Invalid system activity file: %s\n"
+msgstr ""
+
+#: sa_common.c:1117
+#, c-format
+msgid ""
+"Current sysstat version can no longer read the format of this file (%#x)\n"
+msgstr ""
+
+#: sa_common.c:1248
+#, c-format
+msgid "Please check if data collecting is enabled\n"
+msgstr ""
+
+#: sa_common.c:1370
+#, c-format
+msgid "Requested activities not available in file %s\n"
+msgstr ""
+
+#: sa_common.c:1540 iostat.c:1385
+#, c-format
+msgid "Invalid type of persistent device name\n"
+msgstr ""
+
+#: pidstat.c:90
+#, c-format
+msgid ""
+"Options are:\n"
+"[ -d ] [ -h ] [ -I ] [ -l ] [ -R ] [ -r ] [ -s ] [ -t ] [ -U "
+"[ <username> ] ]\n"
+"[ -u ] [ -V ] [ -v ] [ -w ] [ -C <command> ] [ -G ]\n"
+"[ -p { <pid> [,...] | SELF | ALL } ] [ -T { TASK | CHILD | ALL } ]\n"
+msgstr ""
+
+#: iostat.c:89
+#, c-format
+msgid ""
+"Options are:\n"
+"[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]\n"
+"[ -j { ID | LABEL | PATH | UUID | ... } ]\n"
+"[ [ -T ] -g ] [ -p [ <device> [,...] | ALL ] ]\n"
+"[ <device> [...] | ALL ] [ --debuginfo ]\n"
+msgstr ""
+
+#: iostat.c:95
+#, c-format
+msgid ""
+"Options are:\n"
+"[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]\n"
+"[ -j { ID | LABEL | PATH | UUID | ... } ]\n"
+"[ [ -T ] -g ] [ -p [ <device> [,...] | ALL ] ]\n"
+"[ <device> [...] | ALL ]\n"
+msgstr ""
+
+#: iostat.c:328
+#, c-format
+msgid "Cannot find disk data\n"
+msgstr ""
+
+#: count.c:168
+#, c-format
+msgid "Cannot handle so many processors!\n"
+msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysstat-11.0.6/pidstat.c new/sysstat-11.0.8/pidstat.c
--- old/sysstat-11.0.6/pidstat.c 2015-08-24 17:13:49.000000000 +0200
+++ new/sysstat-11.0.8/pidstat.c 2015-10-23 14:14:26.000000000 +0200
@@ -157,19 +157,39 @@
*/
void salloc_pid(unsigned int len)
{
- int i;
+ short i;
for (i = 0; i < 3; i++) {
- if ((st_pid_list[i] = (struct pid_stats *) malloc(PID_STATS_SIZE * len)) == NULL) {
- perror("malloc");
+ if ((st_pid_list[i] = (struct pid_stats *) calloc(len, PID_STATS_SIZE)) == NULL) {
+ perror("calloc");
exit(4);
}
- memset(st_pid_list[i], 0, PID_STATS_SIZE * len);
}
}
/*
***************************************************************************
+ * Reallocate structures for PIDs to read.
+ ***************************************************************************
+ */
+void realloc_pid(void)
+{
+ short i;
+ unsigned int new_size = 2 * pid_nr;
+
+ for (i = 0; i < 3; i++) {
+ if ((st_pid_list[i] = (struct pid_stats *) realloc(st_pid_list[i], PID_STATS_SIZE * new_size)) == NULL) {
+ perror("realloc");
+ exit(4);
+ }
+ memset(st_pid_list[i] + pid_nr, 0, PID_STATS_SIZE * (new_size - pid_nr));
+ }
+
+ pid_nr = new_size;
+}
+
+/*
+ ***************************************************************************
* Free PID list structures.
***************************************************************************
*/
@@ -860,23 +880,22 @@
if ((dir = opendir(filename)) == NULL)
return;
- while (*index < pid_nr) {
+ while ((drp = readdir(dir)) != NULL) {
+ if (!isdigit(drp->d_name[0])) {
+ continue;
+ }
- while ((drp = readdir(dir)) != NULL) {
- if (isdigit(drp->d_name[0]))
- break;
+ pst = st_pid_list[curr] + (*index)++;
+ if (read_pid_stats(atoi(drp->d_name), pst, &thr_nr, pid)) {
+ /* Thread no longer exists */
+ pst->pid = 0;
}
- if (drp) {
- pst = st_pid_list[curr] + (*index)++;
- if (read_pid_stats(atoi(drp->d_name), pst, &thr_nr, pid)) {
- /* Thread no longer exists */
- pst->pid = 0;
- }
+ if (*index >= pid_nr) {
+ realloc_pid();
}
- else
- break;
}
+
closedir(dir);
}
@@ -916,36 +935,33 @@
exit(4);
}
- while (p < pid_nr) {
-
- /* Get directory entries */
- while ((drp = readdir(dir)) != NULL) {
- if (isdigit(drp->d_name[0]))
- break;
+ /* Get directory entries */
+ while ((drp = readdir(dir)) != NULL) {
+ if (!isdigit(drp->d_name[0])) {
+ continue;
}
- if (drp) {
- pst = st_pid_list[curr] + p++;
- pid = atoi(drp->d_name);
-
- if (read_pid_stats(pid, pst, &thr_nr, 0)) {
- /* Process has terminated */
- pst->pid = 0;
- }
- else if (DISPLAY_TID(pidflag)) {
- /* Read stats for threads in task subdirectory */
- read_task_stats(curr, pid, &p);
- }
+ pst = st_pid_list[curr] + p++;
+ pid = atoi(drp->d_name);
+
+ if (read_pid_stats(pid, pst, &thr_nr, 0)) {
+ /* Process has terminated */
+ pst->pid = 0;
+ } else if (DISPLAY_TID(pidflag)) {
+ /* Read stats for threads in task subdirectory */
+ read_task_stats(curr, pid, &p);
}
- else {
- for (q = p; q < pid_nr; q++) {
- pst = st_pid_list[curr] + q;
- pst->pid = 0;
- }
- break;
+
+ if (p >= pid_nr) {
+ realloc_pid();
}
}
+ for (q = p; q < pid_nr; q++) {
+ pst = st_pid_list[curr] + q;
+ pst->pid = 0;
+ }
+
/* Close /proc directory */
closedir(dir);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysstat-11.0.6/pidstat.h new/sysstat-11.0.8/pidstat.h
--- old/sysstat-11.0.6/pidstat.h 2015-04-07 22:10:47.000000000 +0200
+++ new/sysstat-11.0.8/pidstat.h 2015-09-05 09:57:42.000000000 +0200
@@ -13,7 +13,7 @@
#define K_P_CHILD "CHILD"
#define K_P_ALL "ALL"
-#define NR_PID_PREALLOC 10
+#define NR_PID_PREALLOC 100
#define MAX_COMM_LEN 128
#define MAX_CMDLINE_LEN 128
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysstat-11.0.6/sadc.c new/sysstat-11.0.8/sadc.c
--- old/sysstat-11.0.6/sadc.c 2015-08-24 17:13:49.000000000 +0200
+++ new/sysstat-11.0.8/sadc.c 2015-10-23 14:14:26.000000000 +0200
@@ -904,9 +904,11 @@
}
/* OK: It's a true system activity file */
- if (!file_hdr.sa_act_nr || (file_hdr.sa_act_nr > NR_ACT))
+ if (!file_hdr.sa_act_nr || (file_hdr.sa_act_nr > NR_ACT) ||
+ (file_hdr.sa_vol_act_nr > NR_ACT))
/*
- * No activities at all or at least one unknown activity:
+ * No activities at all or at least one unknown activity,
+ * or too many volatile activities:
* Cannot append data to such a file.
*/
goto append_error;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysstat-11.0.6/sysstat-11.0.6.lsm new/sysstat-11.0.8/sysstat-11.0.6.lsm
--- old/sysstat-11.0.6/sysstat-11.0.6.lsm 2015-08-24 17:23:49.000000000 +0200
+++ new/sysstat-11.0.8/sysstat-11.0.6.lsm 1970-01-01 01:00:00.000000000 +0100
@@ -1,34 +0,0 @@
-Begin4
-Title: sysstat - the sar, sadf, mpstat, iostat, pidstat, nfsiostat-sysstat and cifsiostat commands for Linux
-Version: 11.0.6
-Entered-date: 2015-08-24
-Description: The sysstat package contains the sar, sadf, mpstat, iostat,
- pidstat, nfsiostat-sysstat, cifsiostat and sa tools for Linux.
- The sar command collects and reports system activity
- information.
- The information collected by sar can be saved in a file
- in a binary format for future inspection.
- The statistics reported by sar concern I/O transfer rates,
- paging activity, process-related activities, interrupts,
- network activity, memory and swap space utilization, CPU
- utilization, kernel activities and TTY statistics, among
- others. Both UP and SMP machines are fully supported.
- The iostat command reports CPU utilization
- and I/O statistics for disks. The mpstat command reports
- global and per-processor statistics. The sadf command
- is used to display data collected by sar in various
- formats (XML, database-friendly, etc.).
- The pidstat command reports statistics for Linux tasks (processes).
- The nfsiostat-sysstat command reports I/O statistics for network filesystems.
- The cifsiostat command reports I/O statistics for CIFS filesystems.
- NB: Send bugs, patches, suggestions and/or questions to
- (sysstat [at] orange.fr).
- URL: http://pagesperso-orange.fr/sebastien.godard/
-Keywords: system administration, sar, sadf, iostat, mpstat, pidstat, nfsiostat-sysstat, cifsiostat, system accounting, performance, tuning
-Author: sysstat [at] orange.fr (Sebastien Godard)
-Maintained-by: sysstat [at] orange.fr (Sebastien Godard)
-Primary-site: http://pagesperso-orange.fr/sebastien.godard/
- 298kB sysstat-11.0.6.tar.xz
-Alternate-site:
-Copying-policy: GPL
-End
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysstat-11.0.6/sysstat-11.0.6.spec new/sysstat-11.0.8/sysstat-11.0.6.spec
--- old/sysstat-11.0.6/sysstat-11.0.6.spec 2015-08-24 17:16:46.000000000 +0200
+++ new/sysstat-11.0.8/sysstat-11.0.6.spec 1970-01-01 01:00:00.000000000 +0100
@@ -1,80 +0,0 @@
-Summary: SAR, SADF, MPSTAT, IOSTAT, PIDSTAT, NFSIOSTAT-SYSSTAT and CIFSIOSTAT for Linux
-Name: sysstat
-Version: 11.0.6
-Release: 1
-License: GPL
-Group: Applications/System
-Source0: %{name}-%{version}.tar.gz
-URL: http://pagesperso-orange.fr/sebastien.godard/
-Packager: Sebastien Godard <sysstat _at_ orange.fr>
-BuildRoot: %{_tmppath}/%{name}-%{version}-root-%(id -u -n)
-Requires: gettext
-
-%description
-The sysstat package contains the sar, sadf, mpstat, iostat, pidstat,
-nfsiostat-sysstat, cifsiostat and sa tools for Linux.
-The sar command collects and reports system activity information.
-The information collected by sar can be saved in a file in a binary
-format for future inspection. The statistics reported by sar concern
-I/O transfer rates, paging activity, process-related activities,
-interrupts, network activity, memory and swap space utilization, CPU
-utilization, kernel activities and TTY statistics, among others. Both
-UP and SMP machines are fully supported.
-The sadf command may be used to display data collected by sar in
-various formats (CSV, XML, etc.).
-The iostat command reports CPU utilization and I/O statistics for disks.
-The mpstat command reports global and per-processor statistics.
-The pidstat command reports statistics for Linux tasks (processes).
-The nfsiostat-sysstat command reports I/O statistics for network filesystems.
-The cifsiostat command reports I/O statistics for CIFS filesystems.
-
-%prep
-%setup
-
-%build
-./configure --prefix=%{_prefix} \
- --disable-man-group \
- sa_lib_dir=%{_libdir}/sa \
- --mandir=%{_mandir} \
- DESTDIR=$RPM_BUILD_ROOT
-make
-
-%install
-rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/var/log/sa
-
-make install
-
-mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
-install -m 755 sysstat $RPM_BUILD_ROOT/etc/rc.d/init.d/sysstat
-mkdir -p $RPM_BUILD_ROOT/etc/sysconfig
-install -m 644 sysstat.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/sysstat
-install -m 644 sysstat.ioconf $RPM_BUILD_ROOT/etc/sysconfig/sysstat.ioconf
-mkdir -p $RPM_BUILD_ROOT/etc/cron.d
-install -m 644 cron/sysstat.crond.sample $RPM_BUILD_ROOT/etc/cron.d/sysstat
-mkdir -p $RPM_BUILD_ROOT/etc/rc2.d
-cd $RPM_BUILD_ROOT/etc/rc2.d && ln -sf ../init.d/sysstat S01sysstat
-mkdir -p $RPM_BUILD_ROOT/etc/rc3.d
-cd $RPM_BUILD_ROOT/etc/rc3.d && ln -sf ../init.d/sysstat S01sysstat
-mkdir -p $RPM_BUILD_ROOT/etc/rc5.d
-cd $RPM_BUILD_ROOT/etc/rc5.d && ln -sf ../init.d/sysstat S01sysstat
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-%files
-%defattr(644,root,root,755)
-%doc %{_datadir}/doc/sysstat-%{version}/*
-%attr(755,root,root) %{_bindir}/*
-%attr(755,root,root) %{_libdir}/sa/*
-%attr(644,root,root) %{_mandir}/man*/*
-%attr(644,root,root) %{_datadir}/locale/*/LC_MESSAGES/sysstat.mo
-%attr(755,root,root) %dir /var/log/sa
-%attr(755,root,root) /etc/rc.d/init.d/sysstat
-%attr(644,root,root) /etc/sysconfig/sysstat
-%attr(644,root,root) /etc/sysconfig/sysstat.ioconf
-%attr(755,root,root) /etc/rc2.d/S01sysstat
-%attr(755,root,root) /etc/rc3.d/S01sysstat
-%attr(755,root,root) /etc/rc5.d/S01sysstat
-%config(noreplace) %attr(0644,root,root) /etc/cron.d/sysstat
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysstat-11.0.6/sysstat-11.0.8.lsm new/sysstat-11.0.8/sysstat-11.0.8.lsm
--- old/sysstat-11.0.6/sysstat-11.0.8.lsm 1970-01-01 01:00:00.000000000 +0100
+++ new/sysstat-11.0.8/sysstat-11.0.8.lsm 2015-10-23 14:28:12.000000000 +0200
@@ -0,0 +1,34 @@
+Begin4
+Title: sysstat - the sar, sadf, mpstat, iostat, pidstat, nfsiostat-sysstat and cifsiostat commands for Linux
+Version: 11.0.8
+Entered-date: 2015-10-23
+Description: The sysstat package contains the sar, sadf, mpstat, iostat,
+ pidstat, nfsiostat-sysstat, cifsiostat and sa tools for Linux.
+ The sar command collects and reports system activity
+ information.
+ The information collected by sar can be saved in a file
+ in a binary format for future inspection.
+ The statistics reported by sar concern I/O transfer rates,
+ paging activity, process-related activities, interrupts,
+ network activity, memory and swap space utilization, CPU
+ utilization, kernel activities and TTY statistics, among
+ others. Both UP and SMP machines are fully supported.
+ The iostat command reports CPU utilization
+ and I/O statistics for disks. The mpstat command reports
+ global and per-processor statistics. The sadf command
+ is used to display data collected by sar in various
+ formats (XML, database-friendly, etc.).
+ The pidstat command reports statistics for Linux tasks (processes).
+ The nfsiostat-sysstat command reports I/O statistics for network filesystems.
+ The cifsiostat command reports I/O statistics for CIFS filesystems.
+ NB: Send bugs, patches, suggestions and/or questions to
+ (sysstat [at] orange.fr).
+ URL: http://pagesperso-orange.fr/sebastien.godard/
+Keywords: system administration, sar, sadf, iostat, mpstat, pidstat, nfsiostat-sysstat, cifsiostat, system accounting, performance, tuning
+Author: sysstat [at] orange.fr (Sebastien Godard)
+Maintained-by: sysstat [at] orange.fr (Sebastien Godard)
+Primary-site: http://pagesperso-orange.fr/sebastien.godard/
+ 288kB sysstat-11.0.8.tar.xz
+Alternate-site:
+Copying-policy: GPL
+End
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysstat-11.0.6/sysstat-11.0.8.spec new/sysstat-11.0.8/sysstat-11.0.8.spec
--- old/sysstat-11.0.6/sysstat-11.0.8.spec 1970-01-01 01:00:00.000000000 +0100
+++ new/sysstat-11.0.8/sysstat-11.0.8.spec 2015-10-23 14:23:05.000000000 +0200
@@ -0,0 +1,80 @@
+Summary: SAR, SADF, MPSTAT, IOSTAT, PIDSTAT, NFSIOSTAT-SYSSTAT and CIFSIOSTAT for Linux
+Name: sysstat
+Version: 11.0.8
+Release: 1
+License: GPL
+Group: Applications/System
+Source0: %{name}-%{version}.tar.gz
+URL: http://pagesperso-orange.fr/sebastien.godard/
+Packager: Sebastien Godard <sysstat _at_ orange.fr>
+BuildRoot: %{_tmppath}/%{name}-%{version}-root-%(id -u -n)
+Requires: gettext
+
+%description
+The sysstat package contains the sar, sadf, mpstat, iostat, pidstat,
+nfsiostat-sysstat, cifsiostat and sa tools for Linux.
+The sar command collects and reports system activity information.
+The information collected by sar can be saved in a file in a binary
+format for future inspection. The statistics reported by sar concern
+I/O transfer rates, paging activity, process-related activities,
+interrupts, network activity, memory and swap space utilization, CPU
+utilization, kernel activities and TTY statistics, among others. Both
+UP and SMP machines are fully supported.
+The sadf command may be used to display data collected by sar in
+various formats (CSV, XML, etc.).
+The iostat command reports CPU utilization and I/O statistics for disks.
+The mpstat command reports global and per-processor statistics.
+The pidstat command reports statistics for Linux tasks (processes).
+The nfsiostat-sysstat command reports I/O statistics for network filesystems.
+The cifsiostat command reports I/O statistics for CIFS filesystems.
+
+%prep
+%setup
+
+%build
+./configure --prefix=%{_prefix} \
+ --disable-man-group \
+ sa_lib_dir=%{_libdir}/sa \
+ --mandir=%{_mandir} \
+ DESTDIR=$RPM_BUILD_ROOT
+make
+
+%install
+rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT/var/log/sa
+
+make install
+
+mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
+install -m 755 sysstat $RPM_BUILD_ROOT/etc/rc.d/init.d/sysstat
+mkdir -p $RPM_BUILD_ROOT/etc/sysconfig
+install -m 644 sysstat.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/sysstat
+install -m 644 sysstat.ioconf $RPM_BUILD_ROOT/etc/sysconfig/sysstat.ioconf
+mkdir -p $RPM_BUILD_ROOT/etc/cron.d
+install -m 644 cron/sysstat.crond.sample $RPM_BUILD_ROOT/etc/cron.d/sysstat
+mkdir -p $RPM_BUILD_ROOT/etc/rc2.d
+cd $RPM_BUILD_ROOT/etc/rc2.d && ln -sf ../init.d/sysstat S01sysstat
+mkdir -p $RPM_BUILD_ROOT/etc/rc3.d
+cd $RPM_BUILD_ROOT/etc/rc3.d && ln -sf ../init.d/sysstat S01sysstat
+mkdir -p $RPM_BUILD_ROOT/etc/rc5.d
+cd $RPM_BUILD_ROOT/etc/rc5.d && ln -sf ../init.d/sysstat S01sysstat
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(644,root,root,755)
+%doc %{_datadir}/doc/sysstat-%{version}/*
+%attr(755,root,root) %{_bindir}/*
+%attr(755,root,root) %{_libdir}/sa/*
+%attr(644,root,root) %{_mandir}/man*/*
+%attr(644,root,root) %{_datadir}/locale/*/LC_MESSAGES/sysstat.mo
+%attr(755,root,root) %dir /var/log/sa
+%attr(755,root,root) /etc/rc.d/init.d/sysstat
+%attr(644,root,root) /etc/sysconfig/sysstat
+%attr(644,root,root) /etc/sysconfig/sysstat.ioconf
+%attr(755,root,root) /etc/rc2.d/S01sysstat
+%attr(755,root,root) /etc/rc3.d/S01sysstat
+%attr(755,root,root) /etc/rc5.d/S01sysstat
+%config(noreplace) %attr(0644,root,root) /etc/cron.d/sysstat
+
Files old/sysstat-11.0.6/tapestat and new/sysstat-11.0.8/tapestat differ
++++++ sysstat-8.0.4-pagesize.diff ++++++
--- /var/tmp/diff_new_pack.il8TpA/_old 2015-11-24 22:33:45.000000000 +0100
+++ /var/tmp/diff_new_pack.il8TpA/_new 2015-11-24 22:33:45.000000000 +0100
@@ -2,7 +2,7 @@
===================================================================
--- common.h.orig
+++ common.h
-@@ -140,8 +140,8 @@ extern unsigned int kb_shift;
+@@ -146,8 +146,8 @@ extern unsigned int kb_shift;
* kB <-> number of pages.
* Page size depends on machine architecture (4 kB, 8 kB, 16 kB, 64 kB...)
*/