[lvm-devel] LVM2/test t-lvcreate-usage.sh t-lvextend-perce ...

mornfall at sourceware.org mornfall at sourceware.org
Tue Sep 30 17:47:35 UTC 2008


CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	mornfall at sourceware.org	2008-09-30 17:47:34

Modified files:
	test           : t-lvcreate-usage.sh 
	                 t-lvextend-percent-extents.sh 
	                 t-mdata-strings.sh t-mirror-lvconvert.sh 
	                 t-pvcreate-operation.sh 

Log message:
	More test conversions, all of these are by jstava.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/test/t-lvcreate-usage.sh.diff?cvsroot=lvm2&r1=1.6&r2=1.7
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/test/t-lvextend-percent-extents.sh.diff?cvsroot=lvm2&r1=1.4&r2=1.5
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/test/t-mdata-strings.sh.diff?cvsroot=lvm2&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/test/t-mirror-lvconvert.sh.diff?cvsroot=lvm2&r1=1.4&r2=1.5
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/test/t-pvcreate-operation.sh.diff?cvsroot=lvm2&r1=1.10&r2=1.11

--- LVM2/test/t-lvcreate-usage.sh	2008/08/28 10:07:34	1.6
+++ LVM2/test/t-lvcreate-usage.sh	2008/09/30 17:47:34	1.7
@@ -1,5 +1,5 @@
 #!/bin/sh
-# Copyright (C) 2007 Red Hat, Inc. All rights reserved.
+# Copyright (C) 2008 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
@@ -9,82 +9,46 @@
 # along with this program; if not, write to the Free Software Foundation,
 # Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
-test_description='Exercise some lvcreate diagnostics'
-privileges_required_=1
+# 'Exercise some lvcreate diagnostics'
 
-. ./test-lib.sh
+. ./test-utils.sh
 
-cleanup_()
-{
-  test -n "$vg" && {
-    vgchange -an "$vg"
-    lvremove -ff "$vg"
-    vgremove "$vg"
-  } > "$test_dir_/cleanup.log"
-  test -n "$d1" && losetup -d "$d1"
-  test -n "$d2" && losetup -d "$d2"
-  rm -f "$f1" "$f2"
-}
-
-test_expect_success \
-  'set up temp files, loopback devices, PVs, and a VG' \
-  'f1=$(pwd)/1 && d1=$(loop_setup_ "$f1") &&
-   f2=$(pwd)/2 && d2=$(loop_setup_ "$f2") &&
-   pvcreate $d1 $d2                       &&
-   vg=$(this_test_)-test-vg-$$            &&
-   vgcreate $vg $d1 $d2'
-
-lv=lvcreate-usage-$$
-
-test_expect_success \
-  "lvcreate rejects repeated invocation (run 2 times)" '
-   lvcreate -n $lv -l 4 $vg && 
-   { lvcreate -n $lv -l 4 $vg;
-     status=$?; echo status=$status; test $status = 5 &&
-     lvremove -ff $vg/$lv
-   }
-'
-
-test_expect_success \
-  'lvcreate rejects a negative stripe_size' \
-  'lvcreate -L 64M -n $lv -i2 --stripesize -4 $vg 2>err;
-   status=$?; echo status=$status; test $status = 3 &&
-   grep "^  Negative stripesize is invalid\$" err'
-
-test_expect_success \
-  'lvcreate rejects a too-large stripesize' \
-  'lvcreate -L 64M -n $lv -i2 --stripesize 4294967291 $vg 2>err; test $? = 3 &&
-   grep "^  Stripe size cannot be larger than 512.00 GB\$" err'
-
-test_expect_success \
-  'lvcreate w/single stripe succeeds with diagnostics to stdout' \
-  'lvcreate -L 64M -n $lv -i1 --stripesize 4 $vg >out 2>err &&
-   grep "^  Redundant stripes argument: default is 1\$" out &&
-   grep "^  Ignoring stripesize argument with single stripe\$" out &&
-   lvdisplay $vg &&
-   lvremove -ff $vg'
-
-test_expect_success \
-  'lvcreate w/default (64KB) stripe size succeeds with diagnostics to stdout' \
-  'lvcreate -L 64M -n $lv -i2 $vg > out &&
-   grep "^  Using default stripesize" out &&
-   lvdisplay $vg &&
-   check_lv_field_ $vg/$lv stripesize "64.00K" &&
-   lvremove -ff $vg'
-
-test_expect_success \
-  'lvcreate rejects an invalid number of stripes' \
-  'lvcreate -L 64M -n $lv -i129 $vg 2>err; test $? = 3 &&
-   grep "^  Number of stripes (129) must be between 1 and 128\$" err'
+aux prepare_vg 2
+
+# "lvcreate rejects repeated invocation (run 2 times)" 
+lvcreate -n $lv -l 4 $vg 
+not lvcreate -n $lv -l 4 $vg
+lvremove -ff $vg/$lv
+
+# "lvcreate rejects a negative stripe_size"
+not lvcreate -L 64M -n $lv -i2 --stripesize -4 $vg 2>err;
+grep "^  Negative stripesize is invalid\$" err
+
+# 'lvcreate rejects a too-large stripesize'
+not lvcreate -L 64M -n $lv -i2 --stripesize 4294967291 $vg 2>err
+grep "^  Stripe size cannot be larger than 512.00 GB\$" err
+
+# 'lvcreate w/single stripe succeeds with diagnostics to stdout' 
+lvcreate -L 64M -n $lv -i1 --stripesize 4 $vg >out 2>err 
+grep "^  Redundant stripes argument: default is 1\$" out 
+grep "^  Ignoring stripesize argument with single stripe\$" out 
+lvdisplay $vg 
+lvremove -ff $vg
+
+# 'lvcreate w/default (64KB) stripe size succeeds with diagnostics to stdout'
+lvcreate -L 64M -n $lv -i2 $vg > out
+grep "^  Using default stripesize" out 
+lvdisplay $vg 
+check_lv_field_ $vg/$lv stripesize "64.00K" 
+lvremove -ff $vg
+
+# 'lvcreate rejects an invalid number of stripes' 
+not lvcreate -L 64M -n $lv -i129 $vg 2>err
+grep "^  Number of stripes (129) must be between 1 and 128\$" err
 
 # The case on lvdisplay output is to verify that the LV was not created.
