aboutsummaryrefslogtreecommitdiff
path: root/straper/db/public/zfs/etc-zfs/zed.d/resilver_finish-start-scrub.sh
diff options
context:
space:
mode:
Diffstat (limited to 'straper/db/public/zfs/etc-zfs/zed.d/resilver_finish-start-scrub.sh')
-rwxr-xr-xstraper/db/public/zfs/etc-zfs/zed.d/resilver_finish-start-scrub.sh20
1 files changed, 20 insertions, 0 deletions
diff --git a/straper/db/public/zfs/etc-zfs/zed.d/resilver_finish-start-scrub.sh b/straper/db/public/zfs/etc-zfs/zed.d/resilver_finish-start-scrub.sh
new file mode 100755
index 0000000..cafce6f
--- /dev/null
+++ b/straper/db/public/zfs/etc-zfs/zed.d/resilver_finish-start-scrub.sh
@@ -0,0 +1,20 @@
+#!/bin/sh
+# shellcheck disable=SC2154
+# resilver_finish-start-scrub.sh
+# Run a scrub after a resilver
+#
+# Exit codes:
+# 1: Internal error
+# 2: Script wasn't enabled in zed.rc
+# 3: Scrubs are automatically started for sequential resilvers
+[ -f "${ZED_ZEDLET_DIR}/zed.rc" ] && . "${ZED_ZEDLET_DIR}/zed.rc"
+. "${ZED_ZEDLET_DIR}/zed-functions.sh"
+
+[ "${ZED_SCRUB_AFTER_RESILVER}" = "1" ] || exit 2
+[ "${ZEVENT_RESILVER_TYPE}" != "sequential" ] || exit 3
+[ -n "${ZEVENT_POOL}" ] || exit 1
+[ -n "${ZEVENT_SUBCLASS}" ] || exit 1
+zed_check_cmd "${ZPOOL}" || exit 1
+
+zed_log_msg "Starting scrub after resilver on ${ZEVENT_POOL}"
+"${ZPOOL}" scrub "${ZEVENT_POOL}"