summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sysdeps/common/ChangeLog4
-rw-r--r--sysdeps/common/fsusage.c8
2 files changed, 11 insertions, 1 deletions
diff --git a/sysdeps/common/ChangeLog b/sysdeps/common/ChangeLog
index fd270913..db21dfdb 100644
--- a/sysdeps/common/ChangeLog
+++ b/sysdeps/common/ChangeLog
@@ -1,5 +1,9 @@
2004-09-24 Benoît Dejean <tazforever@dlfp.org>
+ * fsusage.c: (glibtop_get_fsusage_s): Fixed .block_size on Solaris.
+
+2004-09-24 Benoît Dejean <tazforever@dlfp.org>
+
* Makefile.am:
* mountlist.c:
* mountlist.h: Removed mountlist.h.
diff --git a/sysdeps/common/fsusage.c b/sysdeps/common/fsusage.c
index 88a9090f..cb8b5b28 100644
--- a/sysdeps/common/fsusage.c
+++ b/sysdeps/common/fsusage.c
@@ -248,12 +248,18 @@ glibtop_get_fsusage_s (glibtop *server, glibtop_fsusage *buf,
#endif /* STAT_STATFS4 */
#ifdef STAT_STATVFS /* SVR4 */
- /* Linux */
+ /* Linux, Solaris */
if (statvfs (path, &fsd) < 0)
return;
+#if (defined(sun) || defined(__sun)) && (defined(__SVR4) || defined(__svr4__))
+ /* Solaris but not SunOS */
+ buf->block_size = fsd.f_frsize;
+#else
+ /* else, including Linux */
buf->block_size = fsd.f_bsize;
+#endif
#endif /* STAT_STATVFS */