--- 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