Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Feb 2020 13:15:22 -0800
From:      csjp@ion.sqrt.ca
To:        "Christian S.J. Peron" <csjp@FreeBSD.org>
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>
In-Reply-To: <202002202112.01KLCAKx000852@repo.freebsd.org>
References:  <202002202112.01KLCAKx000852@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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);
>  	}
>  }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20200220211522.GA31441>