{pstat,swapinfo}(8): Add -g/-m to swapinfo, fix warnings, raise WARNS to 6.
authorSascha Wildner <saw@online.de>
Thu, 28 Nov 2013 18:49:37 +0000 (19:49 +0100)
committerSascha Wildner <saw@online.de>
Thu, 28 Nov 2013 18:52:29 +0000 (19:52 +0100)
-g and -m will use a BLOCKSIZE of 1G and 1M to display swap size in
gigabytes or megabytes, respectively.

Suggested-by: marino
usr.sbin/pstat/Makefile
usr.sbin/pstat/pstat.8
usr.sbin/pstat/pstat.c

index 9a67a5d..c1c5cb9 100644 (file)
@@ -12,6 +12,5 @@ LDADD=        -lkcore -lkinfo -lkvm
 MAN=   pstat.8
 LINKS= ${BINDIR}/pstat ${BINDIR}/swapinfo
 MLINKS=        pstat.8 swapinfo.8
-WARNS?=        0
 
 .include <bsd.prog.mk>
index a97d57e..f5b4b90 100644 (file)
@@ -27,9 +27,8 @@
 .\"
 .\"     @(#)pstat.8    8.5 (Berkeley) 5/13/94
 .\" $FreeBSD: src/usr.sbin/pstat/pstat.8,v 1.19.2.10 2002/07/12 09:12:49 des Exp $
-.\" $DragonFly: src/usr.sbin/pstat/pstat.8,v 1.5 2008/09/02 11:50:46 matthias Exp $
 .\"
-.Dd September 2, 2008
+.Dd November 27, 2013
 .Dt PSTAT 8
 .Os
 .Sh NAME
@@ -43,7 +42,9 @@
 .Op Fl N Ar system
 .Pp
 .Nm swapinfo
+.Op Fl g
 .Op Fl k
+.Op Fl m
 .Op Fl M Ar core
 .Op Fl N Ar system
 .Sh DESCRIPTION
@@ -56,8 +57,10 @@ If invoked as
 the
 .Fl s
 option is implied, and only the
-.Fl k
-option is legal.
+.Fl k , m ,
+and
+.Fl g
+options are legal.
 .Pp
 The following options are available:
 .Bl -tag -width indent
@@ -67,6 +70,14 @@ Print devices out by major/minor instead of name.
 Print sizes in kilobytes, regardless of the setting of the
 .Ev BLOCKSIZE
 environment variable.
+.It Fl m
+Print sizes in megabytes, regardless of the setting of the
+.Ev BLOCKSIZE
+environment variable.
+.It Fl g
+Print sizes in gigabytes, regardless of the setting of the
+.Ev BLOCKSIZE
+environment variable.
 .It Fl T
 Print the number of used and free slots in several system tables.
 This is useful for checking to see how large system tables have become
index 842172a..f405508 100644 (file)
@@ -206,10 +206,10 @@ main(int argc, char **argv)
                opts = argv[0];
        if (!strcmp(opts,"swapinfo")) {
                swapflag = 1;
-               opts = "kM:N:";
-               usagestr = "swapinfo [-k] [-M core] [-N system]";
+               opts = "ghkmM:N:";
+               usagestr = "swapinfo [-gkm] [-M core] [-N system]";
        } else {
-               opts = "TM:N:fiknstv";
+               opts = "TM:N:fhiknstv";
                usagestr = "pstat [-Tfknst] [-M core] [-N system]";
        }
 
@@ -218,10 +218,18 @@ main(int argc, char **argv)
                case 'f':
                        fileflag = 1;
                        break;
+               case 'g':
+                       if (setenv("BLOCKSIZE", "1G", 1) == -1)
+                               warn("setenv: cannot set BLOCKSIZE=1K");
+                       break;
                case 'k':
                        if (setenv("BLOCKSIZE", "1K", 1) == -1)
                                warn("setenv: cannot set BLOCKSIZE=1K");
                        break;
+               case 'm':
+                       if (setenv("BLOCKSIZE", "1M", 1) == -1)
+                               warn("setenv: cannot set BLOCKSIZE=1K");
+                       break;
                case 'M':
                        memf = optarg;
                        break;
@@ -494,7 +502,7 @@ ufs_print(struct vnode *vp)
                else
                        printf(" %7s", name);
        else
-               printf(" %7qd", ip->i_size);
+               printf(" %7ju", (uintmax_t)ip->i_size);
        return (0);
 }
 
@@ -551,7 +559,7 @@ nfs_print(struct vnode *vp)
                else
                        printf(" %7s", name);
        else
-               printf(" %7qd", np->n_size);
+               printf(" %7ju", (uintmax_t)np->n_size);
        return (0);
 }
 
@@ -819,9 +827,11 @@ ttyprt(struct tty *tp, int line)
        int i, j;
        pid_t pgid;
        char *name, state[20];
+       dev_t dev;
+
+       dev = (uintptr_t)tp->t_dev & 0xffff; /* XXX t_dev is really dev_t */
 
-       if (usenumflag || tp->t_dev == 0 ||
-          (name = devname(tp->t_dev, S_IFCHR)) == NULL)
+       if (usenumflag || dev == 0 || (name = devname(dev, S_IFCHR)) == NULL)
                printf("%7d ", line);
        else
                printf("%7s ", name);
@@ -880,7 +890,7 @@ filemode(void)
                err(1, "kinfo_get_files");
        ofp = fp;
        
-       printf("%d/%d open files\n", len, maxfile);
+       printf("%zu/%d open files\n", len, maxfile);
        printf("   LOC   TYPE    FLG     CNT  MSG    DATA    OFFSET\n");
        for (; len-- > 0; fp++) {
                if ((unsigned)fp->f_type > DTYPE_SOCKET)
@@ -907,9 +917,9 @@ filemode(void)
                printf("  %3d", fp->f_msgcount);
                printf("  %8lx", (u_long)(void *)fp->f_data);
                if (fp->f_offset < 0)
-                       printf("  %qx\n", fp->f_offset);
+                       printf("  %jx\n", (uintmax_t)fp->f_offset);
                else
-                       printf("  %qd\n", fp->f_offset);
+                       printf("  %jd\n", (intmax_t)fp->f_offset);
        }
        free(ofp);
 }