-test_expect_success \
-  'lvcreate rejects an invalid stripe size' \
-  'lvcreate -L 64M -n $lv -i2 --stripesize 3 $vg 2>err; test $? = 3 &&
-   grep "^  Invalid stripe size 3\.00 KB\$" err &&
-   case $(lvdisplay $vg) in "") true ;; *) false ;; esac'
-
-test_done
-# Local Variables:
-# indent-tabs-mode: nil
-# End:
+# 'lvcreate rejects an invalid stripe size'
+not lvcreate -L 64M -n $lv -i2 --stripesize 3 $vg 2>err
+grep "^  Invalid stripe size 3\.00 KB\$" err
+case $(lvdisplay $vg) in "") true ;; *) false ;; esac'
+
--- LVM2/test/t-lvextend-percent-extents.sh	2008/01/17 18:05:57	1.4
+++ LVM2/test/t-lvextend-percent-extents.sh	2008/09/30 17:47:34	1.5
@@ -1,5 +1,5 @@
 #!/bin/sh
-# Copyright (C) 2007 Red Hat, Inc. All rights reserved.
+# Copyright (C) 2008 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
@@ -9,60 +9,36 @@
 # along with this program; if not, write to the Free Software Foundation,
 # Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
-test_description='Check extents percentage arguments'
-privileges_required_=1
+# 'Check extents percentage arguments'
 
-. ./test-lib.sh
+. ./test-utils.sh
 
