From f63a7add6b8c46f3cde32c13645626723ae9180f Mon Sep 17 00:00:00 2001 From: Theodore Ts'o Date: Thu, 11 Jul 2019 19:41:56 -0400 Subject: [PATCH] e2scrub_all: only run in service mode when periodic_e2scrub=1 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 --- scrub/e2scrub.conf.in | 4 ++++ scrub/e2scrub_all.in | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/scrub/e2scrub.conf.in b/scrub/e2scrub.conf.in index 5c03087..661fc13 100644 --- a/scrub/e2scrub.conf.in +++ b/scrub/e2scrub.conf.in @@ -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 diff --git a/scrub/e2scrub_all.in b/scrub/e2scrub_all.in index f342faf..5bdbd11 100644 --- a/scrub/e2scrub_all.in +++ b/scrub/e2scrub_all.in @@ -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. -- 1.8.3.1