svn commit: r268238 - head/usr.sbin/gstat

Steven Hartland killing at multiplay.co.uk
Thu Jul 3 22:08:38 UTC 2014


Great idea thanks for this very useful :)

    Regards
    Steve
----- Original Message ----- 
From: "Xin LI" <delphij at FreeBSD.org>
To: <src-committers at freebsd.org>; <svn-src-all at freebsd.org>; <svn-src-head at freebsd.org>
Sent: Thursday, July 03, 2014 10:48 PM
Subject: svn commit: r268238 - head/usr.sbin/gstat


> Author: delphij
> Date: Thu Jul  3 21:48:19 2014
> New Revision: 268238
> URL: http://svnweb.freebsd.org/changeset/base/268238
> 
> Log:
>  Add an option, -p, which makes gstat(8) to only display physical providers
>  (those with rank of 1).
>  
>  MFC after: 2 weeks
> 
> Modified:
>  head/usr.sbin/gstat/gstat.8
>  head/usr.sbin/gstat/gstat.c
> 
> Modified: head/usr.sbin/gstat/gstat.8
> ==============================================================================
> --- head/usr.sbin/gstat/gstat.8 Thu Jul  3 20:35:33 2014 (r268237)
> +++ head/usr.sbin/gstat/gstat.8 Thu Jul  3 21:48:19 2014 (r268238)
> @@ -24,7 +24,7 @@
> .\"
> .\" $FreeBSD$
> .\"
> -.Dd May 17, 2014
> +.Dd July 3, 2014
> .Dt GSTAT 8
> .Os
> .Sh NAME
> @@ -32,7 +32,7 @@
> .Nd print statistics about GEOM disks
> .Sh SYNOPSIS
> .Nm
> -.Op Fl abcdo
> +.Op Fl abcdop
> .Op Fl f Ar filter
> .Op Fl I Ar interval
> .Sh DESCRIPTION
> @@ -84,6 +84,8 @@ or
> .Cm us
> (the default) indicates that the update interval is specified in
> seconds, milliseconds, or microseconds, respectively.
> +.It Fl p
> +Only display physical providers (those with rank of 1).
> .El
> .Sh EXIT STATUS
> .Ex -std
> 
> Modified: head/usr.sbin/gstat/gstat.c
> ==============================================================================
> --- head/usr.sbin/gstat/gstat.c Thu Jul  3 20:35:33 2014 (r268237)
> +++ head/usr.sbin/gstat/gstat.c Thu Jul  3 21:48:19 2014 (r268238)
> @@ -51,7 +51,7 @@
> #include <sysexits.h>
> #include <unistd.h>
> 
> -static int flag_a, flag_b, flag_c, flag_d, flag_o;
> +static int flag_a, flag_b, flag_c, flag_d, flag_o, flag_p;
> static int flag_I = 1000000;
> 
> #define PRINTMSG(...) do { \
> @@ -104,7 +104,7 @@ main(int argc, char **argv)
>  flag_b = 1;
> 
>  f_s[0] = '\0';
> - while ((i = getopt(argc, argv, "abdcf:oI:")) != -1) {
> + while ((i = getopt(argc, argv, "abdcf:I:op")) != -1) {
>  switch (i) {
>  case 'a':
>  flag_a = 1;
> @@ -143,6 +143,9 @@ main(int argc, char **argv)
>  i *= 1;
>  flag_I = i;
>  break;
> + case 'p':
> + flag_p = 1;
> + break;
>  case '?':
>  default:
>  usage();
> @@ -254,6 +257,9 @@ main(int argc, char **argv)
>  continue;
>  if (gid->lg_what == ISCONSUMER && !flag_c)
>  continue;
> + if (flag_p && gid->lg_what == ISPROVIDER &&
> +    ((struct gprovider *)(gid->lg_ptr))->lg_geom->lg_rank != 1)
> + continue;
>  /* Do not print past end of window */
>  if (!flag_b) {
>  getyx(stdscr, cury, curx);
> @@ -443,7 +449,7 @@ main(int argc, char **argv)
> static void
> usage(void)
> {
> - fprintf(stderr, "usage: gstat [-abcd] [-f filter] [-I interval]\n");
> + fprintf(stderr, "usage: gstat [-abcdp] [-f filter] [-I interval]\n");
>  exit(EX_USAGE);
>         /* NOTREACHED */
> }
> 
>


More information about the svn-src-head mailing list