Testing proved that my previous patch was broken.  It broke the
parsing of the output from df as space was mapped to _ where it should
not be.

This patch solve the problem, by moving the mapping of illegal
characters to after the df output is parsed.

--- munin-1.2.5.orig/node/node.d.linux/df_inode.in
+++ munin-1.2.5/node/node.d.linux/df_inode.in
@@ -56,8 +56,8 @@
 print_values() {
        df -P -l -i -x none -x unknown | sed 1d | grep -v "//" | awk '$5 ~ 
/[0-9]%/ {print}' | while read i; do
                if [ "`fs $i`" = "reiserfs" ] ; then continue ; fi
-               name=`echo $i | sed 's/[\/.-]/_/g'| awk '{ print $1 ".value " 
}'`
-               echo -n "$name "
+               name=`echo $i | awk '{ print $1 }' | sed 's/[^A-Za-z0-9_]/_/g'`
+               echo -n "$name.value "
                echo $i | awk '{ print $5 }' | cut -f1 -d%
        done
 }
--- munin-1.2.5.orig/node/node.d.linux/df.in
+++ munin-1.2.5/node/node.d.linux/df.in
@@ -57,14 +57,14 @@
 fi
 
 clean_name() {
-    echo $1 $7 $2 | sed 's/[\/.-]/_/g'| awk "{ 
+    echo $1 $7 $2 | awk "{ 
        if (\$3 == \"tmpfs\")
                n=\$1\$2
        else
                n=\$1
        print n
-       }"
+       }" | sed 's/[^A-Za-z0-9_]/_/g'
 }
 
 
--- munin-1.2.5.orig/node/node.d.linux/df_abs.in
+++ munin-1.2.5/node/node.d.linux/df_abs.in
@@ -32,12 +32,12 @@
 fi
 
 clean_name() {
-    echo $1 | sed 's/[\/.-]/_/g; s/^_dev\(_mapper\)\?_//'| awk "{ 
+    echo $1 | awk "{ 
        if (length(\$1) > $MAXNAME)
                print substr(\$1, length(\$1)-$MAXNAME+1)
        else
                print \$1
-       }"
+       }" | sed 's/[^A-Za-z0-9_]/_/g; s/^_dev\(_mapper\)\?_//'
 }
 
 if [ "$1" = "config" ]; then



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to