-cleanup_()
-{
-  test -n "$vg" && {
-    vgchange -an "$vg"
-    lvremove -ff "$vg"
-    vgremove -f "$vg"
-  } > "$test_dir_/cleanup.log"
-  test -n "$d1" && losetup -d "$d1"
-  test -n "$d2" && losetup -d "$d2"
-  rm -f "$f1" "$f2"
-}
-
-test_expect_success \
-  'set up temp files, loopback devices, PVs, and a VG' \
-  'f1=$(pwd)/1 && d1=$(loop_setup_ "$f1") &&
-   f2=$(pwd)/2 && d2=$(loop_setup_ "$f2") &&
-   pvcreate $d1 $d2      &&
-   vg=$(this_test_)-test-vg-$$  &&
-   vgcreate $vg $d1 $d2 &&
-   lv=$(this_test_)-test-lv-$$ &&
-   lvcreate -L 64M -n $lv $vg'
-
-test_expect_success \
-  'lvextend rejects both size and extents without PVs' \
-  'lvextend -l 10 -L 64M $vg/$lv 2>err; test $? = 3 &&
-   grep "^  Please specify either size or extents but not both.\$" err'
-
-test_expect_success \
-  'lvextend rejects both size and extents with PVs' \
-  'lvextend -l 10 -L 64M $vg/$lv $d1 2>err; test $? = 3 &&
-   grep "^  Please specify either size or extents but not both.\$" err'
-
-test_expect_success \
-  'lvextend accepts no size or extents but one PV - bz154691' \
-  'lvextend $vg/$lv $d1 >out; test $? = 0 &&
-  grep "^  Logical volume $lv successfully resized\$" out &&
-  check_pv_field_ $d1 pv_free "0"'
-
-test_expect_success \
-  'Reset LV to original size' \
-  'lvremove -f $vg/$lv; test $? = 0 &&
-   lvcreate -L 64M -n $lv $vg; test $? = 0'
-
-test_expect_success \
-  'lvextend accepts no size but extents 100%PVS and two PVs - bz154691' \
-  'lvextend -l +100%PVS $vg/$lv $d1 $d2 >out; test $? = 0 &&
-  grep "^  Logical volume $lv successfully resized\$" out &&
-  check_pv_field_ $d1 pv_free "0" &&
-  check_pv_field_ $d2 pv_free "0"'
+aux prepare_vg 2 128
+
+lvcreate -L 64M -n $lv $vg
+
+# 'lvextend rejects both size and extents without PVs'
+not lvextend -l 10 -L 64M $vg/$lv 2>err
+grep "^  Please specify either size or extents but not both.\$" err
+
+# 'lvextend rejects both size and extents with PVs'
+not lvextend -l 10 -L 64M $vg/$lv $dev1 2>err
+grep "^  Please specify either size or extents but not both.\$" err
+
+# 'lvextend accepts no size or extents but one PV - bz154691'
+lvextend $vg/$lv $dev1 >out
+grep "^  Logical volume $lv successfully resized\$" out
+check_pv_field_ $dev1 pv_free "0"
+
+# 'Reset LV to original size' 
+lvremove -f $vg/$lv 
+lvcreate -L 64M -n $lv $vg
+
+# 'lvextend accepts no size but extents 100%PVS and two PVs - bz154691'
+lvextend -l +100%PVS $vg/$lv $dev1 $dev2 >out
+grep "^  Logical volume $lv successfully resized\$" out 
+check_pv_field_ $dev1 pv_free "0" 
+check_pv_field_ $dev2 pv_free "0"
 
 # Exercise the range overlap code.  Allocate every 2 extents.
 #
@@ -84,22 +60,15 @@
 # Total number of extents should be 12 + overlap = 12 + 6 = 18.
 # Thus, total size for the LV should be 18 * 4M = 72M
 #
-test_expect_success \
-  'Reset LV to 12 extents, allocate every other 2 extents' \
-  'create_pvs=`for i in $(seq 0 4 20); do echo -n "\$d1:$i-$(($i + 1)) "; done` &&
-   lvremove -f $vg/$lv; test $? = 0 &&
-   lvcreate -l 12 -n $lv $vg $create_pvs; test $? = 0 &&
-   check_lv_field_ $vg/$lv lv_size "48.00M"'
-
-test_expect_success \
-  'lvextend with partially allocated PVs and extents 100%PVS with PE ranges' \
-  'extend_pvs=`for i in $(seq 0 6 18); do echo -n "\$d1:$i-$(($i + 2)) "; done` &&
-  lvextend -l +100%PVS $vg/$lv $extend_pvs >out; test $? = 0 &&
-  grep "^  Logical volume $lv successfully resized\$" out &&
-  check_lv_field_ $vg/$lv lv_size "72.00M"'
-
-
-test_done
-# Local Variables:
-# indent-tabs-mode: nil
-# End:
+# 'Reset LV to 12 extents, allocate every other 2 extents' 
+create_pvs=`for i in $(seq 0 4 20); do echo -n "\$dev1:$i-$(($i + 1)) "; done` 
+lvremove -f $vg/$lv
+lvcreate -l 12 -n $lv $vg $create_pvs
+check_lv_field_ $vg/$lv lv_size "48.00M"
+
+# 'lvextend with partially allocated PVs and extents 100%PVS with PE ranges' 
+extend_pvs=`for i in $(seq 0 6 18); do echo -n "\$dev1:$i-$(($i + 2)) "; done` 
+lvextend -l +100%PVS $vg/$lv $extend_pvs >out
+grep "^  Logical volume $lv successfully resized\$" out 
+check_lv_field_ $vg/$lv lv_size "72.00M"
+
--- LVM2/test/t-mdata-strings.sh	2008/04/10 01:06:48	1.2
+++ LVM2/test/t-mdata-strings.sh	2008/09/30 17:47:34	1.3
@@ -9,43 +9,25 @@
 # along with this program; if not, write to the Free Software Foundation,
 # Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
