pkgsrc/sysutils/torsmo/patches/patch-aa

43 lines
1 KiB
Text

$NetBSD: patch-aa,v 1.2 2007/12/02 12:55:11 wiz Exp $
--- fs.c.orig 2004-08-25 18:24:24.000000000 +0200
+++ fs.c
@@ -19,6 +19,11 @@
#include <sys/mount.h>
#endif
+#if defined (__NetBSD__) && (__NetBSD_Version__ >= 299000900)
+#include <sys/statvfs.h>
+#define STATVFS 1
+#endif
+
/* TODO: benchmark which is faster, fstatvfs() or pre-opened fd and
* statvfs() (fstatvfs() would handle mounts I think...) */
@@ -27,16 +32,25 @@ struct fs_stat *fs_stats = fs_stats_;
void update_fs_stats() {
unsigned int i;
+#ifndef STATVFS
struct statfs s;
+#else
+ struct statvfs s;
+#endif
for (i=0; i<16; i++) {
if (fs_stats[i].fd <= 0)
break;
+#ifndef STATVFS
fstatfs(fs_stats[i].fd, &s);
-
fs_stats[i].size = (long long) s.f_blocks * s.f_bsize;
/* bfree (root) or bavail (non-roots) ? */
fs_stats[i].avail = (long long) s.f_bavail * s.f_bsize;
+#else
+ fstatvfs(fs_stats[i].fd, &s);
+ fs_stats[i].size = (int64_t) s.f_blocks * 1024;
+ fs_stats[i].avail = (int64_t) s.f_bavail * 1024;
+#endif
}
}