Peter Schiffer 74ad0d3
diff -upr sysstat-10.1.2.orig/iostat.c sysstat-10.1.2/iostat.c
Peter Schiffer 74ad0d3
--- sysstat-10.1.2.orig/iostat.c	2012-10-03 21:18:22.000000000 +0200
Peter Schiffer 74ad0d3
+++ sysstat-10.1.2/iostat.c	2012-11-22 16:24:38.860140304 +0100
Peter Schiffer 74ad0d3
@@ -85,13 +85,13 @@ void usage(char *progname)
Peter Schiffer 74ad0d3
 		progname);
Peter Schiffer 74ad0d3
 #ifdef DEBUG
Peter Schiffer 74ad0d3
 	fprintf(stderr, _("Options are:\n"
Peter Schiffer 74ad0d3
-			  "[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -z ]\n"
Peter Schiffer 74ad0d3
+			  "[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]\n"
Peter Schiffer 74ad0d3
 			  "[ -j { ID | LABEL | PATH | UUID | ... } ]\n"
Peter Schiffer 74ad0d3
 			  "[ [ -T ] -g <group_name> ] [ -p [ <device> [,...] | ALL ] ]\n"
Peter Schiffer 74ad0d3
 			  "[ <device> [...] | ALL ] [ --debuginfo ]\n"));
Peter Schiffer 74ad0d3
 #else
Peter Schiffer 74ad0d3
 	fprintf(stderr, _("Options are:\n"
Peter Schiffer 74ad0d3
-			  "[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -z ]\n"
Peter Schiffer 74ad0d3
+			  "[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]\n"
Peter Schiffer 74ad0d3
 			  "[ -j { ID | LABEL | PATH | UUID | ... } ]\n"
Peter Schiffer 74ad0d3
 			  "[ [ -T ] -g <group_name> ] [ -p [ <device> [,...] | ALL ] ]\n"
Peter Schiffer 74ad0d3
 			  "[ <device> [...] | ALL ]\n"));
