summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Teigland <teigland@redhat.com>2020-02-10 16:09:35 -0600
committerDavid Teigland <teigland@redhat.com>2020-02-10 16:09:35 -0600
commitb4fe2cdb9165c1d416cf82755f306b5ccc55c3dc (patch)
tree7a9b552e64803af476863417c41e8d973b1143cf
parent2d7ba55bd011702a51781d4fcc61601b3847a7a0 (diff)
downloadlvm2-b4fe2cdb9165c1d416cf82755f306b5ccc55c3dc.tar.gz
tests: integrity check sync_percent
-rw-r--r--test/shell/integrity.sh50
1 files changed, 30 insertions, 20 deletions
diff --git a/test/shell/integrity.sh b/test/shell/integrity.sh
index efc4a55ce..0e5fbdb4d 100644
--- a/test/shell/integrity.sh
+++ b/test/shell/integrity.sh
@@ -167,6 +167,26 @@ _verify_data_on_lv() {
umount $mnt
}
+_sync_percent() {
+ get lv_field $vg/$lv1 sync_percent | cut -d. -f1
+}
+
+_wait_recalc() {
+ for i in $(seq 1 10) ; do
+ sync=$(_sync_percent)
+ echo "sync_percent is $sync"
+
+ if test "$sync" = "100"; then
+ return
+ fi
+
+ sleep 1
+ done
+
+ echo "timeout waiting for recalc"
+ return 1
+}
+
_prepare_vg
lvcreate --integrity y -n $lv1 -l 8 $vg "$dev1"
_test_fs_with_error
@@ -236,8 +256,7 @@ vgremove -ff $vg
_prepare_vg
lvcreate --integrity y -n $lv1 -l 8 $vg
-# wait for recalc to finish
-sleep 8
+_wait_recalc
lvchange -an $vg/$lv1
lvchange -ay $vg/$lv1
_add_data_to_lv
@@ -249,8 +268,7 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid1 -m1 --integrity y -n $lv1 -l 8 $vg
-# wait for recalc to finish
-sleep 8
+_wait_recalc
lvchange -an $vg/$lv1
lvchange -ay $vg/$lv1
_add_data_to_lv
@@ -268,8 +286,7 @@ lvchange -an $vg/$lv1
lvchange -ay $vg/$lv1
_add_data_to_lv
lvconvert --integrity y $vg/$lv1
-# wait for recalc to finish
-sleep 8
+_wait_recalc
_verify_data_on_lv
lvchange -an $vg/$lv1
lvremove $vg/$lv1
@@ -281,8 +298,7 @@ lvchange -an $vg/$lv1
lvchange -ay $vg/$lv1
_add_data_to_lv
lvconvert --integrity y $vg/$lv1
-# wait for recalc to finish
-sleep 8
+_wait_recalc
_verify_data_on_lv
lvchange -an $vg/$lv1
lvremove $vg/$lv1
@@ -296,16 +312,14 @@ lvchange -an $vg/$lv1
lvchange -ay $vg/$lv1
_add_data_to_lv
lvconvert --integrity y $vg/$lv1
-# wait for recalc to finish
-sleep 8
+_wait_recalc
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 for recalc to finish
-sleep 8
+_wait_recalc
lvs -a $vg
lvchange -an $vg/$lv1
lvremove $vg/$lv1
@@ -317,16 +331,14 @@ lvchange -an $vg/$lv1
lvchange -ay $vg/$lv1
_add_data_to_lv
lvconvert --integrity y $vg/$lv1
-# wait for recalc to finish
-sleep 8
+_wait_recalc
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 for recalc to finish
-sleep 8
+_wait_recalc
lvs -a $vg
lvchange -an $vg/$lv1
lvremove $vg/$lv1
@@ -341,16 +353,14 @@ lvchange -an $vg/$lv1
lvchange -ay $vg/$lv1
_add_data_to_lv
lvconvert --integrity y $vg/$lv1
-# wait for recalc to finish
-sleep 8
+_wait_recalc
lvs -a $vg
_verify_data_on_lv
lvchange -an $vg/$lv1
lvextend -L 512M $vg/$lv1
lvchange -ay $vg/$lv1
_verify_data_on_lv
-# wait for recalc to finish
-sleep 8
+_wait_recalc
lvs -a $vg
check lv_field $vg/${lv1}_imeta size "8.00m"
lvchange -an $vg/$lv1