svn commit: r196430 - stable/7/usr.sbin/pstat

Stanislav Sedov stas at FreeBSD.org
Sat Aug 22 09:09:45 UTC 2009


Author: stas
Date: Sat Aug 22 09:09:44 2009
New Revision: 196430
URL: http://svn.freebsd.org/changeset/base/196430

Log:
  - MFC r196244:
    - Avoid overflowing the swap size counters in human-readable mode
      by introducing the new CONVERT_BLOCKS macro which operates on
      sizes already converted to number of blocks.  With this macro
      it is not longer needed to perform needless multiplication by
      blocksize just to divide on it later in CONVERT macro.

Modified:
  stable/7/usr.sbin/pstat/   (props changed)
  stable/7/usr.sbin/pstat/pstat.c

Modified: stable/7/usr.sbin/pstat/pstat.c
==============================================================================
--- stable/7/usr.sbin/pstat/pstat.c	Sat Aug 22 00:56:47 2009	(r196429)
+++ stable/7/usr.sbin/pstat/pstat.c	Sat Aug 22 09:09:44 2009	(r196430)
@@ -479,6 +479,7 @@ getfiles(char **abuf, size_t *alen)
  */
 
 #define CONVERT(v)	((int64_t)(v) * pagesize / blocksize)
+#define CONVERT_BLOCKS(v)	((int64_t)(v) * pagesize)
 static struct kvm_swap swtot;
 static int nswdev;
 
@@ -511,10 +512,10 @@ print_swap_line(const char *devname, int
 	printf("%-15s %*jd ", devname, hlen, CONVERT(nblks));
 	if (humanflag) {
 		humanize_number(usedbuf, sizeof(usedbuf),
-		    CONVERT(blocksize * bused), "",
+		    CONVERT_BLOCKS(bused), "",
 		    HN_AUTOSCALE, HN_B | HN_NOSPACE | HN_DECIMAL);
 		humanize_number(availbuf, sizeof(availbuf),
-		    CONVERT(blocksize * bavail), "",
+		    CONVERT_BLOCKS(bavail), "",
 		    HN_AUTOSCALE, HN_B | HN_NOSPACE | HN_DECIMAL);
 		printf("%8s %8s %5.0f%%\n", usedbuf, availbuf, bpercent);
 	} else {


More information about the svn-src-stable-7 mailing list