corrected calculations for disk space on openbsd
authorTobias Tschinkowitz <he4d@posteo.de>
Thu, 17 May 2018 10:43:21 +0000 (12:43 +0200)
committerAaron Marcher <me@drkhsh.at>
Thu, 17 May 2018 12:36:37 +0000 (14:36 +0200)
components/disk.c

index 81129810a50c407cfbd28d16175b1e9243a3b2f2..bf6987577673d705c9a77a11490cd6634d3ad668 100644 (file)
@@ -17,7 +17,7 @@ disk_free(const char *mnt)
        }
 
        return bprintf("%f",
-                      (float)fs.f_bsize * (float)fs.f_bfree / 1024 / 1024 / 1024);
+                      (float)fs.f_frsize * (float)fs.f_bavail / 1024 / 1024 / 1024);
 }
 
 const char *
@@ -31,7 +31,7 @@ disk_perc(const char *mnt)
        }
 
        return bprintf("%d", (int)(100 *
-                      (1.0f - ((float)fs.f_bfree / (float)fs.f_blocks))));
+                      (1.0f - ((float)fs.f_bavail / (float)fs.f_blocks))));
 }
 
 const char *
@@ -45,7 +45,7 @@ disk_total(const char *mnt)
        }
 
        return bprintf("%f",
-                      (float)fs.f_bsize * (float)fs.f_blocks / 1024 / 1024 / 1024);
+                      (float)fs.f_frsize * (float)fs.f_blocks / 1024 / 1024 / 1024);
 }
 
 const char *
@@ -59,6 +59,6 @@ disk_used(const char *mnt)
        }
 
        return bprintf("%f",
-                      (float)fs.f_bsize * ((float)fs.f_blocks -
+                      (float)fs.f_frsize * ((float)fs.f_blocks -
                       (float)fs.f_bfree) / 1024 / 1024 / 1024);
 }