From owner-svn-src-all@freebsd.org Thu Feb 20 21:15:28 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D9AE7246065; Thu, 20 Feb 2020 21:15:28 +0000 (UTC) (envelope-from csjp@ion.sqrt.ca) Received: from ion.sqrt.ca (ion.sqrt.ca [192.73.242.220]) by mx1.freebsd.org (Postfix) with ESMTP id 48NnS04Rdjz46WX; Thu, 20 Feb 2020 21:15:28 +0000 (UTC) (envelope-from csjp@ion.sqrt.ca) Received: by ion.sqrt.ca (Postfix, from userid 1000) id 6F90A819EE; Thu, 20 Feb 2020 13:15:22 -0800 (PST) Date: Thu, 20 Feb 2020 13:15:22 -0800 From: csjp@ion.sqrt.ca To: "Christian S.J. Peron" Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r358181 - head/usr.sbin/pstat Message-ID: <20200220211522.GA31441@ion.sqrt.ca> References: <202002202112.01KLCAKx000852@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <202002202112.01KLCAKx000852@repo.freebsd.org> User-Agent: Mutt/1.5.24 (2015-08-30) X-Rspamd-Queue-Id: 48NnS04Rdjz46WX X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-0.997,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; REPLY(-4.00)[] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Feb 2020 21:15:29 -0000 To be clear, the before and after should have read: Before: $ swapinfo -h Device 1K-blocks Used Avail Capacity /dev/gpt/swapfs 1048576 0B 1.0G 0% $ After: $ swapinfo -h Device Size Used Avail Capacity /dev/gpt/swapfs 1.0G 0B 1.0G 0% $ On Thu, Feb 20, 2020 at 09:12:10PM +0000, Christian S.J. Peron wrote: > Author: csjp > Date: Thu Feb 20 21:12:10 2020 > New Revision: 358181 > URL: https://svnweb.freebsd.org/changeset/base/358181 > > Log: > - Implement -h (human readable) for the size of the underlying block disk. > Currently, the size of the swap device is unconditionally reported using > blocks, even if -h has been used. > - While here, switch to CONVERT_BLOCKS() instead of CONVERT() which will > avoid overflowing size counters (in human readable form see: r196244) > - Update the column headers to reflect that a size is being reported instead > of the block size units being used > > Before: > > $ swapinfo > Device 1K-blocks Used Avail Capacity > /dev/gpt/swapfs 1048576 0 1048576 0% > $ > > After: > > $ swapinfo -h > Device Size Used Avail Capacity > /dev/gpt/swapfs 1.0G 0B 1.0G 0% > $ > > Differential Revision: https://reviews.freebsd.org/D23758 > Reviewed by: kevans > MFC after: 3 weeks > > Modified: > head/usr.sbin/pstat/pstat.c > > Modified: head/usr.sbin/pstat/pstat.c > ============================================================================== > --- head/usr.sbin/pstat/pstat.c Thu Feb 20 21:07:23 2020 (r358180) > +++ head/usr.sbin/pstat/pstat.c Thu Feb 20 21:12:10 2020 (r358181) > @@ -95,6 +95,8 @@ static struct { > #define NNAMES (sizeof(namelist) / sizeof(*namelist)) > static struct nlist nl[NNAMES]; > > +#define SIZEHDR "Size" > + > static int humanflag; > static int usenumflag; > static int totalflag; > @@ -471,7 +473,12 @@ print_swap_header(void) > long blocksize; > const char *header; > > - header = getbsize(&hlen, &blocksize); > + if (humanflag) { > + header = SIZEHDR; > + hlen = sizeof(SIZEHDR); > + } else { > + header = getbsize(&hlen, &blocksize); > + } > if (totalflag == 0) > (void)printf("%-15s %*s %8s %8s %8s\n", > "Device", hlen, header, > @@ -484,23 +491,30 @@ print_swap_line(const char *swdevname, intmax_t nblks, > { > char usedbuf[5]; > char availbuf[5]; > + char sizebuf[5]; > int hlen, pagesize; > long blocksize; > > pagesize = getpagesize(); > getbsize(&hlen, &blocksize); > > - printf("%-15s %*jd ", swdevname, hlen, CONVERT(nblks)); > + printf("%-15s ", swdevname); > if (humanflag) { > + humanize_number(sizebuf, sizeof(sizebuf), > + CONVERT_BLOCKS(nblks), "", > + HN_AUTOSCALE, HN_B | HN_NOSPACE | HN_DECIMAL); > humanize_number(usedbuf, sizeof(usedbuf), > CONVERT_BLOCKS(bused), "", > HN_AUTOSCALE, HN_B | HN_NOSPACE | HN_DECIMAL); > humanize_number(availbuf, sizeof(availbuf), > CONVERT_BLOCKS(bavail), "", > HN_AUTOSCALE, HN_B | HN_NOSPACE | HN_DECIMAL); > - printf("%8s %8s %5.0f%%\n", usedbuf, availbuf, bpercent); > + printf("%8s %8s %8s %5.0f%%\n", sizebuf, > + usedbuf, availbuf, bpercent); > } else { > - printf("%8jd %8jd %5.0f%%\n", (intmax_t)CONVERT(bused), > + printf("%*jd %8jd %8jd %5.0f%%\n", hlen, > + (intmax_t)CONVERT(nblks), > + (intmax_t)CONVERT(bused), > (intmax_t)CONVERT(bavail), bpercent); > } > }