-test_description='Test for proper escaping of strings in metadata (bz431474)'
-privileges_required_=1
+# 'Test for proper escaping of strings in metadata (bz431474)'
 
-. ./test-lib.sh
+. ./test-utils.sh
 
-cleanup_()
-{
-  test -n "$vg" && {
-    vgchange -an "$vg"
-    vgremove "$vg"
-  } > "$test_dir_/cleanup.log"
-  test -n "$d1" && losetup -d "$d1"
-  rm -f "$f1"
-}
+aux prepare_devs 1
 
 pv_suffix="__\"!@#\$%^&*()'\\\"__"
 
-test_expect_success \
-  'set up temp files, loopback devices' \
-  'f1=$(pwd)/1 && d1=$(loop_setup_ "$f1") &&
-  mv "$d1" "$d1$pv_suffix"                &&
-  d1=$d1$pv_suffix'
-
-test_expect_success \
-  'pvcreate, vgcreate on filename with backslashed chars' \
-  'pvcreate "$d1"                          &&
-  vg=$(this_test_)-test-vg-$$              &&
-  vgcreate $vg $d1'
-  
-test_expect_success \
-  'no parse errors and VG really exists' \
-  'vgs 2>err                                    &&
-  grep "Parse error" err;
-  status=$?; echo status=$status; test $status -ne 0 &&
-  vgs $vg'
-
-test_done
-# Local Variables:
-# indent-tabs-mode: nil
-# End:
+# 'set up temp files, loopback devices' 
+name=$(basename "$dev1")
+dmsetup rename "$name" "$name$pv_suffix" 
+dev1=$(dirname "$dev1")/$name$pv_suffix
+
+# 'pvcreate, vgcreate on filename with backslashed chars' 
+pvcreate "$dev1" 
+vgcreate $vg "$dev1"
+
+# 'no parse errors and VG really exists' 
+vgs 2>err
+not grep "Parse error" err;
+vgs $vg
+
--- LVM2/test/t-mirror-lvconvert.sh	2008/09/29 16:02:49	1.4
+++ LVM2/test/t-mirror-lvconvert.sh	2008/09/30 17:47:34	1.5
@@ -1,4 +1,4 @@
-# Copyright (C) 2007 Red Hat, Inc. All rights reserved.
+# Copyright (C) 2008 Red Hat, Inc. All rights reserved.
 # Copyright (C) 2007 NEC Corporation
 #
 # This copyrighted material is made available to anyone wishing to use,
@@ -156,25 +156,25 @@
 prepare_lvs_
 lvcreate -l2 -m1 --mirrorlog core -n $lv1 $vg $dev1 $dev2
 check_mirror_count_ $vg/$lv1 2
