check_lvmthin
changeset 1 3229a6d2b9c8
parent 0 0c11e5586312
child 2 64f1020435e0
--- a/check_lvmthin	Fri Jun 10 14:32:23 2016 +0200
+++ b/check_lvmthin	Fri Jun 10 23:01:17 2016 +0200
@@ -1,7 +1,6 @@
 #!/bin/sh -e
 
 ME=$(basename $0)
-echo $ME
 NAME='LVMTHIN'
 E=3
 INFO=
@@ -33,7 +32,13 @@
 parse_lvs() {
     results=$1
     label=$2
+    local id=
+    if [ ! -s "$results" ]; then
+        id=$(id -u)
+        die "No volumes found (effective user ID: $id)"
+    fi
     while read vg lv u; do
+        [ -n "$vg" -a -n "$lv" -a -n "$u" ] || die "Can't parse results"
         addinfo=
         if [ "$u" '>' "$C" ]; then
             E=2
@@ -77,7 +82,7 @@
 shift $((OPTIND-1))
 
 lvs --noheadings -S 'segtype=thin||segtype=thin-pool' -o vg_name,lv_name,data_percent $T $P >$lvsresults; parse_lvs $lvsresults
-lvs --noheadings -S 'segtype=thin-pool' -o vg_name,lv_name,metadata_percent $P >$lvsresults; parse_lvs $lvsresults '(meta)'
+[ -n "$T" -a -z "$P" ] || lvs --noheadings -S 'segtype=thin-pool' -o vg_name,lv_name,metadata_percent $P >$lvsresults; parse_lvs $lvsresults '(meta)'
 
 [ $E = '3' ] && E=0
 exit $E