Disable 90-zfs.rules for test suite
When running the zconfig.sh, zpios-sanity.sh, and zfault.sh from the installed packages the 90-zfs.rules can cause failures. These will occur because the test suite assumes it has full control over loading/unloading the module stack. If the stack gets asynchronously loaded by the udev rule the test suite will treat it as a failure. Resolve the issue by disabling the offending rule during the tests and enabling it on exit. Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
This commit is contained in:
parent
86f35f34f4
commit
5cbf6db937
|
@ -36,6 +36,9 @@ libexecdir=@libexecdir@
|
||||||
pkglibexecdir=${libexecdir}/@PACKAGE@
|
pkglibexecdir=${libexecdir}/@PACKAGE@
|
||||||
bindir=@bindir@
|
bindir=@bindir@
|
||||||
sbindir=@sbindir@
|
sbindir=@sbindir@
|
||||||
|
udevdir=@udevdir@
|
||||||
|
udevruledir=@udevruledir@
|
||||||
|
sysconfdir=@sysconfdir@
|
||||||
|
|
||||||
ETCDIR=${ETCDIR:-/etc}
|
ETCDIR=${ETCDIR:-/etc}
|
||||||
DEVDIR=${DEVDIR:-/dev/disk/zpool}
|
DEVDIR=${DEVDIR:-/dev/disk/zpool}
|
||||||
|
@ -113,6 +116,19 @@ skip() {
|
||||||
echo -e "${COLOR_BROWN}Skip${COLOR_RESET}"
|
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() {
|
spl_dump_log() {
|
||||||
${SYSCTL} -w kernel.spl.debug.dump=1 &>/dev/null
|
${SYSCTL} -w kernel.spl.debug.dump=1 &>/dev/null
|
||||||
local NAME=`dmesg | tail -n 1 | cut -f5 -d' '`
|
local NAME=`dmesg | tail -n 1 | cut -f5 -d' '`
|
||||||
|
|
|
@ -60,6 +60,9 @@ if [ $(id -u) != 0 ]; then
|
||||||
die "Must run as root"
|
die "Must run as root"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Initialize the test suite
|
||||||
|
init
|
||||||
|
|
||||||
# Perform pre-cleanup is requested
|
# Perform pre-cleanup is requested
|
||||||
if [ ${CLEANUP} ]; then
|
if [ ${CLEANUP} ]; then
|
||||||
${ZFS_SH} -u
|
${ZFS_SH} -u
|
||||||
|
|
|
@ -86,6 +86,9 @@ if [ $(id -u) != 0 ]; then
|
||||||
die "Must run as root"
|
die "Must run as root"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Initialize the test suite
|
||||||
|
init
|
||||||
|
|
||||||
# Perform pre-cleanup is requested
|
# Perform pre-cleanup is requested
|
||||||
if [ ${CLEANUP} ]; then
|
if [ ${CLEANUP} ]; then
|
||||||
${ZFS_SH} -u
|
${ZFS_SH} -u
|
||||||
|
|
|
@ -62,6 +62,9 @@ if [ $(id -u) != 0 ]; then
|
||||||
die "Must run as root"
|
die "Must run as root"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Initialize the test suite
|
||||||
|
init
|
||||||
|
|
||||||
# Perform pre-cleanup is requested
|
# Perform pre-cleanup is requested
|
||||||
if [ ${CLEANUP} ]; then
|
if [ ${CLEANUP} ]; then
|
||||||
${ZFS_SH} -u
|
${ZFS_SH} -u
|
||||||
|
|
Loading…
Reference in New Issue