#!/bin/sh # This script should be run prior to running executing the filesystem tests. # valid devices need to be passed for Device Mapper to work correctly # 03/14/03 mridge@us.ibm.com added instance and time command line options cd `dirname $0` export LTPROOT=${PWD} echo $LTPROOT | grep testscripts > /dev/null 2>&1 if [ $? -eq 0 ]; then cd .. export LTPROOT=${PWD} fi export TMPBASE="/tmp" usage() { cat <<-END >&2 usage: ${0##*/} [ -a part1 ] [ -b part2 ] Note: In order to run this test, you must turn on "device mapper" component in kernel (it is under device drivers item when you run make menuconfig); and you must install userspace supporting files (libdevmapper and dmsetup). They are in the device-mapper package. You can download it from http://www.sistina.com. Follow the README/INSTALL file within the package to install it. defaults: part1=$part1 part2=$part2 ltproot=$LTPROOT tmpdir=$TMPBASE example: ${0##*/} -a hdc1 -b hdc2 END exit } while getopts :a:b: arg do case $arg in a) part1=$OPTARG;; b) part2=$OPTARG;; \?) echo "************** Help Info: ********************" usage;; esac done if [ ! -n "$part1" ]; then echo "Missing 1st partition. You must pass 2 partitions for testing" usage; exit fi if [ ! -n "$part2" ]; then echo "Missing 2nd partition. You must pass 2 partitions for testing" usage; exit fi echo "Starting Device Mapper Tests..." echo "0 10240 linear " $part1 "0" > ltp-dev-mapper-table1 echo "0 100000 linear " $part1 "0" > ltp-dev-mapper-table2 echo "0 100000 linear " $part2 "0" > ltp-dev-mapper-table3 echo "0 200000 striped 2 16 " $part1 "0" $part2 "0" > ltp-dev-mapper-table4 echo "Creating Devices..." dmsetup create dm-test-1 ltp-dev-mapper-table1 dmsetup create dm-test-2 ltp-dev-mapper-table2 dmsetup create dm-test-3 ltp-dev-mapper-table3 dmsetup create dm-test-4 ltp-dev-mapper-table4 echo "Device Info..." dmsetup info dm-test-1 dmsetup info dm-test-2 dmsetup info dm-test-3 dmsetup info dm-test-4 echo "Device Dependancies..." dmsetup deps dm-test-1 dmsetup deps dm-test-2 dmsetup deps dm-test-3 dmsetup deps dm-test-4 echo "Device Status..." dmsetup status dm-test-1 dmsetup status dm-test-2 dmsetup status dm-test-3 dmsetup status dm-test-4 echo "Device Tables..." dmsetup table dm-test-1 dmsetup table dm-test-2 dmsetup table dm-test-3 dmsetup table dm-test-4 echo "Device Mapper Version..." dmsetup version echo "Device Waiting..." #dmsetup wait dm-test-1 #dmsetup wait dm-test-2 #dmsetup wait dm-test-3 #dmsetup wait dm-test-4 echo "Device Mapper Removing Devices..." dmsetup remove dm-test-1 dmsetup remove dm-test-2 dmsetup remove dm-test-3 dmsetup remove dm-test-4 echo "Device Mapper Re-Creating Devices..." dmsetup create dm-test-1 ltp-dev-mapper-table1 dmsetup create dm-test-2 ltp-dev-mapper-table2 dmsetup create dm-test-3 ltp-dev-mapper-table3 dmsetup create dm-test-4 ltp-dev-mapper-table4 echo "Re-Naming Devices..." dmsetup rename dm-test-1 dm-test-1-new dmsetup rename dm-test-2 dm-test-2-new dmsetup rename dm-test-3 dm-test-3-new dmsetup rename dm-test-4 dm-test-4-new echo "Suspend Devices..." dmsetup suspend dm-test-1-new dmsetup suspend dm-test-2-new dmsetup suspend dm-test-3-new dmsetup suspend dm-test-4-new echo "0 102400 linear " $part1 "0" > ltp-dev-mapper-table1 echo "0 200000 linear " $part1 "0" > ltp-dev-mapper-table2 echo "0 200000 linear " $part2 "0" > ltp-dev-mapper-table3 echo "0 400000 striped 2 16 " $part1 "0" $part2 "0" > ltp-dev-mapper-table4 echo "Re-loading Devices..." dmsetup reload dm-test-1-new ltp-dev-mapper-table1 dmsetup reload dm-test-2-new ltp-dev-mapper-table2 dmsetup reload dm-test-3-new ltp-dev-mapper-table3 dmsetup reload dm-test-4-new ltp-dev-mapper-table4 echo "Resuming Devices..." dmsetup resume dm-test-1-new dmsetup resume dm-test-2-new dmsetup resume dm-test-3-new dmsetup resume dm-test-4-new echo "Device Info..." dmsetup info dm-test-1-new dmsetup info dm-test-2-new dmsetup info dm-test-3-new dmsetup info dm-test-4-new echo "Device Dependancies..." dmsetup deps dm-test-1-new dmsetup deps dm-test-2-new dmsetup deps dm-test-3-new dmsetup deps dm-test-4-new echo "Device Status..." dmsetup status dm-test-1-new dmsetup status dm-test-2-new dmsetup status dm-test-3-new dmsetup status dm-test-4-new echo "Device Tables..." dmsetup table dm-test-1-new dmsetup table dm-test-2-new dmsetup table dm-test-3-new dmsetup table dm-test-4-new echo "Device Mapper Remove-all..." dmsetup remove_all echo "Device Mapper Checking Status - Shouldn't be anything to check" dmsetup status dm-test-1-new dmsetup status dm-test-2-new dmsetup status dm-test-3-new dmsetup status dm-test-4-new