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);
>       }
>  }
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to