Peter Schiffer 74ad0d3
@@ -1205,6 +1205,12 @@ void write_stats(int curr, struct tm *re
Peter Schiffer 74ad0d3
 void rw_io_stat_loop(long int count, struct tm *rectime)
Peter Schiffer 74ad0d3
 {
Peter Schiffer 74ad0d3
 	int curr = 1;
Peter Schiffer 74ad0d3
+	int skip = 0;
Peter Schiffer 74ad0d3
+
Peter Schiffer 74ad0d3
+	/* Should we skip first report? */
Peter Schiffer 74ad0d3
+	if (DISPLAY_OMIT_SINCE_BOOT(flags) && interval > 0) {
Peter Schiffer 74ad0d3
+		skip = 1;
Peter Schiffer 74ad0d3
+	}
Peter Schiffer 74ad0d3
 
Peter Schiffer 74ad0d3
 	/* Don't buffer data if redirected to a pipe */
Peter Schiffer 74ad0d3
 	setbuf(stdout, NULL);
Peter Schiffer 74ad0d3
@@ -1261,12 +1267,18 @@ void rw_io_stat_loop(long int count, str
Peter Schiffer 74ad0d3
 		/* Get time */
Peter Schiffer 74ad0d3
 		get_localtime(rectime, 0);
Peter Schiffer 74ad0d3
 
Peter Schiffer 74ad0d3
-		/* Print results */
Peter Schiffer 74ad0d3
-		write_stats(curr, rectime);
Peter Schiffer 74ad0d3
+		/* Check whether we should skip first report */
Peter Schiffer 74ad0d3
+		if (!skip) {
Peter Schiffer 74ad0d3
+			/* Print results */
Peter Schiffer 74ad0d3
+			write_stats(curr, rectime);
Peter Schiffer 74ad0d3
 
Peter Schiffer 74ad0d3
-		if (count > 0) {
Peter Schiffer 74ad0d3
-			count--;
Peter Schiffer 74ad0d3
+			if (count > 0) {
Peter Schiffer 74ad0d3
+				count--;
Peter Schiffer 74ad0d3
+			}
Peter Schiffer 74ad0d3
+		} else {
Peter Schiffer 74ad0d3
+			skip = 0;
Peter Schiffer 74ad0d3
 		}
Peter Schiffer 74ad0d3
+
Peter Schiffer 74ad0d3
 		if (count) {
Peter Schiffer 74ad0d3
 			curr ^= 1;
Peter Schiffer 74ad0d3
 			pause();
Peter Schiffer 74ad0d3
@@ -1458,7 +1470,12 @@ int main(int argc, char **argv)
Peter Schiffer 74ad0d3
 					/* Display extended stats */
Peter Schiffer 74ad0d3
 					flags |= I_D_EXTENDED;
Peter Schiffer 74ad0d3
 					break;
Peter Schiffer 74ad0d3
-					
Peter Schiffer 74ad0d3
+
Peter Schiffer 74ad0d3
+				case 'y':
Peter Schiffer 74ad0d3
+					/* Omit first since boot stats */
Peter Schiffer 74ad0d3
+					flags |= I_D_OMIT_SINCE_BOOT;
Peter Schiffer 74ad0d3
+					break;
Peter Schiffer 74ad0d3
+
Peter Schiffer 74ad0d3
 				case 'z':
Peter Schiffer 74ad0d3
 					/* Omit output for devices with no activity */
Peter Schiffer 74ad0d3
 					flags |= I_D_ZERO_OMIT;
Peter Schiffer 74ad0d3
diff -upr sysstat-10.1.2.orig/iostat.h sysstat-10.1.2/iostat.h
Peter Schiffer 74ad0d3
--- sysstat-10.1.2.orig/iostat.h	2012-10-03 21:18:22.000000000 +0200
Peter Schiffer 74ad0d3
+++ sysstat-10.1.2/iostat.h	2012-11-22 16:09:53.136250283 +0100
Peter Schiffer 74ad0d3
@@ -23,7 +23,7 @@
Peter Schiffer 74ad0d3
 #define I_F_HAS_DISKSTATS	0x00800
Peter Schiffer 74ad0d3
 #define I_D_HUMAN_READ		0x01000
Peter Schiffer 74ad0d3
 #define I_D_PERSIST_NAME	0x02000
Peter Schiffer 74ad0d3
-/* Unused			0x04000 */
Peter Schiffer 74ad0d3
+#define I_D_OMIT_SINCE_BOOT	0x04000
Peter Schiffer 74ad0d3
 /* Unused			0x08000 */
Peter Schiffer 74ad0d3
 #define I_D_DEVMAP_NAME		0x10000
Peter Schiffer 74ad0d3
 #define I_D_ISO			0x20000
Peter Schiffer 74ad0d3
@@ -44,6 +44,7 @@
Peter Schiffer 74ad0d3
 #define HAS_DISKSTATS(m)		(((m) & I_F_HAS_DISKSTATS)    == I_F_HAS_DISKSTATS)
Peter Schiffer 74ad0d3
 #define DISPLAY_HUMAN_READ(m)		(((m) & I_D_HUMAN_READ)       == I_D_HUMAN_READ)
Peter Schiffer 74ad0d3
 #define DISPLAY_PERSIST_NAME_I(m)	(((m) & I_D_PERSIST_NAME)     == I_D_PERSIST_NAME)
Peter Schiffer 74ad0d3
+#define DISPLAY_OMIT_SINCE_BOOT(m)	(((m) & I_D_OMIT_SINCE_BOOT)     == I_D_OMIT_SINCE_BOOT)
Peter Schiffer 74ad0d3
 #define DISPLAY_DEVMAP_NAME(m)		(((m) & I_D_DEVMAP_NAME)      == I_D_DEVMAP_NAME)
Peter Schiffer 74ad0d3
 #define DISPLAY_ISO(m)			(((m) & I_D_ISO)              == I_D_ISO)
Peter Schiffer 74ad0d3
 #define DISPLAY_GROUP_TOTAL_ONLY(m)	(((m) & I_D_GROUP_TOTAL_ONLY) == I_D_GROUP_TOTAL_ONLY)
Peter Schiffer 74ad0d3
diff -upr sysstat-10.1.2.orig/man/iostat.in sysstat-10.1.2/man/iostat.in
Peter Schiffer 74ad0d3
--- sysstat-10.1.2.orig/man/iostat.in	2012-07-13 21:40:54.000000000 +0200
Peter Schiffer 74ad0d3
+++ sysstat-10.1.2/man/iostat.in	2012-11-22 17:53:57.961559688 +0100
Peter Schiffer 74ad0d3
@@ -4,7 +4,7 @@ iostat \- Report Central Processing Unit
Peter Schiffer 74ad0d3
 statistics for devices and partitions.
Peter Schiffer 74ad0d3
 .SH SYNOPSIS
Peter Schiffer 74ad0d3
 .ie 'yes'@WITH_DEBUG@' \{
Peter Schiffer 74ad0d3
-.B iostat [ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -z ]
Peter Schiffer 74ad0d3
+.B iostat [ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]
Peter Schiffer 74ad0d3
 .B [ -j { ID | LABEL | PATH | UUID | ... } ]
Peter Schiffer 74ad0d3
 .B [ [ -T ] -g
Peter Schiffer 74ad0d3
 .I group_name
Peter Schiffer 74ad0d3
@@ -19,7 +19,7 @@ statistics for devices and partitions.
Peter Schiffer 74ad0d3
 .B ] ]
Peter Schiffer 74ad0d3
 .\}
Peter Schiffer 74ad0d3
 .el \{
Peter Schiffer 74ad0d3
-.B iostat [ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -z ]
Peter Schiffer 74ad0d3
+.B iostat [ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]
Peter Schiffer 74ad0d3
 .B [ -j { ID | LABEL | PATH | UUID | ... } ]
Peter Schiffer 74ad0d3
 .B [ [ -T ] -g
Peter Schiffer 74ad0d3
 .I group_name
Peter Schiffer 74ad0d3
@@ -47,7 +47,9 @@ the input/output load between physical d
Peter Schiffer 74ad0d3
 The first report generated by the
Peter Schiffer 74ad0d3
 .B iostat
Peter Schiffer 74ad0d3
 command provides statistics
Peter Schiffer 74ad0d3
-concerning the time since the system was booted. Each subsequent report
Peter Schiffer 74ad0d3
+concerning the time since the system was booted, unless the
Peter Schiffer 74ad0d3
+.B -y
Peter Schiffer 74ad0d3
+option is used, when this first report is omitted. Each subsequent report
Peter Schiffer 74ad0d3
 covers the time since the previous report. All statistics are reported
Peter Schiffer 74ad0d3
 each time the iostat command is run. The report consists of a
Peter Schiffer 74ad0d3
 CPU header row followed by a row of
Peter Schiffer 74ad0d3
@@ -60,7 +62,10 @@ The
Peter Schiffer 74ad0d3
 .I interval
Peter Schiffer 74ad0d3
 parameter specifies the amount of time in seconds between
Peter Schiffer 74ad0d3
 each report. The first report contains statistics for the time since
Peter Schiffer 74ad0d3
-system startup (boot). Each subsequent report contains statistics
Peter Schiffer 74ad0d3
+system startup (boot), unless the
Peter Schiffer 74ad0d3
+.B -y
Peter Schiffer 74ad0d3
+option is used, when this report is omitted.
Peter Schiffer 74ad0d3
+Each subsequent report contains statistics
Peter Schiffer 74ad0d3
 collected during the interval since the previous report. The
Peter Schiffer 74ad0d3
 .I count
Peter Schiffer 74ad0d3
 parameter can be specified in conjunction with the
Peter Schiffer 74ad0d3
@@ -326,6 +331,9 @@ on the value of the S_TIME_FORMAT enviro
Peter Schiffer 74ad0d3
 Print version number then exit.
Peter Schiffer 74ad0d3
 .IP -x
Peter Schiffer 74ad0d3
 Display extended statistics.
Peter Schiffer 74ad0d3
+.IP -y
Peter Schiffer 74ad0d3
+Omit first report with statistics since the system boot, if displaying multiple
Peter Schiffer 74ad0d3
+records in given interval.
Peter Schiffer 74ad0d3
 .IP -z
Peter Schiffer 74ad0d3
 Tell iostat to omit output for any devices for which there was no activity
Peter Schiffer 74ad0d3
 during the sample period.