X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=scripts%2Fzfs.sh;fp=scripts%2Fzfs.sh;h=523fbfcc0e02a5ea22a1000fefc223e6cd470929;hb=c9c0d073da561bcbefbdf09c87fc75b227415619;hp=0000000000000000000000000000000000000000;hpb=40b84e7aec6392187722e61e5a4a853b530bf60f;p=zfs.git diff --git a/scripts/zfs.sh b/scripts/zfs.sh new file mode 100755 index 0000000..523fbfc --- /dev/null +++ b/scripts/zfs.sh @@ -0,0 +1,74 @@ +#!/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