mirror of
https://github.com/openzfs/zfs.git
synced 2025-10-01 02:46:29 +00:00

The common.sh script assumed that it was either being run from in-tree or was installed under /usr/libexec/zfs. If this was not the case, because of say the default --prefix=/usr/local, then the paths would be wrong. To fix this common.sh is now generated from common.sh.in with the correct path information provided at configure time.
75 lines
1.0 KiB
Bash
Executable File
75 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# A simple script to simply the loading/unloading the ZFS module stack.
|
|
|
|
basedir="$(dirname $0)"
|
|
|
|
SCRIPT_COMMON=common.sh
|
|
if [ -f "${basedir}/${SCRIPT_COMMON}" ]; then
|
|
. "${basedir}/${SCRIPT_COMMON}"
|
|
else
|
|
echo "Missing helper script ${SCRIPT_COMMON}" && exit 1
|
|
fi
|
|
|
|
PROG=zfs.sh
|
|
UNLOAD=
|
|
|
|
usage() {
|
|
cat << EOF
|
|
USAGE:
|
|
$0 [hvud] [module-options]
|
|
|
|
DESCRIPTION:
|
|
Load/unload the ZFS module stack.
|
|
|
|
OPTIONS:
|
|
-h Show this message
|
|
-v Verbose
|
|
-u Unload modules
|
|
-d Save debug log on unload
|
|
|
|
MODULE-OPTIONS:
|
|
Must be of the from module="options", for example:
|
|
|
|
$0 zfs="zfs_prefetch_disable=1"
|
|
$0 zfs="zfs_prefetch_disable=1 zfs_mdcomp_disable=1"
|
|
$0 spl="spl_debug_mask=0"
|
|
|
|
EOF
|
|
}
|
|
|
|
while getopts 'hvud' OPTION; do
|
|
case $OPTION in
|
|
h)
|
|
usage
|
|
exit 1
|
|
;;
|
|
v)
|
|
VERBOSE=1
|
|
;;
|
|
u)
|
|
UNLOAD=1
|
|
;;
|
|
d)
|
|
DUMP_LOG=1
|
|
;;
|
|
?)
|
|
usage
|
|
exit
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if [ $(id -u) != 0 ]; then
|
|
die "Must run as root"
|
|
fi
|
|
|
|
if [ ${UNLOAD} ]; then
|
|
unload_modules
|
|
else
|
|
check_modules || die "${ERROR}"
|
|
load_modules "$@"
|
|
fi
|
|
|
|
exit 0
|