Fix test for tables and empty instance
[collectd.git] / src / df.c
index 9d53b0b..dc7be1e 100644 (file)
--- a/src/df.c
+++ b/src/df.c
@@ -257,6 +257,8 @@ static int df_read (void)
                {
                        if (strcmp (mnt_ptr->dir, "/") == 0)
                        {
+                               if (strcmp (mnt_ptr->type, "rootfs") == 0)
+                                       continue;
                                sstrncpy (disk_name, "root", sizeof (disk_name));
                        }
                        else
@@ -287,9 +289,11 @@ static int df_read (void)
                         * report negative free space for user. Notice. blk_reserved
                         * will start to diminish after this. */
 #if HAVE_STATVFS
-                       /* Cast is needed to avoid compiler warnings.
+                       /* Cast and temporary variable are needed to avoid
+                        * compiler warnings.
                         * ((struct statvfs).f_bavail is unsigned (POSIX)) */
-                       if (((int64_t) statbuf.f_bavail) < 0)
+                       int64_t signed_bavail = (int64_t) statbuf.f_bavail;
+                       if (signed_bavail < 0)
                                statbuf.f_bavail = 0;
 #elif HAVE_STATFS
                        if (statbuf.f_bavail < 0)