LogoopenSUSE Build Service > Projects
Sign Up | Log In

View File collectd-df-remove-duplicates.patch of Package collectd (Project server:monitoring)

--- src/df.c.orig	2012-01-26 01:18:25.360102426 +0100
+++ src/df.c	2012-01-26 01:19:42.699099673 +0100
@@ -183,6 +183,7 @@
 	{
 		unsigned long long blocksize;
 		char disk_name[256];
+        cu_mount_t *mnt_dup_ptr;
 		uint64_t blk_free;
 		uint64_t blk_reserved;
 		uint64_t blk_used;
@@ -197,6 +198,20 @@
 		if (ignorelist_match (il_fstype, mnt_ptr->type))
 			continue;
 
+		/* ignore duplicates */
+		for (mnt_dup_ptr = mnt_ptr; mnt_dup_ptr != NULL; mnt_dup_ptr = mnt_dup_ptr->next)
+		{
+			if (by_device) {
+				if (strcmp (mnt_ptr->spec_device, mnt_dup_ptr->spec_device) == 0)
+					continue;
+			}
+			else
+			{
+				if (strcmp (mnt_ptr->dir, mnt_dup_ptr->dir) == 0)
+					continue;
+			}
+		}
+
 		if (STATANYFS (mnt_ptr->dir, &statbuf) < 0)
 		{
 			char errbuf[1024];