Merge commit 'refs/top-bases/linux-symbol-collisions' into linux-symbol-collisions

This commit is contained in:
Brian Behlendorf 2009-10-01 17:08:46 -07:00
commit d553271300
3 changed files with 104 additions and 2 deletions

View File

@ -6,15 +6,23 @@ nobase_pkglibexec_SCRIPTS += zpool-config/*
EXTRA_DIST = zfs-update.sh $(nobase_pkglibexec_SCRIPTS) EXTRA_DIST = zfs-update.sh $(nobase_pkglibexec_SCRIPTS)
ZFS=${top_srcdir}/scripts/zfs.sh ZFS=${top_srcdir}/scripts/zfs.sh
ZCONFIG=${top_srcdir}/scripts/zconfig.sh
ZTEST=${top_builddir}/cmd/ztest/ztest ZTEST=${top_builddir}/cmd/ztest/ztest
check: check:
@$(ZFS) -v
@echo @echo
@echo -n "====================================" @echo -n "===================================="
@echo -n " ZTEST " @echo -n " ZTEST "
@echo "====================================" @echo "===================================="
@echo @echo
@$(ZFS)
@$(ZTEST) -V @$(ZTEST) -V
@$(ZFS) -u
@echo
@echo
@echo -n "===================================="
@echo -n " ZCONFIG "
@echo "===================================="
@echo
@$(ZCONFIG)
@echo @echo
@$(ZFS) -vu

View File

@ -48,6 +48,15 @@ msg() {
fi fi
} }
pass() {
echo "PASS"
}
fail() {
echo "FAIL ($1)"
exit $1
}
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' '`
@ -104,6 +113,7 @@ load_module() {
} }
load_modules() { load_modules() {
mkdir -p /etc/zfs
for MOD in ${MODULES[*]}; do for MOD in ${MODULES[*]}; do
local NAME=`basename ${MOD} .ko` local NAME=`basename ${MOD} .ko`

84
scripts/zconfig.sh Executable file
View File

@ -0,0 +1,84 @@
#!/bin/bash
#
# ZFS/ZPOOL configuration test script.
SCRIPT_COMMON=common.sh
if [ -f ./${SCRIPT_COMMON} ]; then
. ./${SCRIPT_COMMON}
elif [ -f /usr/libexec/zfs/${SCRIPT_COMMON} ]; then
. /usr/libexec/zfs/${SCRIPT_COMMON}
else
echo "Missing helper script ${SCRIPT_COMMON}" && exit 1
fi
PROG=zconfig.sh
usage() {
cat << EOF
USAGE:
$0 [hv]
DESCRIPTION:
ZFS/ZPOOL configuration tests
OPTIONS:
-h Show this message
-v Verbose
EOF
}
while getopts 'hv' OPTION; do
case $OPTION in
h)
usage
exit 1
;;
v)
VERBOSE=1
;;
?)
usage
exit
;;
esac
done
if [ $(id -u) != 0 ]; then
die "Must run as root"
fi
# Validate persistent zpool.cache configuration.
zconfig_test1() {
POOL_NAME=test1
TMP_FILE1=`mktemp`
TMP_FILE2=`mktemp`
echo -n "test 1 - persistent zpool.cache: "
# Create a pool save its status for comparison.
${ZFS_SH} || fail 1
${ZPOOL_CREATE_SH} -p ${POOL_NAME} -c lo-raidz2 || fail 2
${ZPOOL} status ${POOL_NAME} >${TMP_FILE1} || fail 3
# Unload/load the module stack to clear any configuration state
# then verify that the pool can be imported and is online.
${ZFS_SH} -u || fail 4
${ZFS_SH} || fail 5
${ZPOOL} import ${POOL_NAME} || fail 6
${ZPOOL} status ${POOL_NAME} >${TMP_FILE2} || fail 7
# Compare the original and imported pool status they should match
cmp ${TMP_FILE1} ${TMP_FILE2} || fail 8
# Cleanup the test pool and temporary file
${ZPOOL_CREATE_SH} -p ${POOL_NAME} -c lo-raidz2 -d || fail 9
rm -f ${TMP_FILE1} ${TMP_FILE2} || fail 10
${ZFS_SH} -u || fail 11
pass
}
zconfig_test1
exit 0