Use proper return codes (valuable output, invalid config, problems).

MFC after:	1 week
This commit is contained in:
Alexander Leidinger 2011-05-04 12:37:10 +00:00
parent 55cde634cf
commit df2f88d356
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=221430

View File

@ -26,10 +26,12 @@ case "$daily_scrub_zfs_enable" in
daily_scrub_zfs_pools="$(zpool list -H -o name)"
fi
rc=0
for pool in ${daily_scrub_zfs_pools}; do
# sanity check
_status=$(zpool list "${pool}" 2> /dev/null)
if [ $? -ne 0 ]; then
rc=2
echo " WARNING: pool '${pool}' specified in"
echo " '/etc/periodic.conf:daily_scrub_zfs_pools'"
echo " does not exist"
@ -38,13 +40,11 @@ case "$daily_scrub_zfs_enable" in
_status=${_status##*$newline}
case ${_status} in
*FAULTED*)
rc=3
echo "Skipping faulted pool: ${pool}"
continue ;;
esac
# successful only if there is at least one pool to scrub
rc=0
# determine how many days shall be between scrubs
eval _pool_threshold=\${daily_scrub_zfs_${pool}_threshold}
if [ -z "${_pool_threshold}" ];then
@ -77,10 +77,12 @@ case "$daily_scrub_zfs_enable" in
*"none requested"*)
echo " starting first scrub (since reboot) of pool '${pool}':"
zpool scrub ${pool}
[ $rc -eq 0 ] && rc=1
;;
*)
echo " starting scrub of pool '${pool}':"
zpool scrub ${pool}
[ $rc -eq 0 ] && rc=1
;;
esac