Whamcloud - gitweb
LU-12836 osd-zfs: Catch all ZFS pool change events 52/43552/3
authorTony Hutter <hutter2@llnl.gov>
Fri, 12 Mar 2021 01:23:16 +0000 (17:23 -0800)
committerOleg Drokin <green@whamcloud.com>
Wed, 2 Jun 2021 17:48:53 +0000 (17:48 +0000)
This change adds the following symlinks:

  vdev_attach-lustre -> statechange-lustre.sh
  vdev_remove-lustre -> statechange-lustre.sh
  vdev_clear-lustre -> statechange-lustre.sh

This makes it so the statechange-lustre.sh script is also called on
all ZFS events that could change the pool state.

Signed-off-by: Tony Hutter <hutter2@llnl.gov>
Change-Id: I18edc86749e8ab91bb45f21aafd3fd47e78cbaef
Reviewed-on: https://review.whamcloud.com/43552
Reviewed-by: Olaf Faaland-LLNL <faaland1@llnl.gov>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Nathaniel Clark <nclark@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/scripts/Makefile.am
lustre/scripts/statechange-lustre.sh
lustre/scripts/vdev_attach-lustre.sh [new symlink]
lustre/scripts/vdev_clear-lustre.sh [new symlink]
lustre/scripts/vdev_remove-lustre.sh [new symlink]

index 6db837c..bdadab4 100644 (file)
@@ -67,7 +67,8 @@ ha_SCRIPTS = Lustre.ha_v2
 
 if ZFS_ENABLED
 zedletdir = $(sysconfdir)/zfs/zed.d/
-zedlet_SCRIPTS = statechange-lustre.sh
+zedlet_SCRIPTS = statechange-lustre.sh vdev_attach-lustre.sh \
+                vdev_remove-lustre.sh vdev_clear-lustre.sh
 endif
 
 scriptlibdir = @libexecdir@/@PACKAGE@
@@ -92,6 +93,7 @@ EXTRA_DIST = license-status lustre_rmmod ldev lc_mon lhbadm \
             $(addsuffix .in,$(genscripts)) lfs_migrate lustre_req_history \
             lustre lsvcgss lc_common haconfig Lustre.ha_v2 dkms.mkconf \
             zfsobj2fid ko2iblnd-probe statechange-lustre.sh \
+            vdev_attach-lustre.sh vdev_remove-lustre.sh vdev_clear-lustre.sh \
             bash-completion/lustre bash-completion/lctl bash-completion/lfs
 
 CLEANFILES = $(genscripts)
index 5c72ce4..43b3389 100755 (executable)
 #   2: zpool missing
 #   3: zfs missing
 #   4: Pool status neither "ONLINE" nor "DEGRADED
+#
+# This script is also symlinked as vdev_attach-lustre.sh, vdev_remove-lustre.sh
+# and vdev_clear-lustre.sh, since it needs to take the same action on those
+# ZFS events as well.
 
 [ -f "${ZED_ZEDLET_DIR}/zed.rc" ] && . "${ZED_ZEDLET_DIR}/zed.rc"
 . "${ZED_ZEDLET_DIR}/zed-functions.sh"
diff --git a/lustre/scripts/vdev_attach-lustre.sh b/lustre/scripts/vdev_attach-lustre.sh
new file mode 120000 (symlink)
index 0000000..5b1b0ed
--- /dev/null
@@ -0,0 +1 @@
+statechange-lustre.sh
\ No newline at end of file
diff --git a/lustre/scripts/vdev_clear-lustre.sh b/lustre/scripts/vdev_clear-lustre.sh
new file mode 120000 (symlink)
index 0000000..5b1b0ed
--- /dev/null
@@ -0,0 +1 @@
+statechange-lustre.sh
\ No newline at end of file
diff --git a/lustre/scripts/vdev_remove-lustre.sh b/lustre/scripts/vdev_remove-lustre.sh
new file mode 120000 (symlink)
index 0000000..5b1b0ed
--- /dev/null
@@ -0,0 +1 @@
+statechange-lustre.sh
\ No newline at end of file