diff options
Diffstat (limited to 'test/shell/integrity.sh')
-rw-r--r-- | test/shell/integrity.sh | 135 |
1 files changed, 66 insertions, 69 deletions
diff --git a/test/shell/integrity.sh b/test/shell/integrity.sh index 66a82a7d4..eca7a616f 100644 --- a/test/shell/integrity.sh +++ b/test/shell/integrity.sh @@ -21,7 +21,8 @@ which mkfs.xfs || skip mnt="mnt" mkdir -p $mnt -aux prepare_devs 5 128 + +aux prepare_devs 5 64 for i in `seq 1 16384`; do echo -n "A" >> fileA; done for i in `seq 1 16384`; do echo -n "B" >> fileB; done @@ -41,6 +42,7 @@ _prepare_vg() { dd if=/dev/zero of="$dev4" || true dd if=/dev/zero of="$dev5" || true vgcreate $SHARED $vg "$dev1" "$dev2" "$dev3" "$dev4" "$dev5" + pvs } _test_fs_with_error() { @@ -191,75 +193,55 @@ _wait_recalc() { } _prepare_vg -lvcreate --integrity y -n $lv1 -l 8 $vg "$dev1" -_test_fs_with_error -lvchange -an $vg/$lv1 -lvconvert --integrity n $vg/$lv1 -lvremove $vg/$lv1 -vgremove -ff $vg - -_prepare_vg -lvcreate --type raid1 -m1 --integrity y -n $lv1 -l 8 $vg +lvcreate --type raid1 -m1 --raidintegrity y -n $lv1 -l 8 $vg _test_fs_with_raid lvchange -an $vg/$lv1 -lvconvert --integrity n $vg/$lv1 +lvconvert --raidintegrity n $vg/$lv1 lvremove $vg/$lv1 vgremove -ff $vg _prepare_vg -lvcreate --type raid1 -m2 --integrity y -n $lv1 -l 8 $vg +lvcreate --type raid1 -m2 --raidintegrity y -n $lv1 -l 8 $vg _test_fs_with_raid lvchange -an $vg/$lv1 -lvconvert --integrity n $vg/$lv1 +lvconvert --raidintegrity n $vg/$lv1 lvremove $vg/$lv1 vgremove -ff $vg _prepare_vg -lvcreate --type raid4 --integrity y -n $lv1 -l 8 $vg +lvcreate --type raid4 --raidintegrity y -n $lv1 -l 8 $vg _test_fs_with_raid lvchange -an $vg/$lv1 -lvconvert --integrity n $vg/$lv1 +lvconvert --raidintegrity n $vg/$lv1 lvremove $vg/$lv1 vgremove -ff $vg _prepare_vg -lvcreate --type raid5 --integrity y -n $lv1 -l 8 $vg +lvcreate --type raid5 --raidintegrity y -n $lv1 -l 8 $vg _test_fs_with_raid lvchange -an $vg/$lv1 -lvconvert --integrity n $vg/$lv1 +lvconvert --raidintegrity n $vg/$lv1 lvremove $vg/$lv1 vgremove -ff $vg _prepare_vg -lvcreate --type raid6 --integrity y -n $lv1 -l 8 $vg +lvcreate --type raid6 --raidintegrity y -n $lv1 -l 8 $vg _test_fs_with_raid lvchange -an $vg/$lv1 -lvconvert --integrity n $vg/$lv1 +lvconvert --raidintegrity n $vg/$lv1 lvremove $vg/$lv1 vgremove -ff $vg # Test removing integrity from an active LV _prepare_vg -lvcreate --integrity y -n $lv1 -l 8 $vg -_wait_recalc $vg/$lv1 -lvchange -an $vg/$lv1 -lvchange -ay $vg/$lv1 -_add_data_to_lv -lvconvert --integrity n $vg/$lv1 -_verify_data_on_lv -lvchange -an $vg/$lv1 -lvremove $vg/$lv1 -vgremove -ff $vg - -_prepare_vg -lvcreate --type raid1 -m1 --integrity y -n $lv1 -l 8 $vg +lvcreate --type raid1 -m1 --raidintegrity y -n $lv1 -l 8 $vg _wait_recalc $vg/${lv1}_rimage_0 _wait_recalc $vg/${lv1}_rimage_1 lvchange -an $vg/$lv1 lvchange -ay $vg/$lv1 _add_data_to_lv -lvconvert --integrity n $vg/$lv1 +lvconvert --raidintegrity n $vg/$lv1 _verify_data_on_lv lvchange -an $vg/$lv1 lvremove $vg/$lv1 @@ -268,92 +250,107 @@ vgremove -ff $vg # Test adding integrity to an active LV _prepare_vg -lvcreate -n $lv1 -l 8 $vg +lvcreate --type raid1 -m1 -n $lv1 -l 8 $vg lvchange -an $vg/$lv1 lvchange -ay $vg/$lv1 _add_data_to_lv -lvconvert --integrity y $vg/$lv1 -_wait_recalc $vg/$lv1 +lvconvert --raidintegrity y $vg/$lv1 +_wait_recalc $vg/${lv1}_rimage_0 +_wait_recalc $vg/${lv1}_rimage_1 _verify_data_on_lv lvchange -an $vg/$lv1 lvremove $vg/$lv1 vgremove -ff $vg +# Test lvextend + _prepare_vg lvcreate --type raid1 -m1 -n $lv1 -l 8 $vg lvchange -an $vg/$lv1 lvchange -ay $vg/$lv1 _add_data_to_lv -lvconvert --integrity y $vg/$lv1 +lvconvert --raidintegrity y $vg/$lv1 _wait_recalc $vg/${lv1}_rimage_0 _wait_recalc $vg/${lv1}_rimage_1 +lvs -a -o+devices $vg _verify_data_on_lv lvchange -an $vg/$lv1 +lvextend -l 16 $vg/$lv1 +lvchange -ay $vg/$lv1 +_verify_data_on_lv +_wait_recalc $vg/${lv1}_rimage_0 +_wait_recalc $vg/${lv1}_rimage_1 +lvs -a -o+devices $vg +lvchange -an $vg/$lv1 lvremove $vg/$lv1 vgremove -ff $vg -# Test lvextend +# Repeat many of the tests above using journal mode _prepare_vg -lvcreate -n $lv1 -l 8 $vg +lvcreate --type raid1 -m1 --raidintegrity y --raidintegritymode journal -n $lv1 -l 8 $vg +_test_fs_with_raid lvchange -an $vg/$lv1 -lvchange -ay $vg/$lv1 -_add_data_to_lv -lvconvert --integrity y $vg/$lv1 -_wait_recalc $vg/$lv1 -lvs -a $vg -_verify_data_on_lv +lvconvert --raidintegrity n $vg/$lv1 +lvremove $vg/$lv1 +vgremove -ff $vg + +_prepare_vg +lvcreate --type raid6 --raidintegrity y --raidintegritymode journal -n $lv1 -l 8 $vg +_test_fs_with_raid +lvchange -an $vg/$lv1 +lvconvert --raidintegrity n $vg/$lv1 +lvremove $vg/$lv1 +vgremove -ff $vg + +# remove from active lv +_prepare_vg +lvcreate --type raid1 -m1 --raidintegrity y --raidintegritymode journal -n $lv1 -l 8 $vg +_wait_recalc $vg/${lv1}_rimage_0 +_wait_recalc $vg/${lv1}_rimage_1 lvchange -an $vg/$lv1 -lvextend -l 16 $vg/$lv1 lvchange -ay $vg/$lv1 +_add_data_to_lv +lvconvert --raidintegrity n $vg/$lv1 _verify_data_on_lv -_wait_recalc $vg/$lv1 -lvs -a $vg lvchange -an $vg/$lv1 lvremove $vg/$lv1 vgremove -ff $vg +# add to active lv _prepare_vg -lvcreate --type raid1 -m1 -n $lv1 -l 8 $vg +lvcreate --type raid1 --raidintegritymode journal -m1 -n $lv1 -l 8 $vg lvchange -an $vg/$lv1 lvchange -ay $vg/$lv1 _add_data_to_lv -lvconvert --integrity y $vg/$lv1 +lvconvert --raidintegrity y $vg/$lv1 _wait_recalc $vg/${lv1}_rimage_0 _wait_recalc $vg/${lv1}_rimage_1 -lvs -a $vg _verify_data_on_lv lvchange -an $vg/$lv1 -lvextend -l 16 $vg/$lv1 -lvchange -ay $vg/$lv1 -_verify_data_on_lv -_wait_recalc $vg/${lv1}_rimage_0 -_wait_recalc $vg/${lv1}_rimage_1 -lvs -a $vg -lvchange -an $vg/$lv1 lvremove $vg/$lv1 vgremove -ff $vg -# lvextend to 512MB is needed for the imeta LV to -# be extended from 4MB to 8MB. - +# lvextend _prepare_vg -lvcreate -n $lv1 -l 8 $vg +lvcreate --type raid1 --raidintegritymode journal -m1 -n $lv1 -l 8 $vg lvchange -an $vg/$lv1 lvchange -ay $vg/$lv1 _add_data_to_lv -lvconvert --integrity y $vg/$lv1 -_wait_recalc $vg/$lv1 -lvs -a $vg +lvconvert --raidintegrity y $vg/$lv1 +_wait_recalc $vg/${lv1}_rimage_0 +_wait_recalc $vg/${lv1}_rimage_1 +lvs -a -o+devices $vg _verify_data_on_lv lvchange -an $vg/$lv1 -lvextend -L 512M $vg/$lv1 +lvextend -l 16 $vg/$lv1 lvchange -ay $vg/$lv1 _verify_data_on_lv -_wait_recalc $vg/$lv1 -lvs -a $vg -check lv_field $vg/${lv1}_imeta size "8.00m" +_wait_recalc $vg/${lv1}_rimage_0 +_wait_recalc $vg/${lv1}_rimage_1 +lvs -a -o+devices $vg lvchange -an $vg/$lv1 lvremove $vg/$lv1 vgremove -ff $vg + |