From c1f79d741a160ea17a110ca09b3deb705636ec4a Mon Sep 17 00:00:00 2001 From: Tobias Tschinkowitz Date: Wed, 16 May 2018 13:26:34 +0200 Subject: [PATCH] corrected calculation for swap on openbsd The swapctl(2) function fills the swapent struct with 512KB blocks. As we want to display in GB, i just modified the calculation for this to get the expected output. --- components/swap.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/components/swap.c b/components/swap.c index 031b713..caa4788 100644 --- a/components/swap.c +++ b/components/swap.c @@ -131,8 +131,6 @@ #include #include - #define dbtoqb(b) dbtob((int64_t)(b)) - static void getstats(int *total, int *used) { @@ -162,8 +160,8 @@ *used = 0; for (i = 0; i < rnswap; i++) { - *total += dbtoqb(sep->se_nblks); - *used += dbtoqb(sep->se_inuse); + *total += sep->se_nblks >> 1; + *used += sep->se_inuse >> 1; } free(fsep); @@ -176,7 +174,7 @@ getstats(&total, &used); - return bprintf("%f", (float)(total - used) / 1024 / 1024 / 1024); + return bprintf("%f", (float)(total - used) / 1024 / 1024); } const char * @@ -196,7 +194,7 @@ getstats(&total, &used); - return bprintf("%f", (float)total / 1024 / 1024 / 1024); + return bprintf("%f", (float)total / 1024 / 1024); } const char * @@ -206,6 +204,6 @@ getstats(&total, &used); - return bprintf("%f", (float)used / 1024 / 1024 / 1024); + return bprintf("%f", (float)used / 1024 / 1024); } #endif