svn commit: r196245 - stable/8/usr.sbin/pstat

Stanislav Sedov stas at FreeBSD.org
Sat Aug 15 15:12:46 UTC 2009


Author: stas
Date: Sat Aug 15 15:12:46 2009
New Revision: 196245
URL: http://svn.freebsd.org/changeset/base/196245

Log:
  - Merge 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 multiplica
  
  Approved by:	re (kib)

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

Modified: stable/8/usr.sbin/pstat/pstat.c
==============================================================================
--- stable/8/usr.sbin/pstat/pstat.c	Sat Aug 15 14:39:33 2009	(r196244)
+++ stable/8/usr.sbin/pstat/pstat.c	Sat Aug 15 15:12:46 2009	(r196245)
@@ -460,6 +460,7 @@ getfiles(struct xfile **abuf, size_t *al
  */
 
 #define CONVERT(v)	((int64_t)(v) * pagesize / blocksize)
+#define CONVERT_BLOCKS(v)	((int64_t)(v) * pagesize)
 static struct kvm_swap swtot;
 static int nswdev;
 
@@ -492,10 +493,10 @@ print_swap_line(const char *swdevname, i
 	printf("%-15s %*jd ", swdevname, 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-all mailing list