summaryrefslogtreecommitdiffstats
path: root/scripts/common.sh.in
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/common.sh.in')
-rw-r--r--scripts/common.sh.in16
1 files changed, 16 insertions, 0 deletions
diff --git a/scripts/common.sh.in b/scripts/common.sh.in
index 51671ebc0..56706194c 100644
--- a/scripts/common.sh.in
+++ b/scripts/common.sh.in
@@ -36,6 +36,9 @@ libexecdir=@libexecdir@
pkglibexecdir=${libexecdir}/@PACKAGE@
bindir=@bindir@
sbindir=@sbindir@
+udevdir=@udevdir@
+udevruledir=@udevruledir@
+sysconfdir=@sysconfdir@
ETCDIR=${ETCDIR:-/etc}
DEVDIR=${DEVDIR:-/dev/disk/zpool}
@@ -113,6 +116,19 @@ skip() {
echo -e "${COLOR_BROWN}Skip${COLOR_RESET}"
}
+init() {
+ # Disable the udev rule 90-zfs.rules to prevent the zfs module
+ # stack from being loaded due to the detection of a zfs device.
+ # This is important because the test scripts require full control
+ # over when and how the modules are loaded/unloaded. A trap is
+ # set to ensure the udev rule is correctly replaced on exit.
+ local RULE=${udevruledir}/90-zfs.rules
+ if test -e ${RULE}; then
+ trap "mv ${RULE}.disabled ${RULE}; exit $?" INT TERM EXIT
+ mv ${RULE} ${RULE}.disabled
+ fi
+}
+
spl_dump_log() {
${SYSCTL} -w kernel.spl.debug.dump=1 &>/dev/null
local NAME=`dmesg | tail -n 1 | cut -f5 -d' '`