From owner-svn-soc-all@FreeBSD.ORG Fri Jul 15 11:16:00 2011 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from socsvn.FreeBSD.org (unknown [IPv6:2001:4f8:fff6::2f]) by hub.freebsd.org (Postfix) with SMTP id 3B4C7106564A for ; Fri, 15 Jul 2011 11:15:58 +0000 (UTC) (envelope-from oleksandr@FreeBSD.org) Received: by socsvn.FreeBSD.org (sSMTP sendmail emulation); Fri, 15 Jul 2011 11:15:58 +0000 Date: Fri, 15 Jul 2011 11:15:58 +0000 From: oleksandr@FreeBSD.org To: svn-soc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Message-Id: <20110715111558.3B4C7106564A@hub.freebsd.org> Cc: Subject: socsvn commit: r224267 - soc2011/oleksandr/oleksandr-head/head/usr.sbin/iostat X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jul 2011 11:16:00 -0000 Author: oleksandr Date: Fri Jul 15 11:15:57 2011 New Revision: 224267 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=224267 Log: Add new type of error: read and write Modified: soc2011/oleksandr/oleksandr-head/head/usr.sbin/iostat/iostat.c Modified: soc2011/oleksandr/oleksandr-head/head/usr.sbin/iostat/iostat.c ============================================================================== --- soc2011/oleksandr/oleksandr-head/head/usr.sbin/iostat/iostat.c Fri Jul 15 10:54:43 2011 (r224266) +++ soc2011/oleksandr/oleksandr-head/head/usr.sbin/iostat/iostat.c Fri Jul 15 11:15:57 2011 (r224267) @@ -187,7 +187,7 @@ matches = NULL; maxshowdevs = 3; - while ((c = getopt(argc, argv, "c:CdhIKM:n:N:ot:Tw:xz?")) != -1) { + while ((c = getopt(argc, argv, "c:CdEhIKM:n:N:ot:Tw:xz?")) != -1) { switch(c) { case 'c': cflag++; @@ -283,7 +283,7 @@ * Make sure Tflag and/or Cflag are set if dflag == 0. If dflag is * greater than 0, they may be 0 or non-zero. */ - if (dflag == 0 && xflag == 0) { + if (dflag == 0 && xflag == 0 && Eflag == 0) { Cflag = 1; Tflag = 1; } @@ -296,8 +296,8 @@ * Figure out how many devices we should display. */ if (nflag == 0) { - if (xflag > 0) - maxshowdevs = num_devices; + if (xflag > 0 || Eflag > 0) + maxshowdevs = num_devices; else if (oflag > 0) { if ((dflag > 0) && (Cflag == 0) && (Tflag == 0)) maxshowdevs = 5; @@ -594,7 +594,7 @@ devstats(hflag, etime, havelast); - if (xflag == 0) { + if (xflag == 0 && Eflag == 0 ) { if (Cflag > 0) cpustats(); @@ -673,7 +673,7 @@ * If xflag is set, we need a per-loop header, not a page header, so * just return. We'll print the header in devstats(). */ - if (xflag > 0) + if (xflag > 0 || Eflag > 0) return; if (Tflag > 0) @@ -763,9 +763,8 @@ printf("\n"); } if (Eflag>0) { - printf(" error device statistics "); - printf( - "device retrable non_retrible " + printf(" error device statistics\n"); + printf("device retriable non-retriable read error write error" ); printf("\n"); } @@ -819,10 +818,12 @@ cur.dinfo->devices[di].device_name, cur.dinfo->devices[di].unit_number) == -1) err(1, "asprintf"); - printf("%-8.8s %d %d ", - devname,cur.dinfo->devices[di].dev_error.retriable, - cur.dinfo->devices[di].dev_error.non_retriable); - printf("\n"); + printf("%-8.8s %-12d %-12d %-12d %-12d", + devname, cur.dinfo->devices[di].dev_error.retriable, + cur.dinfo->devices[di].dev_error.non_retriable, + cur.dinfo->devices[di].dev_error.read_error, + cur.dinfo->devices[di].dev_error.write_error); + printf("\n"); free(devname); } if (xflag > 0) { @@ -889,7 +890,7 @@ total_transfers, msdig, ms_per_transaction); - } else { + } else if ( Eflag == 0) { if (Iflag == 0) printf(" %5.2Lf %3.0Lf %5.2Lf ", kb_per_transfer,