-!(check_mirror_log_ $vg/$lv1)
-lvconvert -m+1 -i1 --mirrorlog core $vg/$lv1 $dev4 &&
-check_no_tmplvs_ $vg/$lv1 &&
-check_mirror_count_ $vg/$lv1 3 &&
-!(check_mirror_log_ $vg/$lv1) &&
-mimages_are_redundant_ $vg $lv1 &&
-check_and_cleanup_lvs_
-
-test_expect_success "add 2 mirrors to core log mirror" \
-  'prepare_lvs_ &&
-   lvcreate -l2 -m1 --mirrorlog core -n $lv1 $vg $dev1 $dev2 &&
-   check_mirror_count_ $vg/$lv1 2 &&
-   !(check_mirror_log_ $vg/$lv1) &&
-   lvconvert -m+2 -i1 --mirrorlog core $vg/$lv1 $dev4 $dev5 &&
-   check_no_tmplvs_ $vg/$lv1 &&
-   check_mirror_count_ $vg/$lv1 4 &&
-   !(check_mirror_log_ $vg/$lv1) &&
-   mimages_are_redundant_ $vg $lv1 &&
-   check_and_cleanup_lvs_'
+not check_mirror_log_ $vg/$lv1
+lvconvert -m+1 -i1 --mirrorlog core $vg/$lv1 $dev4 
+check_no_tmplvs_ $vg/$lv1 
+check_mirror_count_ $vg/$lv1 3 
+not check_mirror_log_ $vg/$lv1
+mimages_are_redundant_ $vg $lv1 
+check_and_cleanup_lvs_
+
+# add 2 mirrors to core log mirror" 
+prepare_lvs_ 
+lvcreate -l2 -m1 --mirrorlog core -n $lv1 $vg $dev1 $dev2 
+check_mirror_count_ $vg/$lv1 2 
+not check_mirror_log_ $vg/$lv1 
+lvconvert -m+2 -i1 --mirrorlog core $vg/$lv1 $dev4 $dev5 
+check_no_tmplvs_ $vg/$lv1 
+check_mirror_count_ $vg/$lv1 4 
+not check_mirror_log_ $vg/$lv1
+mimages_are_redundant_ $vg $lv1 
+check_and_cleanup_lvs_
 
 # ---
 # add to converting mirror
@@ -195,18 +195,18 @@
 # ---
 # add mirror and disk log
 
-test_expect_success "add 1 mirror and disk log" \
-  'prepare_lvs_ &&
-   lvcreate -l2 -m1 --mirrorlog core -n $lv1 $vg $dev1 $dev2 &&
-   check_mirror_count_ $vg/$lv1 2 &&
-   !(check_mirror_log_ $vg/$lv1) &&
-   lvconvert -m+1 --mirrorlog disk -i1 $vg/$lv1 $dev4 $dev3:0-1 &&
-   check_no_tmplvs_ $vg/$lv1 &&
-   check_mirror_count_ $vg/$lv1 3 &&
-   check_mirror_log_ $vg/$lv1 &&
-   mimages_are_redundant_ $vg $lv1 &&
-   mirrorlog_is_on_ $vg/$lv1 $dev3 &&
-   check_and_cleanup_lvs_'
+# "add 1 mirror and disk log" 
+prepare_lvs_ 
+lvcreate -l2 -m1 --mirrorlog core -n $lv1 $vg $dev1 $dev2 
+check_mirror_count_ $vg/$lv1 2 
+not check_mirror_log_ $vg/$lv1 
+lvconvert -m+1 --mirrorlog disk -i1 $vg/$lv1 $dev4 $dev3:0-1 
+check_no_tmplvs_ $vg/$lv1 
+check_mirror_count_ $vg/$lv1 3 
+check_mirror_log_ $vg/$lv1 
+mimages_are_redundant_ $vg $lv1 
+mirrorlog_is_on_ $vg/$lv1 $dev3 
+check_and_cleanup_lvs_
 
 # ---
 # check polldaemon restarts
@@ -226,75 +226,74 @@
 # ---------------------------------------------------------------------
 # removal during conversion
 
