mirror of
https://git.hardenedbsd.org/hardenedbsd/HardenedBSD.git
synced 2024-11-14 22:32:30 +01:00
- 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
This commit is contained in:
parent
f92bb8c19a
commit
9a990500e5
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=358181
@ -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, intmax_t bused,
|
||||
{
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user