File collectd-df-remove-duplicates.patch of Package collectd

diff --git a/src/df.c b/src/df.c
index fc80ac3..a6cf37c 100644
--- a/src/df.c
+++ b/src/df.c
@@ -213,6 +213,7 @@ static int df_read (void)
 	{
 		unsigned long long blocksize;
 		char disk_name[256];
+		cu_mount_t *mnt_dup_ptr;
 
 		if (ignorelist_match (il_device,
 					(mnt_ptr->spec_device != NULL)
@@ -224,6 +225,20 @@ static int df_read (void)
 		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];
openSUSE Build Service is sponsored by