zfs-functions.in: is_mounted() always returns 1
The 'while read line; ...; done' loop is run in a piped subshell therefore the 'return 0' would not cause a return from the is_mounted() function. In all cases, this function will always return 1. The fix is to 'return 1' from the subshell on a successful match (no match == return 0), and then negating the final return value. Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: TerraTech <TerraTech@users.noreply.github.com> Closes #8151
This commit is contained in:
parent
fedef6dd59
commit
a0cc3726ed
|
@ -423,9 +423,14 @@ is_mounted()
|
||||||
mount | \
|
mount | \
|
||||||
while read line; do
|
while read line; do
|
||||||
if echo "$line" | grep -q " on $mntpt "; then
|
if echo "$line" | grep -q " on $mntpt "; then
|
||||||
return 0
|
# returns:
|
||||||
|
# 0 on unsuccessful match
|
||||||
|
# 1 on a successful match
|
||||||
|
return 1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
return 1
|
# The negation will flip the subshell return result where the default
|
||||||
|
# return value is 0 when a match is not found.
|
||||||
|
return $(( !$? ))
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue