Author: netchild
Date: Wed May  4 12:37:10 2011
New Revision: 221430
URL: http://svn.freebsd.org/changeset/base/221430

Log:
  Use proper return codes (valuable output, invalid config, problems).
  
  MFC after:    1 week

Modified:
  head/etc/periodic/daily/800.scrub-zfs

Modified: head/etc/periodic/daily/800.scrub-zfs
==============================================================================
--- head/etc/periodic/daily/800.scrub-zfs       Wed May  4 11:22:52 2011        
(r221429)
+++ head/etc/periodic/daily/800.scrub-zfs       Wed May  4 12:37:10 2011        
(r221430)
@@ -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
 
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to