2008-10-06 20:47:07 +04:00
# Copyright (C) 2008 Red Hat, Inc. All rights reserved.
2008-08-13 17:49:07 +04:00
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions
# of the GNU General Public License v.2.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# tests basic functionality of read-ahead and ra regressions
#
2008-09-29 20:02:50 +04:00
. ./test-utils.sh
2008-08-13 17:49:07 +04:00
2009-03-24 16:16:34 +03:00
TEST_UUID = "aaaaaa-aaaa-aaaa-aaaa-aaaa-aaaa-aaaaaa"
2008-08-13 17:49:07 +04:00
get_lvs_( )
{
case $( lvs --units s --nosuffix --noheadings -o $1 _read_ahead " $vg " /" $lv " ) in
*$2 ) true ; ;
*) false ; ;
esac
}
2008-10-06 20:47:07 +04:00
aux prepare_devs 5
2008-09-29 20:02:50 +04:00
pvcreate $dev1
pvcreate --metadatacopies 0 $dev2
pvcreate --metadatacopies 0 $dev3
pvcreate $dev4
2010-08-12 08:08:59 +04:00
pvcreate --norestorefile -u $TEST_UUID --metadatacopies 0 $dev5
2008-09-29 20:02:50 +04:00
vgcreate -c n $vg $devs
lvcreate -n $lv -l 5 -i5 -I256 $vg
2008-08-13 17:49:07 +04:00
2008-09-29 20:02:50 +04:00
# test *scan and *display tools
pvscan
vgscan
lvscan
lvmdiskscan
vgdisplay --units k
lvdisplay --units g
2009-07-07 23:28:57 +04:00
for i in h b s k m g t p e H B S K M G T P E ; do
2008-09-29 20:02:50 +04:00
pvdisplay --units " $i " " $dev1 "
done
2008-08-13 17:49:07 +04:00
2008-09-29 20:02:50 +04:00
# test vgexport vgimport tools
vgchange -an $vg
vgexport $vg
vgimport $vg
vgchange -ay $vg
2008-08-13 17:49:07 +04:00
# "-persistent y --major 254 --minor 20"
2008-08-20 17:34:33 +04:00
# "-persistent n"
2008-09-29 20:02:50 +04:00
# test various lvm utils
for i in dumpconfig formats segtypes; do
lvm " $i "
done
2008-08-13 17:49:07 +04:00
2008-09-29 20:02:50 +04:00
for i in pr "p rw" an ay "-monitor y" "-monitor n" \
-resync -refresh "-addtag MYTAG" "-deltag MYETAG" ; do
lvchange -$i " $vg " /" $lv "
done
2008-08-13 17:49:07 +04:00
2010-06-29 01:49:31 +04:00
pvck " $dev1 "
2008-09-29 20:02:50 +04:00
vgck " $vg "
lvrename " $vg " " $lv " " $lv -rename "
vgcfgbackup -f " $( pwd ) /backup. $$ " " $vg "
vgchange -an " $vg "
vgcfgrestore -f " $( pwd ) /backup. $$ " " $vg "
2009-03-24 16:16:34 +03:00
pvremove -y -ff $dev5
not vgcfgrestore -f " $( pwd ) /backup. $$ " " $vg "
pvcreate -u $TEST_UUID --restorefile " $( pwd ) /backup. $$ " $dev5
2008-09-29 20:02:50 +04:00
vgremove -f " $vg "
pvresize --setphysicalvolumesize 10M " $dev1 "
2008-08-13 17:49:07 +04:00
2008-09-29 20:02:50 +04:00
# test various errors and obsoleted tools
not lvmchange
not lvrename " $vg "
not lvrename " $vg -xxx "
not lvrename " $vg " " $vg " /" $lv -rename " " $vg " /" $lv "