-
Incident report
-
Resolution: Won't fix
-
Minor
-
None
-
1.6
-
None
-
OpenBSD/i386 -current
the following patch is needed to report correct disk space values,
it's likely to also be needed for other OS.
— src/libs/zbxsysinfo/openbsd/diskspace.c.orig Tue Oct 28 13:24:30 2008
+++ src/libs/zbxsysinfo/openbsd/diskspace.c Tue Oct 28 13:56:04 2008
@@ -42,22 +42,22 @@ int get_fs_size_stat(const char *fs, zbx_uint64_t *tot
#ifdef HAVE_SYS_STATVFS_H
if (total)
- *total = (zbx_uint64_t)s.f_blocks * s.f_frsize;
+ *total = (zbx_uint64_t)s.f_blocks * (s.f_frsize / 1024.0);
if (free) - *free = (zbx_uint64_t)s.f_bfree * s.f_frsize;
+ *free = (zbx_uint64_t)s.f_bfree * (s.f_frsize / 1024.0);
if (used) - *used = (zbx_uint64_t)(s.f_blocks - s.f_bfree) * s.f_frsize;
+ *used = (zbx_uint64_t)(s.f_blocks - s.f_bfree) * (s.f_frsize / 1024.0);
if (pfree)
*pfree = (double)(100.0 * s.f_bfree) / s.f_blocks;
if (pused)
*pused = (double)(100.0 * (s.f_blocks - s.f_bfree)) / s.f_blocks;
#else
if (total) - *total = (zbx_uint64_t)s.f_blocks * s.f_bsize;
+ *total = (zbx_uint64_t)s.f_blocks * (s.f_bsize / 1024.0);
if (free) - *free = (zbx_uint64_t)s.f_bfree * s.f_bsize;
+ *free = (zbx_uint64_t)s.f_bfree * (s.f_bsize / 1024.0);
if (used) - *used = (zbx_uint64_t)(s.f_blocks - s.f_bfree) * s.f_bsize;
+ *used = (zbx_uint64_t)(s.f_blocks - s.f_bfree) * (s.f_bsize / 1024.0);
if (pfree)
*pfree = (double)(100.0 * s.f_bfree) / s.f_blocks;
if (pused)