blob: 07123221f011be7c082ad270332d207b0ed16eb0 [file] [log] [blame]
robbiew59f17d12003-04-16 17:55:23 +00001#!/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
Chris Dearman37550cf2012-10-17 19:54:01 -07004# 03/14/03 mridge@us.ibm.com added instance and time command line options
mridge1782eb22003-05-20 15:26:00 +00005# 05/16/03 changed script paths
6# 05/20/03 Added instructions on setup and warnings
mridge884ea2a2004-05-05 15:20:28 +00007# 05/03/2004 hien1@us.ibm.com Added resize2fs and resize_reiserfs after extend and reduce LVs
8# 05/03/2004 Moved the mount after resizing
9# 05/03/2004 Modified /dev/ram to /dev/ram0
robbiew59f17d12003-04-16 17:55:23 +000010
11cd `dirname $0`
12export LTPROOT=${PWD}
robbiewa61a7a32003-05-12 22:14:10 +000013echo $LTPROOT | grep testscripts > /dev/null 2>&1
14if [ $? -eq 0 ]; then
15 cd ..
16 export LTPROOT=${PWD}
17fi
18
robbiew59f17d12003-04-16 17:55:23 +000019export TMPBASE="/tmp"
20
21
Chris Dearman37550cf2012-10-17 19:54:01 -070022usage()
robbiew59f17d12003-04-16 17:55:23 +000023{
24 cat <<-END >&2
25 usage: ${0##*/} [ -a part1 ] [ -b part2 ] [ -c part3 ]
26 [ -d part4 ] [ -n nfsmount ]
27 defaults:
28 part1=$part1
29 part2=$part2
30 part3=$part3
31 part4=$part4
32 nfsmount=$nfsmount
33 ltproot=$TPROOT
34 tmpdir=$TMPBASE
35
Chris Dearman37550cf2012-10-17 19:54:01 -070036 example: ${0##*/} -a hdc1 -b hdc2 -c hdc3 -d hdc4 -n mytesthost:/testmountdir
robbiew59f17d12003-04-16 17:55:23 +000037
38 fdisk needs to be run and the 4 HD partitions marked as 0x8e -- Linux LVM
39
mridge1782eb22003-05-20 15:26:00 +000040 - If this is run on a 2.4 kernel system then LVM must be configured and the kernel rebuilt. In a 2.5 environment
41 you must configure Device Mapper and install LVM2 from www.systina.com for the testcase to run correctly.
42
43 - These operations are destructive so do NOT point the tests to partitions where the data shouldn't be overwritten.
44 Once these tests are started all data in the partitions you point to will be destroyed.
45
robbiew59f17d12003-04-16 17:55:23 +000046 END
47exit
48}
49
50while getopts :a:b:c:d:e:n:v: arg
51do case $arg in
52 a) part1=$OPTARG;;
53 b) part2=$OPTARG;;
54 c) part3=$OPTARG;;
55 d) part4=$OPTARG;;
56 n) nfsmount=$OPTARG;;
57 v) verb=$OPTARG;;
Chris Dearman37550cf2012-10-17 19:54:01 -070058
robbiew59f17d12003-04-16 17:55:23 +000059 \?) echo "************** Help Info: ********************"
60 usage;;
61 esac
62done
63
64if [ ! -n "$part1" ]; then
65 echo "Missing 1st partition. You must pass 4 partitions for testing"
66 usage;
67 exit
68fi
69
70if [ ! -n "$part2" ]; then
71 echo "Missing 2nd partition. You must pass 4 partitions for testing"
72 usage;
73 exit
74fi
75
76if [ ! -n "$part3" ]; then
77 echo "Missing 3rd partition. You must pass 4 partitions for testing"
78 usage;
79 exit
80fi
81
82if [ ! -n "$part4" ]; then
83 echo "Missing 4th partition. You must pass 4 partitions for testing"
84 usage;
85 exit
86fi
87
88if [ ! -n "$nfsmount" ]; then
89 echo "Missing NFS partition. You must pass an NFS mount point for testing"
90 usage;
91 exit
92fi
93
94export PATH="${PATH}:${LTPROOT}/testcases/bin"
95
96
Chris Dearman37550cf2012-10-17 19:54:01 -070097mkdir /test >/dev/null 2>&1
98mkdir /test/growfiles >/dev/null 2>&1
99mkdir /test/growfiles/ext2 >/dev/null 2>&1
100mkdir /test/growfiles/msdos >/dev/null 2>&1
101mkdir /test/growfiles/reiser >/dev/null 2>&1
102mkdir /test/growfiles/minix >/dev/null 2>&1
103mkdir /test/growfiles/nfs >/dev/null 2>&1
104mkdir /test/growfiles/jfs >/dev/null 2>&1
105mkdir /test/growfiles/ramdisk >/dev/null 2>&1
robbiew59f17d12003-04-16 17:55:23 +0000106
107vgscan
108vgchange -a y
109
Chris Dearman37550cf2012-10-17 19:54:01 -0700110pvcreate -v /dev/$part1 /dev/$part2 /dev/$part3 /dev/$part4
111vgcreate -v ltp_test_vg1 /dev/$part1 /dev/$part2
robbiew59f17d12003-04-16 17:55:23 +0000112vgcreate -v ltp_test_vg2 /dev/$part3 /dev/$part4
113vgcfgbackup -v
114lvcreate -v -L 100 ltp_test_vg1 -n ltp_test_lv1
115lvcreate -v -L 100 ltp_test_vg1 -n ltp_test_lv2 -i 2
116lvcreate -v -L 100 ltp_test_vg2 -n ltp_test_lv3
117lvcreate -v -L 100 ltp_test_vg2 -n ltp_test_lv4
118
119mkfs -V -t ext2 /dev/ltp_test_vg1/ltp_test_lv1
120mkfs -V -t msdos /dev/ltp_test_vg1/ltp_test_lv2
121mkreiserfs /dev/ltp_test_vg2/ltp_test_lv3 <yesenter.txt
122mkfs -V -t minix /dev/ltp_test_vg2/ltp_test_lv4
robbiew59f17d12003-04-16 17:55:23 +0000123
mridge884ea2a2004-05-05 15:20:28 +0000124### there is no /dev/ram - has /dev/ram0 ... /dev/ram15
125mkfs -V -t ext3 /dev/ram0
robbiew59f17d12003-04-16 17:55:23 +0000126
robbiew59f17d12003-04-16 17:55:23 +0000127
128lvmdiskscan -v
129lvscan -v
130vgdisplay -v
mridge884ea2a2004-05-05 15:20:28 +0000131lvextend -v -l +5000 /dev/ltp_test_vg1/ltp_test_lv1
robbiew59f17d12003-04-16 17:55:23 +0000132lvreduce -v -f -l -20 /dev/ltp_test_vg1/ltp_test_lv1
mridge884ea2a2004-05-05 15:20:28 +0000133
134### Need to be resize to get LV to the correct size
135resize2fs -f /dev/ltp_test_vg1/ltp_test_lv1
136lvextend -v -l +5000 /dev/ltp_test_vg1/ltp_test_lv2
robbiew59f17d12003-04-16 17:55:23 +0000137lvreduce -v -f -l -20 /dev/ltp_test_vg1/ltp_test_lv2
mridge884ea2a2004-05-05 15:20:28 +0000138
139### Need to be resize to get LV to the correct size
140resize_reiserfs -f /dev/ltp_test_vg1/ltp_test_lv2
robbiew59f17d12003-04-16 17:55:23 +0000141lvextend -v -l +20 /dev/ltp_test_vg2/ltp_test_lv3
142lvreduce -v -f -l -20 /dev/ltp_test_vg2/ltp_test_lv3
143lvextend -v -l +20 /dev/ltp_test_vg2/ltp_test_lv4
144lvreduce -v -f -l -20 /dev/ltp_test_vg2/ltp_test_lv4
145
146vgreduce -v /dev/ltp_test_vg1 /dev/$part2
147vgextend -v /dev/ltp_test_vg1 /dev/$part2
148vgck -v
149
mridge884ea2a2004-05-05 15:20:28 +0000150### Move mount filesystems to the last since resize can't work on a mounted filesystem.
Chris Dearman37550cf2012-10-17 19:54:01 -0700151mount -v -t nfs $nfsmount /test/growfiles/nfs
152mount -v /dev/ltp_test_vg1/ltp_test_lv1 /test/growfiles/ext2
153mount -v /dev/ltp_test_vg1/ltp_test_lv2 /test/growfiles/msdos
154mount -v /dev/ltp_test_vg2/ltp_test_lv3 /test/growfiles/reiser
155mount -v /dev/ltp_test_vg2/ltp_test_lv4 /test/growfiles/minix
156mount -v /dev/ram /test/growfiles/ramdisk
mridge884ea2a2004-05-05 15:20:28 +0000157
Chris Dearman37550cf2012-10-17 19:54:01 -0700158echo "************ Running tests "
yaberauneyad8f1f5d2010-01-28 15:46:58 +0000159${LTPROOT}/bin/rand_lines -g ${LTPROOT}/runtest/lvm.part1 > ${TMPBASE}/lvm.part1
robbiew59f17d12003-04-16 17:55:23 +0000160
root02f8fe82010-02-19 09:42:56 -0800161${LTPROOT}/bin/ltp-pan -e -S -a lvmpart1 -n lvmpart1 -l lvmlogfile -f ${TMPBASE}/lvm.part1 &
robbiew59f17d12003-04-16 17:55:23 +0000162
163wait $!
164
mridge6480d942003-07-08 15:28:11 +0000165
166
Chris Dearman37550cf2012-10-17 19:54:01 -0700167umount -v -t nfs $nfsmount
robbiew59f17d12003-04-16 17:55:23 +0000168umount -v /dev/ltp_test_vg1/ltp_test_lv1
169umount -v /dev/ltp_test_vg1/ltp_test_lv2
170umount -v /dev/ltp_test_vg2/ltp_test_lv3
171umount -v /dev/ltp_test_vg2/ltp_test_lv4
Chris Dearman37550cf2012-10-17 19:54:01 -0700172umount -v /dev/ram
robbiew59f17d12003-04-16 17:55:23 +0000173
Chris Dearman37550cf2012-10-17 19:54:01 -0700174lvremove -f -v /dev/ltp_test_vg1/ltp_test_lv1
175lvremove -f -v /dev/ltp_test_vg1/ltp_test_lv2
176lvremove -f -v /dev/ltp_test_vg2/ltp_test_lv3
177lvremove -f -v /dev/ltp_test_vg2/ltp_test_lv4
robbiew59f17d12003-04-16 17:55:23 +0000178
179lvscan -v
180vgchange -a n
181vgremove -v /dev/ltp_test_vg1
182vgremove -v /dev/ltp_test_vg2
mridge6480d942003-07-08 15:28:11 +0000183
184mkfs -V -t ext3 /dev/$part4
185mkfs -V -t jfs /dev/$part1 <yesenter.txt
186
187mount -v -t ext3 /dev/$part4 /test/growfiles/ext3
188mount -v -t jfs /dev/hdc1 /test/growfiles/jfs
189
Chris Dearman37550cf2012-10-17 19:54:01 -0700190echo "************ Running EXT3 & JFS tests... "
yaberauneyad8f1f5d2010-01-28 15:46:58 +0000191${LTPROOT}/bin/rand_lines -g ${LTPROOT}/runtest/lvm.part2 > ${TMPBASE}/lvm.part2
mridge6480d942003-07-08 15:28:11 +0000192
root02f8fe82010-02-19 09:42:56 -0800193${LTPROOT}/bin/ltp-pan -e -S -a lvmpart2 -n lvmpart2 -l lvmlogfile -f ${TMPBASE}/lvm.part2 &
mridge6480d942003-07-08 15:28:11 +0000194
195wait $!
196
Chris Dearman37550cf2012-10-17 19:54:01 -0700197umount -v /dev/$part1
198umount -v /dev/$part4
mridge6480d942003-07-08 15:28:11 +0000199
200