diff options
Diffstat (limited to 'scripts/zpios-sanity.sh')
-rwxr-xr-x | scripts/zpios-sanity.sh | 171 |
1 files changed, 0 insertions, 171 deletions
diff --git a/scripts/zpios-sanity.sh b/scripts/zpios-sanity.sh deleted file mode 100755 index 0f441157d..000000000 --- a/scripts/zpios-sanity.sh +++ /dev/null @@ -1,171 +0,0 @@ -#!/bin/bash -# -# ZFS/ZPOOL configuration test script. - -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=zpios-sanity.sh -HEADER= -FAILS=0 - -usage() { -cat << EOF -USAGE: -$0 [hvxfc] - -DESCRIPTION: - ZPIOS sanity tests - -OPTIONS: - -h Show this message - -v Verbose - -x Destructive hd/sd/md/dm/ram tests - -f Don't prompt due to -x - -c Cleanup lo+file devices at start - -EOF -} - -while getopts 'hvxfc?' OPTION; do - case $OPTION in - h) - usage - exit 1 - ;; - v) - VERBOSE=1 - ;; - x) - DANGEROUS=1 - ;; - f) - FORCE=1 - ;; - c) - CLEANUP=1 - ;; - ?) - usage - exit - ;; - esac -done - -if [ $(id -u) != 0 ]; then - die "Must run as root" -fi - -# Initialize the test suite -init - -# Perform pre-cleanup is requested -if [ ${CLEANUP} ]; then - ${ZFS_SH} -u - cleanup_md_devices - cleanup_loop_devices - rm -f /tmp/zpool.cache.* -fi - -zpios_test() { - CONFIG=$1 - TEST=$2 - LOG=`mktemp` - - ${ZPIOS_SH} -f -c ${CONFIG} -t ${TEST} &>${LOG} - if [ $? -ne 0 ]; then - FAILS=1 - - if [ ${VERBOSE} ]; then - printf "FAIL: %-13s\n" ${CONFIG} - cat ${LOG} - else - if [ ! ${HEADER} ]; then - head -2 ${LOG} - HEADER=1 - fi - - printf "FAIL: %-13s" ${CONFIG} - tail -1 ${LOG} - fi - else - if [ ${VERBOSE} ]; then - cat ${LOG} - else - if [ ! ${HEADER} ]; then - head -2 ${LOG} - HEADER=1 - fi - - tail -1 ${LOG} - fi - fi - - rm -f ${LOG} -} - -if [ ${DANGEROUS} ] && [ ! ${FORCE} ]; then - cat << EOF -The -x option was passed which will result in UNRECOVERABLE DATA LOSS -on on the following block devices: - - /dev/sd[abcd] - /dev/hda - /dev/ram0 - /dev/md0 - /dev/dm-0 - -To continue please confirm by entering YES: -EOF - read CONFIRM - if [ ${CONFIRM} != "YES" ] && [ ${CONFIRM} != "yes" ]; then - exit 0; - fi -fi - -# -# These configurations are all safe and pose no risk to any data on -# the system which runs them. They will confine all their IO to a -# file in /tmp or a loopback device configured to use a file in /tmp. -# -SAFE_CONFIGS=( \ - file-raid0 file-raid10 file-raidz file-raidz2 \ - lo-raid0 lo-raid10 lo-raidz lo-raidz2 \ -) - -# -# These configurations are down right dangerous. They will attempt -# to use various real block devices on your system which may contain -# data you car about. You are STRONGLY advised not to run this unless -# you are certain there is no data on the system you care about. -# -DANGEROUS_CONFIGS=( \ - hda-raid0 \ - sda-raid0 \ - ram0-raid0 \ - md0-raid10 md0-raid5 \ - dm0-raid0 \ -) - -TMP_CACHE=`mktemp -p /tmp zpool.cache.XXXXXXXX` -${ZFS_SH} zfs="spa_config_path=${TMP_CACHE}" || die "Unable to load modules" - -for CONFIG in ${SAFE_CONFIGS[*]}; do - zpios_test $CONFIG tiny -done - -if [ ${DANGEROUS} ]; then - for CONFIG in ${DANGEROUS_CONFIGS[*]}; do - zpios_test $CONFIG tiny - done -fi - -${ZFS_SH} -u - -exit $FAILS |