aboutsummaryrefslogtreecommitdiff
path: root/straper/db/public/zfs/etc-zfs/zed.d/statechange-notify.sh
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukasz.kasprzak@pm.me>2026-04-14 22:32:43 +0200
committerLukasz Kasprzak <lukasz.kasprzak@pm.me>2026-04-14 22:32:43 +0200
commit83f7fe4b8402bab171d110703a1b1115efbc9b28 (patch)
tree19110702c7d740f6bd8ee4f5d2ebcb97442be237 /straper/db/public/zfs/etc-zfs/zed.d/statechange-notify.sh
parent51d43498b07dc97d795947964534f0903cd05db5 (diff)
downloadbin-83f7fe4b8402bab171d110703a1b1115efbc9b28.tar.gz
bin-83f7fe4b8402bab171d110703a1b1115efbc9b28.zip
cleaned up many scrits and deleted some that were of no use; renamed a lot
Diffstat (limited to 'straper/db/public/zfs/etc-zfs/zed.d/statechange-notify.sh')
-rwxr-xr-xstraper/db/public/zfs/etc-zfs/zed.d/statechange-notify.sh77
1 files changed, 0 insertions, 77 deletions
diff --git a/straper/db/public/zfs/etc-zfs/zed.d/statechange-notify.sh b/straper/db/public/zfs/etc-zfs/zed.d/statechange-notify.sh
deleted file mode 100755
index c8c8323..0000000
--- a/straper/db/public/zfs/etc-zfs/zed.d/statechange-notify.sh
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/bin/sh
-# SPDX-License-Identifier: CDDL-1.0
-# shellcheck disable=SC2154
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License Version 1.0 (CDDL-1.0).
-# You can obtain a copy of the license from the top-level file
-# "OPENSOLARIS.LICENSE" or at <http://opensource.org/licenses/CDDL-1.0>.
-# You may not use this file except in compliance with the license.
-#
-# CDDL HEADER END
-#
-
-#
-# Send notification in response to a fault induced statechange
-#
-# ZEVENT_SUBCLASS: 'statechange'
-# ZEVENT_VDEV_STATE_STR: 'DEGRADED', 'FAULTED', 'REMOVED', or 'UNAVAIL'
-#
-# Exit codes:
-# 0: notification sent
-# 1: notification failed
-# 2: notification not configured
-# 3: statechange not relevant
-# 4: statechange string missing (unexpected)
-
-[ -f "${ZED_ZEDLET_DIR}/zed.rc" ] && . "${ZED_ZEDLET_DIR}/zed.rc"
-. "${ZED_ZEDLET_DIR}/zed-functions.sh"
-
-[ -n "${ZEVENT_VDEV_STATE_STR}" ] || exit 4
-
-if [ "${ZEVENT_VDEV_STATE_STR}" != "FAULTED" ] \
- && [ "${ZEVENT_VDEV_STATE_STR}" != "DEGRADED" ] \
- && [ "${ZEVENT_VDEV_STATE_STR}" != "REMOVED" ] \
- && [ "${ZEVENT_VDEV_STATE_STR}" != "UNAVAIL" ]; then
- exit 3
-fi
-
-umask 077
-note_subject="ZFS device fault for pool ${ZEVENT_POOL} on $(hostname)"
-note_pathname="$(mktemp)"
-{
- if [ "${ZEVENT_VDEV_STATE_STR}" = "FAULTED" ] ; then
- echo "The number of I/O errors associated with a ZFS device exceeded"
- echo "acceptable levels. ZFS has marked the device as faulted."
- elif [ "${ZEVENT_VDEV_STATE_STR}" = "DEGRADED" ] ; then
- echo "The number of checksum errors associated with a ZFS device"
- echo "exceeded acceptable levels. ZFS has marked the device as"
- echo "degraded."
- else
- echo "ZFS has detected that a device was removed."
- fi
-
- echo
- echo " impact: Fault tolerance of the pool may be compromised."
- echo " eid: ${ZEVENT_EID}"
- echo " class: ${ZEVENT_SUBCLASS}"
- echo " state: ${ZEVENT_VDEV_STATE_STR}"
- echo " host: $(hostname)"
- echo " time: ${ZEVENT_TIME_STRING}"
-
- [ -n "${ZEVENT_VDEV_TYPE}" ] && echo " vtype: ${ZEVENT_VDEV_TYPE}"
- [ -n "${ZEVENT_VDEV_PATH}" ] && echo " vpath: ${ZEVENT_VDEV_PATH}"
- [ -n "${ZEVENT_VDEV_PHYSPATH}" ] && echo " vphys: ${ZEVENT_VDEV_PHYSPATH}"
- [ -n "${ZEVENT_VDEV_GUID}" ] && echo " vguid: ${ZEVENT_VDEV_GUID}"
- [ -n "${ZEVENT_VDEV_DEVID}" ] && echo " devid: ${ZEVENT_VDEV_DEVID}"
-
- echo " pool: ${ZEVENT_POOL} (${ZEVENT_POOL_GUID})"
-
-} > "${note_pathname}"
-
-zed_notify "${note_subject}" "${note_pathname}"; rv=$?
-
-rm -f "${note_pathname}"
-exit "${rv}"