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 - [email protected] + +- 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 <rod.skinner@int[...].com> Kevin C. Smallwood <kcs@lin[...].com> Dick Snippe <Dick.Snippe@tec[...].nl> + Alexis Solanas <alexis@red[...].com> Graham Swallow <gps@tri[...].uk> Mike Sweger <mikesw@whi[...].net> Don Totten <dontotten@ibm[...].net> 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 <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <[email protected]>\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" -"[ -- <sar_options> ]\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 <process_name> ]\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 <group_name> ] [ -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" +"[ -- <sar_options> ]\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 <group_name> ] [ -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 <process_name> ]\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 <group_name> ] [ -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 <group_name> ] [ -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...) */
