1#!/bin/sh 2# This script should be run prior to running executing the filesystem tests. 3# valid devices need to be passed for Device Mapper to work correctly 4# 03/14/03 mridge@us.ibm.com added instance and time command line options 5 6cd `dirname $0` 7export LTPROOT=${PWD} 8echo $LTPROOT | grep testscripts > /dev/null 2>&1 9if [ $? -eq 0 ]; then 10 cd .. 11 export LTPROOT=${PWD} 12fi 13 14export TMPBASE="/tmp" 15 16 17usage() 18{ 19 cat <<-END >&2 20 usage: ${0##*/} [ -a part1 ] [ -b part2 ] 21 22 Note: In order to run this test, you must turn on "device mapper" 23 component in kernel (it is under device drivers item when you 24 run make menuconfig); and you must install userspace supporting 25 files (libdevmapper and dmsetup). They are in the device-mapper 26 package. You can download it from http://www.sistina.com. Follow 27 the README/INSTALL file within the package to install it. 28 29 30 defaults: 31 part1=$part1 32 part2=$part2 33 ltproot=$LTPROOT 34 tmpdir=$TMPBASE 35 36 example: ${0##*/} -a hdc1 -b hdc2 37 38 39 END 40exit 41} 42 43while getopts :a:b: arg 44do case $arg in 45 a) part1=$OPTARG;; 46 b) part2=$OPTARG;; 47 48 \?) echo "************** Help Info: ********************" 49 usage;; 50 esac 51done 52 53if [ ! -n "$part1" ]; then 54 echo "Missing 1st partition. You must pass 2 partitions for testing" 55 usage; 56 exit 57fi 58 59if [ ! -n "$part2" ]; then 60 echo "Missing 2nd partition. You must pass 2 partitions for testing" 61 usage; 62 exit 63fi 64 65echo "Starting Device Mapper Tests..." 66 67echo "0 10240 linear " $part1 "0" > ltp-dev-mapper-table1 68echo "0 100000 linear " $part1 "0" > ltp-dev-mapper-table2 69echo "0 100000 linear " $part2 "0" > ltp-dev-mapper-table3 70echo "0 200000 striped 2 16 " $part1 "0" $part2 "0" > ltp-dev-mapper-table4 71 72echo "Creating Devices..." 73 74dmsetup create dm-test-1 ltp-dev-mapper-table1 75dmsetup create dm-test-2 ltp-dev-mapper-table2 76dmsetup create dm-test-3 ltp-dev-mapper-table3 77dmsetup create dm-test-4 ltp-dev-mapper-table4 78 79echo "Device Info..." 80 81dmsetup info dm-test-1 82dmsetup info dm-test-2 83dmsetup info dm-test-3 84dmsetup info dm-test-4 85 86echo "Device Dependancies..." 87 88dmsetup deps dm-test-1 89dmsetup deps dm-test-2 90dmsetup deps dm-test-3 91dmsetup deps dm-test-4 92 93echo "Device Status..." 94 95dmsetup status dm-test-1 96dmsetup status dm-test-2 97dmsetup status dm-test-3 98dmsetup status dm-test-4 99 100echo "Device Tables..." 101 102dmsetup table dm-test-1 103dmsetup table dm-test-2 104dmsetup table dm-test-3 105dmsetup table dm-test-4 106 107echo "Device Mapper Version..." 108 109dmsetup version 110 111echo "Device Waiting..." 112 113#dmsetup wait dm-test-1 114#dmsetup wait dm-test-2 115#dmsetup wait dm-test-3 116#dmsetup wait dm-test-4 117 118echo "Device Mapper Removing Devices..." 119 120dmsetup remove dm-test-1 121dmsetup remove dm-test-2 122dmsetup remove dm-test-3 123dmsetup remove dm-test-4 124 125echo "Device Mapper Re-Creating Devices..." 126 127dmsetup create dm-test-1 ltp-dev-mapper-table1 128dmsetup create dm-test-2 ltp-dev-mapper-table2 129dmsetup create dm-test-3 ltp-dev-mapper-table3 130dmsetup create dm-test-4 ltp-dev-mapper-table4 131 132echo "Re-Naming Devices..." 133 134dmsetup rename dm-test-1 dm-test-1-new 135dmsetup rename dm-test-2 dm-test-2-new 136dmsetup rename dm-test-3 dm-test-3-new 137dmsetup rename dm-test-4 dm-test-4-new 138 139echo "Suspend Devices..." 140 141dmsetup suspend dm-test-1-new 142dmsetup suspend dm-test-2-new 143dmsetup suspend dm-test-3-new 144dmsetup suspend dm-test-4-new 145 146echo "0 102400 linear " $part1 "0" > ltp-dev-mapper-table1 147echo "0 200000 linear " $part1 "0" > ltp-dev-mapper-table2 148echo "0 200000 linear " $part2 "0" > ltp-dev-mapper-table3 149echo "0 400000 striped 2 16 " $part1 "0" $part2 "0" > ltp-dev-mapper-table4 150 151echo "Re-loading Devices..." 152 153dmsetup reload dm-test-1-new ltp-dev-mapper-table1 154dmsetup reload dm-test-2-new ltp-dev-mapper-table2 155dmsetup reload dm-test-3-new ltp-dev-mapper-table3 156dmsetup reload dm-test-4-new ltp-dev-mapper-table4 157 158echo "Resuming Devices..." 159 160dmsetup resume dm-test-1-new 161dmsetup resume dm-test-2-new 162dmsetup resume dm-test-3-new 163dmsetup resume dm-test-4-new 164 165echo "Device Info..." 166 167dmsetup info dm-test-1-new 168dmsetup info dm-test-2-new 169dmsetup info dm-test-3-new 170dmsetup info dm-test-4-new 171 172echo "Device Dependancies..." 173 174dmsetup deps dm-test-1-new 175dmsetup deps dm-test-2-new 176dmsetup deps dm-test-3-new 177dmsetup deps dm-test-4-new 178 179echo "Device Status..." 180 181dmsetup status dm-test-1-new 182dmsetup status dm-test-2-new 183dmsetup status dm-test-3-new 184dmsetup status dm-test-4-new 185 186echo "Device Tables..." 187 188dmsetup table dm-test-1-new 189dmsetup table dm-test-2-new 190dmsetup table dm-test-3-new 191dmsetup table dm-test-4-new 192 193echo "Device Mapper Remove-all..." 194 195dmsetup remove_all 196 197echo "Device Mapper Checking Status - Shouldn't be anything to check" 198 199dmsetup status dm-test-1-new 200dmsetup status dm-test-2-new 201dmsetup status dm-test-3-new 202dmsetup status dm-test-4-new 203 204 205