#!/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 # 05/16/03 changed script paths # 05/20/03 Added instructions on setup and warnings 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 ] [ -c part3 ] [ -d part4 ] [ -n nfsmount ] defaults: part1=$part1 part2=$part2 part3=$part3 part4=$part4 nfsmount=$nfsmount ltproot=$TPROOT tmpdir=$TMPBASE example: ${0##*/} -a hdc1 -b hdc2 -c hdc3 -d hdc4 -n mytesthost:/testmountdir fdisk needs to be run and the 4 HD partitions marked as 0x8e -- Linux LVM - If this is run on a 2.4 kernel system then LVM must be configured and the kernel rebuilt. In a 2.5 environment you must configure Device Mapper and install LVM2 from www.systina.com for the testcase to run correctly. - These operations are destructive so do NOT point the tests to partitions where the data shouldn't be overwritten. Once these tests are started all data in the partitions you point to will be destroyed. END exit } while getopts :a:b:c:d:e:n:v: arg do case $arg in a) part1=$OPTARG;; b) part2=$OPTARG;; c) part3=$OPTARG;; d) part4=$OPTARG;; n) nfsmount=$OPTARG;; v) verb=$OPTARG;; \?) echo "************** Help Info: ********************" usage;; esac done if [ ! -n "$part1" ]; then echo "Missing 1st partition. You must pass 4 partitions for testing" usage; exit fi if [ ! -n "$part2" ]; then echo "Missing 2nd partition. You must pass 4 partitions for testing" usage; exit fi if [ ! -n "$part3" ]; then echo "Missing 3rd partition. You must pass 4 partitions for testing" usage; exit fi if [ ! -n "$part4" ]; then echo "Missing 4th partition. You must pass 4 partitions for testing" usage; exit fi if [ ! -n "$nfsmount" ]; then echo "Missing NFS partition. You must pass an NFS mount point for testing" usage; exit fi export PATH="${PATH}:${LTPROOT}/testcases/bin" mkdir /test >/dev/null 2>&1 mkdir /test/growfiles >/dev/null 2>&1 mkdir /test/growfiles/ext2 >/dev/null 2>&1 mkdir /test/growfiles/ext3 >/dev/null 2>&1 mkdir /test/growfiles/msdos >/dev/null 2>&1 mkdir /test/growfiles/reiser >/dev/null 2>&1 mkdir /test/growfiles/minix >/dev/null 2>&1 mkdir /test/growfiles/nfs >/dev/null 2>&1 mkdir /test/growfiles/jfs >/dev/null 2>&1 mkdir /test/growfiles/ramdisk >/dev/null 2>&1 mkfs -V -t ext2 /dev/$part1 mkfs -V -t msdos /dev/$part2 mkreiserfs /dev/$part3 mkfs -V -t minix /dev/$part4 mount -v -t nfs $nfsmount /test/growfiles/nfs mount -v /dev/$part1 /test/growfiles/ext2 mount -v /dev/$part2 /test/growfiles/msdos mount -v /dev/$part3 /test/growfiles/reiser mount -v /dev/$part4 /test/growfiles/minix mount -v /dev/ram /test/growfiles/ramdisk echo "************ Running tests " ${LTPROOT}/../bin/rand_lines -g ${LTPROOT}/../runtest/lvm.part1 > ${TMPBASE}/lvm.part1 ${LTPROOT}/../bin/ltp-pan -e -S -a lvmpart1 -n lvmpart1 -l lvmlogfile -f ${TMPBASE}/lvm.part1 & wait $! umount -v -t nfs $nfsmount umount -v /dev/$part1 umount -v /dev/$part2 umount -v /dev/$part3 umount -v /dev/$part4 umount -v /dev/ram mkfs -V -t ext3 /dev/$part4 mkfs -V -t jfs /dev/$part1 <yesenter.txt mount -v -t ext3 /dev/$part4 /test/growfiles/ext3 mount -v -t jfs /dev/$part1 /test/growfiles/jfs echo "************ Running EXT3 & JFS tests... " ${LTPROOT}/../bin/rand_lines -g ${LTPROOT}/../runtest/lvm.part2 > ${TMPBASE}/lvm.part2 ${LTPROOT}/../bin/ltp-pan -e -S -a lvmpart2 -n lvmpart2 -l lvmlogfile -f ${TMPBASE}/lvm.part2 & wait $! umount -v /dev/$part1 umount -v /dev/$part4