projects
/
collectd.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
232a907
)
df plugin: skip duplicate entries, fixes "uc_update: Value too old" error
author
Stefan Brüns
<stefan.bruens@rwth-aachen.de>
Mon, 1 Aug 2011 11:50:52 +0000
(11:50 +0000)
committer
Florian Forster
<octo@collectd.org>
Fri, 4 Dec 2015 16:10:55 +0000
(17:10 +0100)
Issue: #1402
src/df.c
patch
|
blob
|
history
diff --git
a/src/df.c
b/src/df.c
index
3b0c995
..
3f9eabd
100644
(file)
--- a/
src/df.c
+++ b/
src/df.c
@@
-204,6
+204,7
@@
static int df_read (void)
{
unsigned long long blocksize;
char disk_name[256];
{
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;
uint64_t blk_free;
uint64_t blk_reserved;
uint64_t blk_used;
@@
-219,6
+220,20
@@
static int df_read (void)
if (ignorelist_match (il_fstype, mnt_ptr->type))
continue;
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];
if (STATANYFS (mnt_ptr->dir, &statbuf) < 0)
{
char errbuf[1024];