summaryrefslogtreecommitdiff
path: root/test/shell/lvcreate-large-raid.sh
diff options
context:
space:
mode:
Diffstat (limited to 'test/shell/lvcreate-large-raid.sh')
-rw-r--r--test/shell/lvcreate-large-raid.sh71
1 files changed, 71 insertions, 0 deletions
diff --git a/test/shell/lvcreate-large-raid.sh b/test/shell/lvcreate-large-raid.sh
new file mode 100644
index 0000000..8768bb3
--- /dev/null
+++ b/test/shell/lvcreate-large-raid.sh
@@ -0,0 +1,71 @@
+#!/bin/sh
+# Copyright (C) 2012 Red Hat, Inc. All rights reserved.
+#
+# 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
+
+# 'Exercise some lvcreate diagnostics'
+
+. lib/test
+
+aux target_at_least dm-raid 1 1 0 || skip
+
+aux prepare_vg 5
+
+lvcreate -s -l 20%FREE -n $lv1 $vg --virtualsize 256T
+lvcreate -s -l 20%FREE -n $lv2 $vg --virtualsize 256T
+lvcreate -s -l 20%FREE -n $lv3 $vg --virtualsize 256T
+lvcreate -s -l 20%FREE -n $lv4 $vg --virtualsize 256T
+lvcreate -s -l 20%FREE -n $lv5 $vg --virtualsize 256T
+
+#FIXME this should be 1024T
+#check lv_field $vg/$lv size "128.00m"
+
+aux lvmconf 'devices/filter = [ "a/dev\/mapper\/.*$/", "a/dev\/LVMTEST/", "r/.*/" ]'
+
+pvcreate $DM_DEV_DIR/$vg/$lv[12345]
+vgcreate -c n $vg1 $DM_DEV_DIR/$vg/$lv[12345]
+
+# bz837927 START
+
+#
+# Create large RAID LVs
+#
+# We need '--nosync' or our virtual devices won't work
+lvcreate --type raid1 -m 1 -L 200T -n $lv1 $vg1 --nosync
+check lv_field $vg1/$lv1 size "200.00t"
+lvremove -ff $vg1
+
+for segtype in raid4 raid5 raid6; do
+ lvcreate --type $segtype -i 3 -L 750T -n $lv1 $vg1 --nosync
+ check lv_field $vg1/$lv1 size "750.00t"
+ lvremove -ff $vg1
+done
+
+#
+# Convert large linear to RAID1 (belong in different test script?)
+#
+lvcreate -L 200T -n $lv1 $vg1
+# Need to deactivate or the up-convert will start sync'ing
+lvchange -an $vg1/$lv1
+lvconvert --type raid1 -m 1 $vg1/$lv1
+check lv_field $vg1/$lv1 size "200.00t"
+lvremove -ff $vg1
+
+#
+# Extending large RAID LV (belong in different script?)
+#
+lvcreate --type raid1 -m 1 -L 200T -n $lv1 $vg1 --nosync
+check lv_field $vg1/$lv1 size "200.00t"
+lvextend -L +200T $vg1/$lv1
+check lv_field $vg1/$lv1 size "400.00t"
+lvremove -ff $vg1
+
+# bz837927 END
+
+lvremove -ff $vg