-test_expect_success "remove newly added mirror" \
-  'prepare_lvs_ &&
-   lvcreate -l2 -m1 -n $lv1 $vg $dev1 $dev2 $dev3:0-1 &&
-   check_mirror_count_ $vg/$lv1 2 &&
-   check_mirror_log_ $vg/$lv1 &&
-   lvconvert -m+1 -b -i100 $vg/$lv1 $dev4 &&
-   lvconvert -m-1 $vg/$lv1 $dev4 &&
-   wait_conversion_ $vg/$lv1 &&
-   check_no_tmplvs_ $vg/$lv1 &&
-   check_mirror_count_ $vg/$lv1 2 &&
-   mimages_are_redundant_ $vg $lv1 &&
-   mirrorlog_is_on_ $vg/$lv1 $dev3 &&
-   check_and_cleanup_lvs_'
-
-test_expect_success "remove one of newly added mirrors" \
-  'prepare_lvs_ &&
-   lvcreate -l2 -m1 -n $lv1 $vg $dev1 $dev2 $dev3:0-1 &&
-   check_mirror_count_ $vg/$lv1 2 &&
-   check_mirror_log_ $vg/$lv1 &&
-   lvconvert -m+2 -b -i100 $vg/$lv1 $dev4 $dev5 &&
-   lvconvert -m-1 $vg/$lv1 $dev4 &&
-   lvconvert -i1 $vg/$lv1 &&
-   wait_conversion_ $vg/$lv1 &&
-   check_no_tmplvs_ $vg/$lv1 &&
-   check_mirror_count_ $vg/$lv1 3 &&
-   mimages_are_redundant_ $vg $lv1 &&
-   mirrorlog_is_on_ $vg/$lv1 $dev3 &&
-   check_and_cleanup_lvs_'
-
-test_expect_success "remove from original mirror (the original is still mirror)" \
-  'prepare_lvs_ &&
-   lvcreate -l2 -m2 -n $lv1 $vg $dev1 $dev2 $dev5 $dev3:0-1 &&
-   check_mirror_count_ $vg/$lv1 3 &&
-   check_mirror_log_ $vg/$lv1 &&
-   lvconvert -m+1 -b -i100 $vg/$lv1 $dev4 &&
-   lvconvert -m-1 $vg/$lv1 $dev2 &&
-   lvconvert -i1 $vg/$lv1 &&
-   wait_conversion_ $vg/$lv1 &&
-   check_no_tmplvs_ $vg/$lv1 &&
-   check_mirror_count_ $vg/$lv1 3 &&
-   mimages_are_redundant_ $vg $lv1 &&
-   mirrorlog_is_on_ $vg/$lv1 $dev3 &&
-   check_and_cleanup_lvs_'
-
-test_expect_success "remove from original mirror (the original becomes linear)" \
-  'prepare_lvs_ &&
-   lvcreate -l2 -m1 -n $lv1 $vg $dev1 $dev2 $dev3:0-1 &&
-   check_mirror_count_ $vg/$lv1 2 &&
-   check_mirror_log_ $vg/$lv1 &&
-   lvconvert -m+1 -b -i100 $vg/$lv1 $dev4 &&
-   lvconvert -m-1 $vg/$lv1 $dev2 &&
-   lvconvert -i1 $vg/$lv1 &&
-   wait_conversion_ $vg/$lv1 &&
-   check_no_tmplvs_ $vg/$lv1 &&
-   check_mirror_count_ $vg/$lv1 2 &&
-   mimages_are_redundant_ $vg $lv1 &&
-   mirrorlog_is_on_ $vg/$lv1 $dev3 &&
-   check_and_cleanup_lvs_'
-
-test_expect_success "rhbz440405: lvconvert -m0 incorrectly fails if all PEs allocated" \
-  'prepare_lvs_ &&
-   lvcreate -l`pvs --noheadings -ope_count $dev1` -m1 -n $lv1 $vg $dev1 $dev2 $dev3:0 &&
-   check_mirror_count_ $vg/$lv1 2 &&
-   check_mirror_log_ $vg/$lv1 &&
-   lvconvert -m0 $vg/$lv1 $dev1 &&
-   check_no_tmplvs_ $vg/$lv1 &&
-   check_mirror_count_ $vg/$lv1 1 &&
-   check_and_cleanup_lvs_'
+# "remove newly added mirror" 
+prepare_lvs_ 
+lvcreate -l2 -m1 -n $lv1 $vg $dev1 $dev2 $dev3:0-1 
+check_mirror_count_ $vg/$lv1 2 
+check_mirror_log_ $vg/$lv1 
+lvconvert -m+1 -b -i100 $vg/$lv1 $dev4 
+lvconvert -m-1 $vg/$lv1 $dev4 
+wait_conversion_ $vg/$lv1 
+check_no_tmplvs_ $vg/$lv1 
+check_mirror_count_ $vg/$lv1 2 
+mimages_are_redundant_ $vg $lv1 
+mirrorlog_is_on_ $vg/$lv1 $dev3 
+check_and_cleanup_lvs_
+
+# "remove one of newly added mirrors" 
+prepare_lvs_ 
+lvcreate -l2 -m1 -n $lv1 $vg $dev1 $dev2 $dev3:0-1 
+check_mirror_count_ $vg/$lv1 2 
+check_mirror_log_ $vg/$lv1 
+lvconvert -m+2 -b -i100 $vg/$lv1 $dev4 $dev5 
+lvconvert -m-1 $vg/$lv1 $dev4 
+lvconvert -i1 $vg/$lv1 
+wait_conversion_ $vg/$lv1 
+check_no_tmplvs_ $vg/$lv1 
+check_mirror_count_ $vg/$lv1 3 
+mimages_are_redundant_ $vg $lv1 
+mirrorlog_is_on_ $vg/$lv1 $dev3 
+check_and_cleanup_lvs_
+
+# "remove from original mirror (the original is still mirror)"
+prepare_lvs_ 
+lvcreate -l2 -m2 -n $lv1 $vg $dev1 $dev2 $dev5 $dev3:0-1 
+check_mirror_count_ $vg/$lv1 3 
+check_mirror_log_ $vg/$lv1 
+lvconvert -m+1 -b -i100 $vg/$lv1 $dev4 
+lvconvert -m-1 $vg/$lv1 $dev2 
+lvconvert -i1 $vg/$lv1 
+wait_conversion_ $vg/$lv1 
+check_no_tmplvs_ $vg/$lv1 
+check_mirror_count_ $vg/$lv1 3 
+mimages_are_redundant_ $vg $lv1 
+mirrorlog_is_on_ $vg/$lv1 $dev3 
+check_and_cleanup_lvs_
+
+# "remove from original mirror (the original becomes linear)"
+prepare_lvs_ 
+lvcreate -l2 -m1 -n $lv1 $vg $dev1 $dev2 $dev3:0-1 
+check_mirror_count_ $vg/$lv1 2 
+check_mirror_log_ $vg/$lv1 
+lvconvert -m+1 -b -i100 $vg/$lv1 $dev4 
+lvconvert -m-1 $vg/$lv1 $dev2 
+lvconvert -i1 $vg/$lv1 
+wait_conversion_ $vg/$lv1 
+check_no_tmplvs_ $vg/$lv1 
+check_mirror_count_ $vg/$lv1 2 
+mimages_are_redundant_ $vg $lv1 
+mirrorlog_is_on_ $vg/$lv1 $dev3 
+check_and_cleanup_lvs_
+
+# "rhbz440405: lvconvert -m0 incorrectly fails if all PEs allocated"
+prepare_lvs_ 
+lvcreate -l`pvs --noheadings -ope_count $dev1` -m1 -n $lv1 $vg $dev1 $dev2 $dev3:0 
+check_mirror_count_ $vg/$lv1 2 
+check_mirror_log_ $vg/$lv1 
+lvconvert -m0 $vg/$lv1 $dev1 
+check_no_tmplvs_ $vg/$lv1 
+check_mirror_count_ $vg/$lv1 1 
+check_and_cleanup_lvs_
 
 # ---------------------------------------------------------------------
 
