Whamcloud - gitweb
e2scrub_all: only run in service mode when periodic_e2scrub=1
authorTheodore Ts'o <tytso@mit.edu>
Thu, 11 Jul 2019 23:41:56 +0000 (19:41 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 11 Jul 2019 23:41:56 +0000 (19:41 -0400)
By default, e2scrub_all will not actually trigger online scrubs unless
periodic_e2scrub=1 is set in /etc/e2scrub.conf.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
scrub/e2scrub.conf.in
scrub/e2scrub_all.in

index 5c03087..661fc13 100644 (file)
@@ -1,5 +1,9 @@
 # e2scrub configuration file
 
+# Uncomment to enable automatic periodic runs of e2scrub_all
+# (either via cron or via a systemd timer)
+# periodic_e2scrub=1
+
 # e-mail destination used by e2scrub_fail when problems are found with
 # the file system.
 # recipient=root
index f342faf..5bdbd11 100644 (file)
@@ -25,6 +25,7 @@ if (( $EUID != 0 )); then
     exit 1
 fi
 
+periodic_e2scrub=0
 scrub_all=0
 snap_size_mb=256
 reap=0
@@ -79,6 +80,11 @@ while getopts "nrAV" opt; do
 done
 shift "$((OPTIND - 1))"
 
+if [ -n "${SERVICE_MODE}" -a "${reap}" -ne 1 -a "${periodic_e2scrub}" -ne 1 ]
+then
+    exitcode 0
+fi
+
 # If some prerequisite packages are not installed, exit with a code
 # indicating success to avoid spamming the sysadmin with fail messages
 # when e2scrub_all is run out of cron or a systemd timer.