diff -upr sysstat-10.1.5.orig/cifsiostat.c sysstat-10.1.5/cifsiostat.c --- sysstat-10.1.5.orig/cifsiostat.c 2013-03-23 17:31:46.000000000 +0100 +++ sysstat-10.1.5/cifsiostat.c 2014-09-29 14:23:37.600574444 +0200 @@ -43,7 +43,6 @@ #define SCCSID "@(#)sysstat-" VERSION ": " __FILE__ " compiled " __DATE__ " " __TIME__ char *sccsid(void) { return (SCCSID); } -unsigned long long uptime[2] = {0, 0}; unsigned long long uptime0[2] = {0, 0}; struct cifs_stats *st_cifs[2]; struct io_hdr_stats *st_hdr_cifs; @@ -474,13 +473,8 @@ void write_stats(int curr, struct tm *re #endif } - /* Interval is multiplied by the number of processors */ - itv = get_interval(uptime[!curr], uptime[curr]); - - if (cpu_nr > 1) { - /* On SMP machines, reduce itv to one processor (see note above) */ - itv = get_interval(uptime0[!curr], uptime0[curr]); - } + /* Interval of time, reduced to one processor */ + itv = get_interval(uptime0[!curr], uptime0[curr]); shi = st_hdr_cifs; @@ -527,15 +521,12 @@ void rw_io_stat_loop(long int count, str setbuf(stdout, NULL); do { - if (cpu_nr > 1) { - /* - * Read system uptime (only for SMP machines). - * Init uptime0. So if /proc/uptime cannot fill it, - * this will be done by /proc/stat. - */ - uptime0[curr] = 0; - read_uptime(&(uptime0[curr])); - } + /* Read system uptime (reduced to one processor) */ + uptime0[curr] = 0; + read_uptime(&(uptime0[curr])); + if (!uptime0[curr]) + /* Cannot read system uptime (/proc/uptime doesn't exist) */ + exit(2); /* Read CIFS stats */ read_cifs_stat(curr); diff -upr sysstat-10.1.5.orig/nfsiostat.c sysstat-10.1.5/nfsiostat.c --- sysstat-10.1.5.orig/nfsiostat.c 2013-03-23 17:31:46.000000000 +0100 +++ sysstat-10.1.5/nfsiostat.c 2014-09-29 14:23:37.601574440 +0200 @@ -42,7 +42,6 @@ #define SCCSID "@(#)sysstat-" VERSION ": " __FILE__ " compiled " __DATE__ " " __TIME__ char *sccsid(void) { return (SCCSID); } -unsigned long long uptime[2] = {0, 0}; unsigned long long uptime0[2] = {0, 0}; struct io_nfs_stats *st_ionfs[2]; struct io_hdr_stats *st_hdr_ionfs; @@ -541,13 +540,8 @@ void write_stats(int curr, struct tm *re #endif } - /* Interval is multiplied by the number of processors */ - itv = get_interval(uptime[!curr], uptime[curr]); - - if (cpu_nr > 1) { - /* On SMP machines, reduce itv to one processor (see note above) */ - itv = get_interval(uptime0[!curr], uptime0[curr]); - } + /* Interval of time, reduced to one processor */ + itv = get_interval(uptime0[!curr], uptime0[curr]); shi = st_hdr_ionfs; @@ -595,15 +589,13 @@ void rw_io_stat_loop(long int count, str setbuf(stdout, NULL); do { - if (cpu_nr > 1) { - /* - * Read system uptime (only for SMP machines). - * Init uptime0. So if /proc/uptime cannot fill it, - * this will be done by /proc/stat. - */ - uptime0[curr] = 0; - read_uptime(&(uptime0[curr])); - } + /* Read system uptime (reduced to one processor) */ + uptime0[curr] = 0; + read_uptime(&(uptime0[curr])); + if (!uptime0[curr]) + /* Cannot read system uptime (/proc/uptime doesn't exist) */ + exit(2); + /* Read NFS directories stats */ read_nfs_stat(curr);