-test_done
--- LVM2/test/t-pvcreate-operation.sh	2008/09/29 16:02:50	1.10
+++ LVM2/test/t-pvcreate-operation.sh	2008/09/30 17:47:34	1.11
@@ -60,18 +60,17 @@
 pvremove -f $dev2
 pvremove -f $dev1
 
-test_expect_success \
-  'pvcreate (lvm2) succeeds with -ff when PV with metadatacopies=0 belongs to VG' \
-  'pvcreate --metadatacopies 0 $dev1 &&
-   pvcreate --metadatacopies 1 $dev2 &&
-   vgcreate $vg1 $dev1 $dev2 &&
-   pvcreate -ff -y $dev1 &&
-   vgreduce --removemissing $vg1 &&
-   vgremove -ff $vg1 &&
-   pvremove -f $dev2 &&
-   pvremove -f $dev1'
+# pvcreate (lvm2) succeeds with -ff when PV with metadatacopies=0 belongs to VG
+pvcreate --metadatacopies 0 $dev1 
+pvcreate --metadatacopies 1 $dev2
+vgcreate $vg1 $dev1 $dev2 
+pvcreate -ff -y $dev1 
+vgreduce --removemissing $vg1 
+vgremove -ff $vg1 
+pvremove -f $dev2 
+pvremove -f $dev1
 
-for i in 0 1 2 3 
+for i in 0 1 2 3
 do
 # pvcreate (lvm2) succeeds writing LVM label at sector $i
     pvcreate --labelsector $i $dev1




More information about the lvm-devel mailing list