main - test: convert to use ext4
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=2043bb0e387ddec2f2b...
Commit: 2043bb0e387ddec2f2b1ad4cd0a93cfeb272bf85
Parent: b0f26a135b34f212f59818ea6cc85ce83ecb28bc
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Fri Apr 21 22:28:32 2023 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Sat Apr 22 11:25:39 2023 +0200
test: convert to use ext4
Modify test to check same properties with less demanding ext4.
---
test/shell/integrity-blocksize.sh | 101 ++++++++++++++++++--------------------
test/shell/integrity-misc.sh | 4 +-
2 files changed, 51 insertions(+), 54 deletions(-)
diff --git a/test/shell/integrity-blocksize.sh b/test/shell/integrity-blocksize.sh
index 55a618f7f..9fd77086f 100644
--- a/test/shell/integrity-blocksize.sh
+++ b/test/shell/integrity-blocksize.sh
@@ -40,7 +40,7 @@ mkdir -p $mnt
aux prepare_devs 1
vgcreate $vg "$dev1"
lvcreate -n $lv1 -l8 $vg
-mkfs.xfs -f "$DM_DEV_DIR/$vg/$lv1"
+mkfs.ext4 "$DM_DEV_DIR/$vg/$lv1"
blkid -p "$DM_DEV_DIR/$vg/$lv1" | grep BLOCK_SIZE || skip
lvchange -an $vg
vgremove -ff $vg
@@ -63,45 +63,39 @@ LOOP2=$(losetup -f loopb --show) || skip "Cannot find free loop device"
LOOP3=$(losetup -f loopc --sector-size 4096 --show) || skip "Loop cannot handle --sector-size 4096"
LOOP4=$(losetup -f loopd --sector-size 4096 --show) || skip "Loop cannot handle --sector-size 4096"
-echo $LOOP1
-echo $LOOP2
-echo $LOOP3
-echo $LOOP4
+echo "$LOOP1"
+echo "$LOOP2"
+echo "$LOOP3"
+echo "$LOOP4"
-aux extend_filter "a|$LOOP1|"
-aux extend_filter "a|$LOOP2|"
-aux extend_filter "a|$LOOP3|"
-aux extend_filter "a|$LOOP4|"
-aux extend_devices "$LOOP1"
-aux extend_devices "$LOOP2"
-aux extend_devices "$LOOP3"
-aux extend_devices "$LOOP4"
+aux extend_filter "a|$LOOP1|" "a|$LOOP2|" "a|$LOOP3|" "a|$LOOP4|"
+aux extend_devices "$LOOP1" "$LOOP2" "$LOOP3" "$LOOP4"
aux lvmconf 'devices/scan = "/dev"'
-vgcreate $vg1 $LOOP1 $LOOP2
-vgcreate $vg2 $LOOP3 $LOOP4
+vgcreate $vg1 "$LOOP1" "$LOOP2"
+vgcreate $vg2 "$LOOP3" "$LOOP4"
# LOOP1/LOOP2 have LBS 512 and PBS 512
# LOOP3/LOOP4 have LBS 4K and PBS 4K
-blockdev --getss $LOOP1
-blockdev --getpbsz $LOOP1
-blockdev --getss $LOOP2
-blockdev --getpbsz $LOOP2
-blockdev --getss $LOOP3
-blockdev --getpbsz $LOOP3
-blockdev --getss $LOOP4
-blockdev --getpbsz $LOOP4
+blockdev --getss "$LOOP1"
+blockdev --getpbsz "$LOOP1"
+blockdev --getss "$LOOP2"
+blockdev --getpbsz "$LOOP2"
+blockdev --getss "$LOOP3"
+blockdev --getpbsz "$LOOP3"
+blockdev --getss "$LOOP4"
+blockdev --getpbsz "$LOOP4"
# lvcreate on dev512, result 512
lvcreate --type raid1 -m1 --raidintegrity y -l 8 -n $lv1 $vg1
-pvck --dump metadata $LOOP1 | grep 'block_size = 512'
+pvck --dump metadata "$LOOP1" | grep 'block_size = 512'
lvremove -y $vg1/$lv1
# lvcreate on dev4k, result 4k
lvcreate --type raid1 -m1 --raidintegrity y -l 8 -n $lv1 $vg2
-pvck --dump metadata $LOOP3 | grep 'block_size = 4096'
+pvck --dump metadata "$LOOP3" | grep 'block_size = 4096'
lvremove -y $vg2/$lv1
# lvcreate --bs 512 on dev4k, result fail
@@ -110,7 +104,7 @@ not lvcreate --type raid1 -m1 --raidintegrity y --raidintegrityblocksize 512 -l
# lvcreate --bs 4096 on dev512, result 4k
lvcreate --type raid1 -m1 --raidintegrity y --raidintegrityblocksize 4096 -l 8 -n $lv1 $vg1
lvs -o raidintegrityblocksize $vg1/$lv1 | grep 4096
-pvck --dump metadata $LOOP1 | grep 'block_size = 4096'
+pvck --dump metadata "$LOOP1" | grep 'block_size = 4096'
lvremove -y $vg1/$lv1
# Test an unknown fs block size by simply not creating a fs on the lv.
@@ -120,7 +114,7 @@ lvcreate --type raid1 -m1 -l 8 -n $lv1 $vg1
# clear any residual fs so that libblkid cannot find an fs block size
aux wipefs_a /dev/$vg1/$lv1
lvconvert --raidintegrity y $vg1/$lv1
-pvck --dump metadata $LOOP1 | grep 'block_size = 512'
+pvck --dump metadata "$LOOP1" | grep 'block_size = 512'
lvremove -y $vg1/$lv1
# lvconvert on dev4k, fsunknown, result 4k
@@ -145,22 +139,23 @@ aux wipefs_a /dev/$vg2/$lv1
not lvconvert --raidintegrity y --raidintegrityblocksize 512 $vg2/$lv1
lvremove -y $vg2/$lv1
-# lvconvert on dev512, xfs 512, result 512
+# lvconvert on dev512, ext4 1024, result 1024
lvcreate --type raid1 -m1 -l 8 -n $lv1 $vg1
aux wipefs_a /dev/$vg1/$lv1
-mkfs.xfs -f "$DM_DEV_DIR/$vg1/$lv1"
-blkid -p "$DM_DEV_DIR/$vg1/$lv1" | grep BLOCK_SIZE=\"512\"
+mkfs.ext4 "$DM_DEV_DIR/$vg1/$lv1"
+blkid -p "$DM_DEV_DIR/$vg1/$lv1" | tee out
+grep BLOCK_SIZE=\"1024\" out
lvconvert --raidintegrity y $vg1/$lv1
-blkid -p "$DM_DEV_DIR/$vg1/$lv1" | grep BLOCK_SIZE=\"512\"
+blkid -p "$DM_DEV_DIR/$vg1/$lv1" | grep BLOCK_SIZE=\"1024\"
mount "$DM_DEV_DIR/$vg1/$lv1" $mnt
umount $mnt
-pvck --dump metadata $LOOP1 | grep 'block_size = 512'
+pvck --dump metadata "$LOOP1" | grep 'block_size = 512'
lvremove -y $vg1/$lv1
-# lvconvert on dev4k, xfs 4096, result 4096
+# lvconvert on dev4k, ext4 4096, result 4096
lvcreate --type raid1 -m1 -l 8 -n $lv1 $vg2
aux wipefs_a /dev/$vg2/$lv1
-mkfs.xfs -f "$DM_DEV_DIR/$vg2/$lv1"
+mkfs.ext4 "$DM_DEV_DIR/$vg2/$lv1"
blkid -p "$DM_DEV_DIR/$vg2/$lv1" | grep BLOCK_SIZE=\"4096\"
lvconvert --raidintegrity y $vg2/$lv1
blkid -p "$DM_DEV_DIR/$vg2/$lv1" | grep BLOCK_SIZE=\"4096\"
@@ -178,7 +173,7 @@ lvconvert --raidintegrity y $vg1/$lv1
blkid -p "$DM_DEV_DIR/$vg1/$lv1" | grep BLOCK_SIZE=\"1024\"
mount "$DM_DEV_DIR/$vg1/$lv1" $mnt
umount $mnt
-pvck --dump metadata $LOOP1 | grep 'block_size = 512'
+pvck --dump metadata "$LOOP1" | grep 'block_size = 512'
lvremove -y $vg1/$lv1
# lvconvert on dev512, ext4 1024, result 1024 (LV inactive when adding)
@@ -192,7 +187,7 @@ lvchange -ay $vg1/$lv1
blkid -p "$DM_DEV_DIR/$vg1/$lv1" | grep BLOCK_SIZE=\"1024\"
mount "$DM_DEV_DIR/$vg1/$lv1" $mnt
umount $mnt
-pvck --dump metadata $LOOP1 | grep 'block_size = 1024'
+pvck --dump metadata "$LOOP1" | grep 'block_size = 1024'
lvremove -y $vg1/$lv1
# lvconvert on dev4k, ext4 4096, result 4096
@@ -204,26 +199,26 @@ lvconvert --raidintegrity y $vg2/$lv1
blkid -p "$DM_DEV_DIR/$vg2/$lv1" | grep BLOCK_SIZE=\"4096\"
mount "$DM_DEV_DIR/$vg2/$lv1" $mnt
umount $mnt
-pvck --dump metadata $LOOP3 | grep 'block_size = 4096'
+pvck --dump metadata "$LOOP3" | grep 'block_size = 4096'
lvremove -y $vg2/$lv1
-# lvconvert --bs 512 on dev512, xfs 4096, result 512
+# lvconvert --bs 512 on dev512, ext4 4096, result 512
lvcreate --type raid1 -m1 -l 8 -n $lv1 $vg1
aux wipefs_a /dev/$vg1/$lv1
-mkfs.xfs -f -s size=4096 "$DM_DEV_DIR/$vg1/$lv1"
+mkfs.ext4 -b 4096 "$DM_DEV_DIR/$vg1/$lv1"
blkid -p "$DM_DEV_DIR/$vg1/$lv1" | grep BLOCK_SIZE=\"4096\"
lvconvert --raidintegrity y --raidintegrityblocksize 512 $vg1/$lv1
lvs -o raidintegrityblocksize $vg1/$lv1 | grep 512
blkid -p "$DM_DEV_DIR/$vg1/$lv1" | grep BLOCK_SIZE=\"4096\"
mount "$DM_DEV_DIR/$vg1/$lv1" $mnt
umount $mnt
-pvck --dump metadata $LOOP1 | grep 'block_size = 512'
+pvck --dump metadata "$LOOP1" | grep 'block_size = 512'
lvremove -y $vg1/$lv1
-# lvconvert --bs 1024 on dev512, xfs 4096, result 1024
+# lvconvert --bs 1024 on dev512, ext4 4096, result 1024
lvcreate --type raid1 -m1 -l 8 -n $lv1 $vg1
aux wipefs_a /dev/$vg1/$lv1
-mkfs.xfs -f -s size=4096 "$DM_DEV_DIR/$vg1/$lv1"
+mkfs.ext4 -b 4096 "$DM_DEV_DIR/$vg1/$lv1"
blkid -p "$DM_DEV_DIR/$vg1/$lv1" | grep BLOCK_SIZE=\"4096\"
lvchange -an $vg1/$lv1
# lv needs to be inactive to increase LBS from 512
@@ -233,7 +228,7 @@ lvchange -ay $vg1/$lv1
blkid -p "$DM_DEV_DIR/$vg1/$lv1" | grep BLOCK_SIZE=\"4096\"
mount "$DM_DEV_DIR/$vg1/$lv1" $mnt
umount $mnt
-pvck --dump metadata $LOOP1 | grep 'block_size = 1024'
+pvck --dump metadata "$LOOP1" | grep 'block_size = 1024'
lvremove -y $vg1/$lv1
# lvconvert --bs 512 on dev512, ext4 1024, result 512
@@ -245,7 +240,7 @@ lvconvert --raidintegrity y --raidintegrityblocksize 512 $vg1/$lv1
blkid -p "$DM_DEV_DIR/$vg1/$lv1" | grep BLOCK_SIZE=\"1024\"
mount "$DM_DEV_DIR/$vg1/$lv1" $mnt
umount $mnt
-pvck --dump metadata $LOOP1 | grep 'block_size = 512'
+pvck --dump metadata "$LOOP1" | grep 'block_size = 512'
lvremove -y $vg1/$lv1
# lvconvert --bs 512 on dev4k, ext4 4096, result fail
@@ -260,29 +255,30 @@ lvremove -y $vg2/$lv1
# TODO: lvconvert --bs 512, fsunknown, LBS 512, PBS 4k: result 512
# TODO: lvconvert --bs 4k, fsunknown, LBS 512, PBS 4k: result 4k
-# lvconvert on dev512, xfs 512, result 512, (detect fs with LV inactive)
+# lvconvert on dev512, ext4 1024, result 1024, (detect fs with LV inactive)
lvcreate --type raid1 -m1 -l 8 -n $lv1 $vg1
aux wipefs_a /dev/$vg1/$lv1
-mkfs.xfs -f "$DM_DEV_DIR/$vg1/$lv1"
+mkfs.ext4 "$DM_DEV_DIR/$vg1/$lv1"
mount "$DM_DEV_DIR/$vg1/$lv1" $mnt
echo "test" > $mnt/test
umount $mnt
-blkid -p "$DM_DEV_DIR/$vg1/$lv1" | grep BLOCK_SIZE=\"512\"
+blkid -p "$DM_DEV_DIR/$vg1/$lv1" | grep BLOCK_SIZE=\"1024\"
lvchange -an $vg1/$lv1
lvconvert --raidintegrity y $vg1/$lv1
lvchange -ay $vg1/$lv1
mount "$DM_DEV_DIR/$vg1/$lv1" $mnt
cat $mnt/test
umount $mnt
-blkid -p "$DM_DEV_DIR/$vg1/$lv1" | grep BLOCK_SIZE=\"512\"
-pvck --dump metadata $LOOP1 | grep 'block_size = 512'
+blkid -p "$DM_DEV_DIR/$vg1/$lv1" | grep BLOCK_SIZE=\"1024\"
+pvck --dump metadata "$LOOP1" | tee out
+grep 'block_size = 1024' out
lvchange -an $vg1/$lv1
lvremove -y $vg1/$lv1
-# lvconvert on dev4k, xfs 4096, result 4096 (detect fs with LV inactive)
+# lvconvert on dev4k, ext4 4096, result 4096 (detect fs with LV inactive)
lvcreate --type raid1 -m1 -l 8 -n $lv1 $vg2
aux wipefs_a /dev/$vg2/$lv1
-mkfs.xfs -f "$DM_DEV_DIR/$vg2/$lv1"
+mkfs.ext4 "$DM_DEV_DIR/$vg2/$lv1"
mount "$DM_DEV_DIR/$vg2/$lv1" $mnt
echo "test" > $mnt/test
umount $mnt
@@ -294,7 +290,8 @@ mount "$DM_DEV_DIR/$vg2/$lv1" $mnt
cat $mnt/test
umount $mnt
blkid -p "$DM_DEV_DIR/$vg2/$lv1" | grep BLOCK_SIZE=\"4096\"
-pvck --dump metadata $LOOP3 | grep 'block_size = 4096'
+pvck --dump metadata "$LOOP3" | tee out
+grep 'block_size = 4096' out
lvchange -an $vg2/$lv1
lvremove -y $vg2/$lv1
diff --git a/test/shell/integrity-misc.sh b/test/shell/integrity-misc.sh
index e6c108a0f..37f272cd0 100644
--- a/test/shell/integrity-misc.sh
+++ b/test/shell/integrity-misc.sh
@@ -14,7 +14,7 @@ SKIP_WITH_LVMPOLLD=1
. lib/inittest
-which mkfs.xfs || skip
+which mkfs.ext4 || skip
aux have_integrity 1 5 0 || skip
# Avoid 4K ramdisk devices on older kernels
aux kernel_at_least 5 10 || export LVM_TEST_PREFER_BRD=0
@@ -41,7 +41,7 @@ _prepare_vg() {
}
_add_new_data_to_mnt() {
- mkfs.xfs -f "$DM_DEV_DIR/$vg/$lv1"
+ mkfs.ext4 "$DM_DEV_DIR/$vg/$lv1"
mount "$DM_DEV_DIR/$vg/$lv1" $mnt
5 months, 1 week
main - aux: don't use to new dd options
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=b0f26a135b34f212f59...
Commit: b0f26a135b34f212f59818ea6cc85ce83ecb28bc
Parent: 8bcf46a0acfa500b4fb586cba254ca3930389d3d
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Fri Apr 21 22:01:40 2023 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Fri Apr 21 22:01:40 2023 +0200
aux: don't use to new dd options
Actually oseek comes only with rawhide's version,
just use the standard option name.
---
test/lib/aux.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/test/lib/aux.sh b/test/lib/aux.sh
index 62635ce84..d6689e3b8 100644
--- a/test/lib/aux.sh
+++ b/test/lib/aux.sh
@@ -923,7 +923,7 @@ cleanup_idm_context() {
# TODO: add support for parametrized [OPTION] usage (Not usable ATM)
# TODO: -bs blocksize (defaults 512K)
# TODO: -count count/length (defaults to whole device, otherwise in BS units)
-# TODO: -seek offset/oseek (defaults 0, begining of zeroing area in BS unit)
+# TODO: -seek offset/seek (defaults 0, begining of zeroing area in BS unit)
clear_devs() {
local bs=
local count=
@@ -968,7 +968,7 @@ corrupt_dev() {
test -n "${a[0]-}" || return 0
# Seek for the sequence and replace it with corruption pattern
- echo -n "${a[1]/$2/$3}" | dd of="$1" bs=1 oseek="${a[0]}" conv=fdatasync
+ echo -n "${a[1]/$2/$3}" | dd of="$1" bs=1 seek="${a[0]}" conv=fdatasync
}
prepare_backing_dev() {
5 months, 1 week
main - tests: add data sync
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=8bcf46a0acfa500b4fb...
Commit: 8bcf46a0acfa500b4fb586cba254ca3930389d3d
Parent: 80ebec099dbb20e46655958e1ca7fcfd466b78d8
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Fri Apr 21 14:51:47 2023 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Fri Apr 21 14:52:43 2023 +0200
tests: add data sync
---
test/shell/thin-foreign-dmeventd.sh | 2 ++
1 file changed, 2 insertions(+)
diff --git a/test/shell/thin-foreign-dmeventd.sh b/test/shell/thin-foreign-dmeventd.sh
index 561cea885..76995a3d0 100644
--- a/test/shell/thin-foreign-dmeventd.sh
+++ b/test/shell/thin-foreign-dmeventd.sh
@@ -70,6 +70,8 @@ mkdir "$MOUNT_DIR"
# This mkfs should fill 2MB pool over 95%
# no autoresize is configured
mkfs.ext4 "$DM_DEV_DIR/mapper/$THIN"
+# ensure all data from mkfs are written to disk
+sync
test "$(percent_)" -gt 95
mount "$DM_DEV_DIR/mapper/$THIN" "$MOUNT_DIR"
5 months, 1 week
main - aux: add wait_recalc
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=80ebec099dbb20e4665...
Commit: 80ebec099dbb20e46655958e1ca7fcfd466b78d8
Parent: 4e0aab74288390b633c25c1bcf3efdb127e3a364
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Thu Apr 20 17:08:42 2023 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Fri Apr 21 14:52:43 2023 +0200
aux: add wait_recalc
Share function across tests.
---
test/lib/aux.sh | 25 ++++
test/shell/integrity-blocksize-2.sh | 43 +-----
test/shell/integrity-blocksize-3.sh | 67 +++------
test/shell/integrity-caching.sh | 154 ++++++++------------
test/shell/integrity-dmeventd.sh | 61 ++------
test/shell/integrity-large.sh | 43 +-----
test/shell/integrity-syncaction.sh | 55 ++-----
test/shell/integrity.sh | 282 ++++++++++++++++--------------------
8 files changed, 268 insertions(+), 462 deletions(-)
diff --git a/test/lib/aux.sh b/test/lib/aux.sh
index 33710a007..62635ce84 100644
--- a/test/lib/aux.sh
+++ b/test/lib/aux.sh
@@ -1757,6 +1757,31 @@ wait_for_sync() {
return 1
}
+wait_recalc() {
+ local checklv=$1
+
+ for i in {1..100} ; do
+ sync=$(get lv_field "$checklv" sync_percent | cut -d. -f1)
+ echo "sync_percent is $sync"
+
+ test "$sync" = "100" && return
+
+ sleep .1
+ done
+
+ # TODO: There is some strange bug, first leg of RAID with integrity
+ # enabled never gets in sync. I saw this in BB, but not when executing
+ # the commands manually
+# if test -z "$sync"; then
+# echo "TEST\ WARNING: Resync of dm-integrity device '$checklv' failed"
+# dmsetup status "$DM_DEV_DIR/mapper/${checklv/\//-}"
+# exit
+# fi
+ echo "Timeout waiting for recalc"
+ dmsetup status "$DM_DEV_DIR/mapper/${checklv/\//-}"
+ return 1
+}
+
# Check if tests are running on 64bit architecture
can_use_16T() {
test "$(getconf LONG_BIT)" -eq 64
diff --git a/test/shell/integrity-blocksize-2.sh b/test/shell/integrity-blocksize-2.sh
index b2e0fb06e..14c3bb17d 100644
--- a/test/shell/integrity-blocksize-2.sh
+++ b/test/shell/integrity-blocksize-2.sh
@@ -21,37 +21,6 @@ aux kernel_at_least 5 10 || export LVM_TEST_PREFER_BRD=0
mnt="mnt"
mkdir -p $mnt
-_sync_percent() {
- local checklv=$1
- get lv_field "$checklv" sync_percent | cut -d. -f1
-}
-
-_wait_recalc() {
- local checklv=$1
-
- for i in $(seq 1 10) ; do
- sync=$(_sync_percent "$checklv")
- echo "sync_percent is $sync"
-
- if test "$sync" = "100"; then
- return
- fi
-
- sleep 1
- done
-
- # TODO: There is some strange bug, first leg of RAID with integrity
- # enabled never gets in sync. I saw this in BB, but not when executing
- # the commands manually
- if test -z "$sync"; then
- echo "TEST\ WARNING: Resync of dm-integrity device '$checklv' failed"
- dmsetup status "$DM_DEV_DIR/mapper/${checklv/\//-}"
- exit
- fi
- echo "timeout waiting for recalc"
- return 1
-}
-
# prepare_devs uses ramdisk backing which has 512 LBS and 4K PBS
# This should cause mkfs.xfs to use 4K sector size,
# and integrity to use 4K block size
@@ -74,8 +43,8 @@ umount $mnt
lvchange -an $vg
lvconvert --raidintegrity y $vg/$lv1
lvchange -ay $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
lvs -a -o+devices $vg
mount "$DM_DEV_DIR/$vg/$lv1" $mnt
cat $mnt/hello
@@ -95,8 +64,8 @@ umount $mnt
lvchange -an $vg
lvchange -ay $vg
lvconvert --raidintegrity y $vg/$lv1
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
lvs -a -o+devices $vg
mount "$DM_DEV_DIR/$vg/$lv1" $mnt
cat $mnt/hello | grep "hello world"
@@ -113,8 +82,8 @@ mkfs.ext4 "$DM_DEV_DIR/$vg/$lv1"
mount "$DM_DEV_DIR/$vg/$lv1" $mnt
echo "hello world" > $mnt/hello
lvconvert --raidintegrity y $vg/$lv1
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
lvs -a -o+devices $vg
cat $mnt/hello | grep "hello world"
umount $mnt
diff --git a/test/shell/integrity-blocksize-3.sh b/test/shell/integrity-blocksize-3.sh
index 300cc1895..f86d7f7da 100644
--- a/test/shell/integrity-blocksize-3.sh
+++ b/test/shell/integrity-blocksize-3.sh
@@ -19,37 +19,6 @@ aux have_integrity 1 5 0 || skip
mnt="mnt"
mkdir -p $mnt
-_sync_percent() {
- local checklv=$1
- get lv_field "$checklv" sync_percent | cut -d. -f1
-}
-
-_wait_recalc() {
- local checklv=$1
-
- for i in $(seq 1 10) ; do
- sync=$(_sync_percent "$checklv")
- echo "sync_percent is $sync"
-
- if test "$sync" = "100"; then
- return
- fi
-
- sleep 1
- done
-
- # TODO: There is some strange bug, first leg of RAID with integrity
- # enabled never gets in sync. I saw this in BB, but not when executing
- # the commands manually
- if test -z "$sync"; then
- echo "TEST\ WARNING: Resync of dm-integrity device '$checklv' failed"
- dmsetup status "$DM_DEV_DIR/mapper/${checklv/\//-}"
- exit
- fi
- echo "timeout waiting for recalc"
- return 1
-}
-
# scsi_debug devices with 512 LBS 512 PBS
aux prepare_scsi_debug_dev 256
check sysfs "$(< SCSI_DEBUG_DEV)" queue/logical_block_size "512"
@@ -73,8 +42,8 @@ umount $mnt
lvchange -an $vg
lvconvert --raidintegrity y $vg/$lv1
lvchange -ay $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
lvs -a -o+devices $vg
mount "$DM_DEV_DIR/$vg/$lv1" $mnt
cat $mnt/hello
@@ -93,8 +62,8 @@ umount $mnt
lvchange -an $vg
lvchange -ay $vg
lvconvert --raidintegrity y $vg/$lv1
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
lvs -a -o+devices $vg
mount "$DM_DEV_DIR/$vg/$lv1" $mnt
cat $mnt/hello | grep "hello world"
@@ -110,8 +79,8 @@ mkfs.ext4 "$DM_DEV_DIR/$vg/$lv1"
mount "$DM_DEV_DIR/$vg/$lv1" $mnt
echo "hello world" > $mnt/hello
lvconvert --raidintegrity y $vg/$lv1
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
lvs -a -o+devices $vg
cat $mnt/hello | grep "hello world"
umount $mnt
@@ -150,8 +119,8 @@ umount $mnt
lvchange -an $vg
lvconvert --raidintegrity y $vg/$lv1
lvchange -ay $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
lvs -a -o+devices $vg
mount "$DM_DEV_DIR/$vg/$lv1" $mnt
cat $mnt/hello
@@ -170,8 +139,8 @@ umount $mnt
lvchange -an $vg
lvchange -ay $vg
lvconvert --raidintegrity y $vg/$lv1
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
lvs -a -o+devices $vg
mount "$DM_DEV_DIR/$vg/$lv1" $mnt
cat $mnt/hello | grep "hello world"
@@ -187,8 +156,8 @@ mkfs.ext4 "$DM_DEV_DIR/$vg/$lv1"
mount "$DM_DEV_DIR/$vg/$lv1" $mnt
echo "hello world" > $mnt/hello
lvconvert --raidintegrity y $vg/$lv1
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
lvs -a -o+devices $vg
cat $mnt/hello | grep "hello world"
umount $mnt
@@ -227,8 +196,8 @@ umount $mnt
lvchange -an $vg
lvconvert --raidintegrity y $vg/$lv1
lvchange -ay $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
lvs -a -o+devices $vg
mount "$DM_DEV_DIR/$vg/$lv1" $mnt
cat $mnt/hello
@@ -248,8 +217,8 @@ umount $mnt
lvchange -an $vg
lvchange -ay $vg
lvconvert --raidintegrity y $vg/$lv1
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
lvs -a -o+devices $vg
mount "$DM_DEV_DIR/$vg/$lv1" $mnt
cat $mnt/hello | grep "hello world"
@@ -266,8 +235,8 @@ mkfs.ext4 "$DM_DEV_DIR/$vg/$lv1"
mount "$DM_DEV_DIR/$vg/$lv1" $mnt
echo "hello world" > $mnt/hello
lvconvert --raidintegrity y $vg/$lv1
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
lvs -a -o+devices $vg
cat $mnt/hello | grep "hello world"
umount $mnt
diff --git a/test/shell/integrity-caching.sh b/test/shell/integrity-caching.sh
index 71740dfb5..52aec98ce 100644
--- a/test/shell/integrity-caching.sh
+++ b/test/shell/integrity-caching.sh
@@ -145,38 +145,6 @@ _verify_data_on_lv() {
lvchange -an $vg/$lv1
}
-_sync_percent() {
- local checklv=$1
- get lv_field "$checklv" sync_percent | cut -d. -f1
-}
-
-_wait_recalc() {
- local checklv=$1
-
- for i in $(seq 1 10) ; do
- sync=$(_sync_percent "$checklv")
- echo "sync_percent is $sync"
-
- if test "$sync" = "100"; then
- return
- fi
-
- sleep 1
- done
-
- # TODO: There is some strange bug, first leg of RAID with integrity
- # enabled never gets in sync. I saw this in BB, but not when executing
- # the commands manually
-# if test -z "$sync"; then
-# echo "TEST\ WARNING: Resync of dm-integrity device '$checklv' failed"
-# dmsetup status "$DM_DEV_DIR/mapper/${checklv/\//-}"
-# exit
-# fi
- echo "timeout waiting for recalc"
- dmsetup status "$DM_DEV_DIR/mapper/${checklv/\//-}"
- return 1
-}
-
# lv1 is a raid+integrity LV
# three variations of caching on lv1:
#
@@ -208,9 +176,9 @@ lvcreate --type raid1 -m1 --raidintegrity y -n $lv1 -l 8 $vg "$dev1" "$dev2"
lvcreate --type $create_type -n fast -l 4 -an $vg "$dev6"
lvconvert -y --type $convert_type $convert_option fast $vg/$lv1
lvs -a -o name,size,segtype,devices,sync_percent $vg
-_wait_recalc $vg/${lv1}_${suffix}_rimage_0
-_wait_recalc $vg/${lv1}_${suffix}_rimage_1
-_wait_recalc $vg/${lv1}_${suffix}
+aux wait_recalc $vg/${lv1}_${suffix}_rimage_0
+aux wait_recalc $vg/${lv1}_${suffix}_rimage_1
+aux wait_recalc $vg/${lv1}_${suffix}
_test_fs_with_read_repair "$dev1"
lvs -o integritymismatches $vg/${lv1}_${suffix}_rimage_0 |tee mismatch
not grep ' 0 ' mismatch
@@ -227,10 +195,10 @@ lvcreate --type raid1 -m2 --raidintegrity y -n $lv1 -l 8 $vg "$dev1" "$dev2" "$d
lvcreate --type $create_type -n fast -l 4 -an $vg "$dev6"
lvconvert -y --type $convert_type $convert_option fast $vg/$lv1
lvs -a -o name,size,segtype,devices,sync_percent $vg
-_wait_recalc $vg/${lv1}_${suffix}_rimage_0
-_wait_recalc $vg/${lv1}_${suffix}_rimage_1
-_wait_recalc $vg/${lv1}_${suffix}_rimage_2
-_wait_recalc $vg/${lv1}_${suffix}
+aux wait_recalc $vg/${lv1}_${suffix}_rimage_0
+aux wait_recalc $vg/${lv1}_${suffix}_rimage_1
+aux wait_recalc $vg/${lv1}_${suffix}_rimage_2
+aux wait_recalc $vg/${lv1}_${suffix}
_test_fs_with_read_repair "$dev1" "$dev2"
lvs -o integritymismatches $vg/${lv1}_${suffix}_rimage_0 |tee mismatch
not grep ' 0 ' mismatch
@@ -247,10 +215,10 @@ lvcreate --type raid5 --raidintegrity y -n $lv1 -I4 -l 8 $vg "$dev1" "$dev2" "$d
lvcreate --type $create_type -n fast -l 4 -an $vg "$dev6"
lvconvert -y --type $convert_type $convert_option fast $vg/$lv1
lvs -a -o name,size,segtype,devices,sync_percent $vg
-_wait_recalc $vg/${lv1}_${suffix}_rimage_0
-_wait_recalc $vg/${lv1}_${suffix}_rimage_1
-_wait_recalc $vg/${lv1}_${suffix}_rimage_2
-_wait_recalc $vg/${lv1}_${suffix}
+aux wait_recalc $vg/${lv1}_${suffix}_rimage_0
+aux wait_recalc $vg/${lv1}_${suffix}_rimage_1
+aux wait_recalc $vg/${lv1}_${suffix}_rimage_2
+aux wait_recalc $vg/${lv1}_${suffix}
_test_fs_with_read_repair "$dev1" "$dev2" "$dev3"
lvs -o integritymismatches $vg/${lv1}_${suffix}_rimage_0
lvs -o integritymismatches $vg/${lv1}_${suffix}_rimage_1
@@ -270,9 +238,9 @@ lvcreate --type raid1 -m1 --raidintegrity y -n $lv1 -l 8 $vg
lvcreate --type $create_type -n fast -l 4 -an $vg "$dev6"
lvconvert -y --type $convert_type $convert_option fast $vg/$lv1
lvs -a -o name,size,segtype,devices,sync_percent $vg
-_wait_recalc $vg/${lv1}_${suffix}_rimage_0
-_wait_recalc $vg/${lv1}_${suffix}_rimage_1
-_wait_recalc $vg/${lv1}_${suffix}
+aux wait_recalc $vg/${lv1}_${suffix}_rimage_0
+aux wait_recalc $vg/${lv1}_${suffix}_rimage_1
+aux wait_recalc $vg/${lv1}_${suffix}
_add_new_data_to_mnt
lvconvert --raidintegrity n $vg/${lv1}_${suffix}
_add_more_data_to_mnt
@@ -288,15 +256,15 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid1 -m1 -n $lv1 -l 8 $vg
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/$lv1
lvcreate --type $create_type -n fast -l 4 -an $vg "$dev6"
lvconvert -y --type $convert_type $convert_option fast $vg/$lv1
lvs -a -o name,size,segtype,devices,sync_percent $vg
_add_new_data_to_mnt
# Can only be enabled while raid is top level lv (for now.)
not lvconvert --raidintegrity y $vg/${lv1}_${suffix}
-#_wait_recalc $vg/${lv1}_${suffix}_rimage_0
-#_wait_recalc $vg/${lv1}_${suffix}_rimage_1
+#aux wait_recalc $vg/${lv1}_${suffix}_rimage_0
+#aux wait_recalc $vg/${lv1}_${suffix}_rimage_1
_add_more_data_to_mnt
_verify_data_on_mnt
umount $mnt
@@ -309,9 +277,9 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid1 -m1 --raidintegrity y -n $lv1 -l 8 $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/$lv1
lvcreate --type $create_type -n fast -l 4 -an $vg "$dev6"
lvconvert -y --type $convert_type $convert_option fast $vg/$lv1
lvs -a -o name,size,segtype,devices,sync_percent $vg
@@ -322,8 +290,8 @@ lvextend -l 16 $vg/$lv1
lvchange -ay $vg/$lv1
mount "$DM_DEV_DIR/$vg/$lv1" $mnt
resize2fs "$DM_DEV_DIR/$vg/$lv1"
-_wait_recalc $vg/${lv1}_${suffix}_rimage_0
-_wait_recalc $vg/${lv1}_${suffix}_rimage_1
+aux wait_recalc $vg/${lv1}_${suffix}_rimage_0
+aux wait_recalc $vg/${lv1}_${suffix}_rimage_1
_add_more_data_to_mnt
_verify_data_on_mnt
umount $mnt
@@ -336,17 +304,17 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid1 -m1 --raidintegrity y -n $lv1 -l 8 $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/$lv1
lvcreate --type $create_type -n fast -l 4 -an $vg "$dev6"
lvconvert -y --type $convert_type $convert_option fast $vg/$lv1
lvs -a -o name,size,segtype,devices,sync_percent $vg
_add_new_data_to_mnt
lvextend -l 16 $vg/$lv1
resize2fs "$DM_DEV_DIR/$vg/$lv1"
-_wait_recalc $vg/${lv1}_${suffix}_rimage_0
-_wait_recalc $vg/${lv1}_${suffix}_rimage_1
+aux wait_recalc $vg/${lv1}_${suffix}_rimage_0
+aux wait_recalc $vg/${lv1}_${suffix}_rimage_1
_add_more_data_to_mnt
_verify_data_on_mnt
umount $mnt
@@ -357,18 +325,18 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid5 --raidintegrity y -n $lv1 -I4 -l 8 $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/${lv1}_rimage_2
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_2
+aux wait_recalc $vg/$lv1
lvcreate --type $create_type -n fast -l 4 -an $vg "$dev6"
lvconvert -y --type $convert_type $convert_option fast $vg/$lv1
lvs -a -o name,size,segtype,devices,sync_percent $vg
_add_new_data_to_mnt
lvextend -l 16 $vg/$lv1
resize2fs "$DM_DEV_DIR/$vg/$lv1"
-_wait_recalc $vg/${lv1}_${suffix}_rimage_0
-_wait_recalc $vg/${lv1}_${suffix}_rimage_1
+aux wait_recalc $vg/${lv1}_${suffix}_rimage_0
+aux wait_recalc $vg/${lv1}_${suffix}_rimage_1
_add_more_data_to_mnt
_verify_data_on_mnt
umount $mnt
@@ -381,18 +349,18 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid1 -m1 --raidintegrity y -n $lv1 -l 8 $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/$lv1
lvcreate --type $create_type -n fast -l 4 -an $vg "$dev6"
lvconvert -y --type $convert_type $convert_option fast $vg/$lv1
lvs -a -o name,size,segtype,devices,sync_percent $vg
_add_new_data_to_mnt
# currently only allowed while raid is top level lv
not lvconvert -y -m+1 $vg/${lv1}_${suffix}
-#_wait_recalc $vg/${lv1}_${suffix}_rimage_0
-#_wait_recalc $vg/${lv1}_${suffix}_rimage_1
-#_wait_recalc $vg/${lv1}_${suffix}_rimage_2
+#aux wait_recalc $vg/${lv1}_${suffix}_rimage_0
+#aux wait_recalc $vg/${lv1}_${suffix}_rimage_1
+#aux wait_recalc $vg/${lv1}_${suffix}_rimage_2
_add_more_data_to_mnt
_verify_data_on_mnt
umount $mnt
@@ -405,10 +373,10 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid1 -m2 --raidintegrity y -n $lv1 -l 8 $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/${lv1}_rimage_2
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_2
+aux wait_recalc $vg/$lv1
lvcreate --type $create_type -n fast -l 4 -an $vg "$dev6"
lvconvert -y --type $convert_type $convert_option fast $vg/$lv1
lvs -a -o name,size,segtype,devices,sync_percent $vg
@@ -427,9 +395,9 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid1 -m1 --raidintegrity y -n $lv1 -l 8 $vg "$dev1" "$dev2"
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/$lv1
lvcreate --type $create_type -n fast -l 4 -an $vg "$dev6"
lvconvert -y --type $convert_type $convert_option fast $vg/$lv1
lvs -a -o name,size,segtype,devices,sync_percent $vg
@@ -466,9 +434,9 @@ lvcreate --type raid1 -m1 --raidintegrity y --raidintegritymode bitmap -n $lv1 -
lvcreate --type $create_type -n fast -l 4 -an $vg "$dev6"
lvconvert -y --type $convert_type $convert_option fast $vg/$lv1
lvs -a -o name,size,segtype,devices,sync_percent $vg
-_wait_recalc $vg/${lv1}_${suffix}_rimage_0
-_wait_recalc $vg/${lv1}_${suffix}_rimage_1
-_wait_recalc $vg/${lv1}_${suffix}
+aux wait_recalc $vg/${lv1}_${suffix}_rimage_0
+aux wait_recalc $vg/${lv1}_${suffix}_rimage_1
+aux wait_recalc $vg/${lv1}_${suffix}
_test_fs_with_read_repair "$dev1"
lvs -o integritymismatches $vg/${lv1}_${suffix}_rimage_0 |tee mismatch
not grep ' 0 ' mismatch
@@ -484,12 +452,12 @@ lvcreate --type raid6 --raidintegrity y --raidintegritymode bitmap -n $lv1 -I4 -
lvcreate --type $create_type -n fast -l 4 -an $vg "$dev6"
lvconvert -y --type $convert_type $convert_option fast $vg/$lv1
lvs -a -o name,size,segtype,devices,sync_percent $vg
-_wait_recalc $vg/${lv1}_${suffix}_rimage_0
-_wait_recalc $vg/${lv1}_${suffix}_rimage_1
-_wait_recalc $vg/${lv1}_${suffix}_rimage_2
-_wait_recalc $vg/${lv1}_${suffix}_rimage_3
-_wait_recalc $vg/${lv1}_${suffix}_rimage_4
-_wait_recalc $vg/${lv1}_${suffix}
+aux wait_recalc $vg/${lv1}_${suffix}_rimage_0
+aux wait_recalc $vg/${lv1}_${suffix}_rimage_1
+aux wait_recalc $vg/${lv1}_${suffix}_rimage_2
+aux wait_recalc $vg/${lv1}_${suffix}_rimage_3
+aux wait_recalc $vg/${lv1}_${suffix}_rimage_4
+aux wait_recalc $vg/${lv1}_${suffix}
_test_fs_with_read_repair "$dev1" "$dev2" "$dev3" "$dev4" "$dev5"
lvs -o integritymismatches $vg/${lv1}_${suffix}_rimage_0
lvs -o integritymismatches $vg/${lv1}_${suffix}_rimage_1
@@ -506,9 +474,9 @@ vgremove -ff $vg
# remove from active lv
_prepare_vg
lvcreate --type raid1 -m1 --raidintegrity y --raidintegritymode bitmap -n $lv1 -l 8 $vg "$dev1" "$dev2"
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/$lv1
lvcreate --type $create_type -n fast -l 4 -an $vg "$dev6"
lvconvert -y --type $convert_type $convert_option fast $vg/$lv1
lvs -a -o name,size,segtype,devices,sync_percent $vg
@@ -530,9 +498,9 @@ lvconvert --raidintegrity y --raidintegritymode bitmap $vg/$lv1
lvcreate --type $create_type -n fast -l 4 -an $vg "$dev6"
lvconvert -y --type $convert_type $convert_option fast $vg/$lv1
lvs -a -o name,size,segtype,devices,sync_percent $vg
-_wait_recalc $vg/${lv1}_${suffix}_rimage_0
-_wait_recalc $vg/${lv1}_${suffix}_rimage_1
-_wait_recalc $vg/${lv1}_${suffix}
+aux wait_recalc $vg/${lv1}_${suffix}_rimage_0
+aux wait_recalc $vg/${lv1}_${suffix}_rimage_1
+aux wait_recalc $vg/${lv1}_${suffix}
_add_more_data_to_mnt
_verify_data_on_mnt
umount $mnt
diff --git a/test/shell/integrity-dmeventd.sh b/test/shell/integrity-dmeventd.sh
index 44121a186..dc944c0e9 100644
--- a/test/shell/integrity-dmeventd.sh
+++ b/test/shell/integrity-dmeventd.sh
@@ -94,37 +94,6 @@ _verify_data_on_lv() {
lvchange -an $vg/$lv1
}
-_sync_percent() {
- local checklv=$1
- get lv_field "$checklv" sync_percent | cut -d. -f1
-}
-
-_wait_recalc() {
- local checklv=$1
-
- for i in $(seq 1 10) ; do
- sync=$(_sync_percent "$checklv")
- echo "sync_percent is $sync"
-
- if test "$sync" = "100"; then
- return
- fi
-
- sleep 1
- done
-
- # TODO: There is some strange bug, first leg of RAID with integrity
- # enabled never gets in sync. I saw this in BB, but not when executing
- # the commands manually
- if test -z "$sync"; then
- echo "TEST\ WARNING: Resync of dm-integrity device '$checklv' failed"
- dmsetup status "$DM_DEV_DIR/mapper/${checklv/\//-}"
- exit
- fi
- echo "timeout waiting for recalc"
- return 1
-}
-
aux lvmconf \
'activation/raid_fault_policy = "allocate"'
@@ -136,9 +105,9 @@ vgcreate $SHARED $vg "$dev1" "$dev2" "$dev3" "$dev4"
lvcreate --type raid1 -m 2 --raidintegrity y --ignoremonitoring -l 8 -n $lv1 $vg "$dev1" "$dev2" "$dev3"
lvchange --monitor y $vg/$lv1
lvs -a -o+devices $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/${lv1}_rimage_2
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_2
aux wait_for_sync $vg $lv1
_add_new_data_to_mnt
@@ -176,9 +145,9 @@ vgcreate $SHARED $vg "$dev1" "$dev2" "$dev3" "$dev4" "$dev5"
lvcreate --type raid1 -m 2 --raidintegrity y --ignoremonitoring -l 8 -n $lv1 $vg "$dev1" "$dev2" "$dev3"
lvchange --monitor y $vg/$lv1
lvs -a -o+devices $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/${lv1}_rimage_2
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_2
aux wait_for_sync $vg $lv1
_add_new_data_to_mnt
@@ -222,11 +191,11 @@ vgcreate $SHARED $vg "$dev1" "$dev2" "$dev3" "$dev4" "$dev5" "$dev6"
lvcreate --type raid6 --raidintegrity y --ignoremonitoring -l 8 -n $lv1 $vg "$dev1" "$dev2" "$dev3" "$dev4" "$dev5"
lvchange --monitor y $vg/$lv1
lvs -a -o+devices $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/${lv1}_rimage_2
-_wait_recalc $vg/${lv1}_rimage_3
-_wait_recalc $vg/${lv1}_rimage_4
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_2
+aux wait_recalc $vg/${lv1}_rimage_3
+aux wait_recalc $vg/${lv1}_rimage_4
aux wait_for_sync $vg $lv1
_add_new_data_to_mnt
@@ -262,10 +231,10 @@ vgcreate $SHARED $vg "$dev1" "$dev2" "$dev3" "$dev4" "$dev5"
lvcreate --type raid10 --raidintegrity y --ignoremonitoring -l 8 -n $lv1 $vg "$dev1" "$dev2" "$dev3" "$dev4"
lvchange --monitor y $vg/$lv1
lvs -a -o+devices $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/${lv1}_rimage_2
-_wait_recalc $vg/${lv1}_rimage_3
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_2
+aux wait_recalc $vg/${lv1}_rimage_3
aux wait_for_sync $vg $lv1
_add_new_data_to_mnt
diff --git a/test/shell/integrity-large.sh b/test/shell/integrity-large.sh
index 16e28fb9d..68822e3ef 100644
--- a/test/shell/integrity-large.sh
+++ b/test/shell/integrity-large.sh
@@ -92,37 +92,6 @@ _verify_data_on_lv() {
umount $mnt
}
-_sync_percent() {
- local checklv=$1
- get lv_field "$checklv" sync_percent | cut -d. -f1
-}
-
-_wait_recalc() {
- local checklv=$1
-
- for i in $(seq 1 20) ; do
- sync=$(_sync_percent "$checklv")
- echo "sync_percent is $sync"
-
- if test "$sync" = "100"; then
- return
- fi
-
- sleep 1
- done
-
- # TODO: There is some strange bug, first leg of RAID with integrity
- # enabled never gets in sync. I saw this in BB, but not when executing
- # the commands manually
- if test -z "$sync"; then
- echo "TEST\ WARNING: Resync of dm-integrity device '$checklv' failed"
- dmsetup status "$DM_DEV_DIR/mapper/${checklv/\//-}"
- exit
- fi
- echo "timeout waiting for recalc"
- return 1
-}
-
# lvextend to 512MB is needed for the imeta LV to
# be extended from 4MB to 8MB.
@@ -135,8 +104,8 @@ _add_data_to_lv
lvchange -an $vg/$lv1
lvconvert --raidintegrity y $vg/$lv1
lvchange -ay $vg/$lv1
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
lvs -a -o+devices $vg
_verify_data_on_lv
lvchange -an $vg/$lv1
@@ -144,8 +113,8 @@ lvextend -L 512M $vg/$lv1
lvs -a -o+devices $vg
lvchange -ay $vg/$lv1
_verify_data_on_lv
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
lvs -a -o+devices $vg
check lv_field $vg/${lv1}_rimage_0_imeta size "12.00m"
check lv_field $vg/${lv1}_rimage_1_imeta size "12.00m"
@@ -166,8 +135,8 @@ lvs -a -o+devices $vg
# adding integrity again will allocate new 12MB imeta LVs
# on dev3,dev4
lvconvert --raidintegrity y $vg/$lv1
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
lvs -a -o+devices $vg
check lv_field $vg/${lv1}_rimage_0_imeta size "20.00m"
check lv_field $vg/${lv1}_rimage_1_imeta size "20.00m"
diff --git a/test/shell/integrity-syncaction.sh b/test/shell/integrity-syncaction.sh
index 03f0de8f4..ededda010 100644
--- a/test/shell/integrity-syncaction.sh
+++ b/test/shell/integrity-syncaction.sh
@@ -65,7 +65,7 @@ _test1() {
lvchange --syncaction check $vg/$lv1
- _wait_recalc $vg/$lv1
+ aux wait_recalc $vg/$lv1
lvs -o integritymismatches $vg/${lv1}_rimage_0 |tee mismatch
not grep 0 mismatch
@@ -111,7 +111,7 @@ _test2() {
lvchange --syncaction check $vg/$lv1
- _wait_recalc $vg/$lv1
+ aux wait_recalc $vg/$lv1
lvs -o integritymismatches $vg/${lv1}_rimage_0 |tee mismatch
not grep 0 mismatch
@@ -125,42 +125,11 @@ _test2() {
umount $mnt
}
-_sync_percent() {
- local checklv=$1
- get lv_field "$checklv" sync_percent | cut -d. -f1
-}
-
-_wait_recalc() {
- local checklv=$1
-
- for i in $(seq 1 10) ; do
- sync=$(_sync_percent "$checklv")
- echo "sync_percent is $sync"
-
- if test "$sync" = "100"; then
- return
- fi
-
- sleep 1
- done
-
- # TODO: There is some strange bug, first leg of RAID with integrity
- # enabled never gets in sync. I saw this in BB, but not when executing
- # the commands manually
- if test -z "$sync"; then
- echo "TEST\ WARNING: Resync of dm-integrity device '$checklv' failed"
- dmsetup status "$DM_DEV_DIR/mapper/${checklv/\//-}"
- exit
- fi
- echo "timeout waiting for recalc"
- return 1
-}
-
_prepare_vg
lvcreate --type raid1 -m1 --raidintegrity y -n $lv1 -l 6 $vg "$dev1" "$dev2"
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/$lv1
_test1
lvs -o integritymismatches $vg/$lv1 |tee mismatch
not grep 0 mismatch
@@ -171,9 +140,9 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid1 -m1 --raidintegrity y -n $lv1 -l 6 $vg "$dev1" "$dev2"
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/$lv1
_test2
lvs -o integritymismatches $vg/$lv1 |tee mismatch
not grep 0 mismatch
@@ -184,10 +153,10 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid5 --raidintegrity y -n $lv1 -I 4K -l 6 $vg "$dev1" "$dev2" "$dev3"
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/${lv1}_rimage_2
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_2
+aux wait_recalc $vg/$lv1
_test1
lvs -o integritymismatches $vg/$lv1 |tee mismatch
not grep 0 mismatch
diff --git a/test/shell/integrity.sh b/test/shell/integrity.sh
index 96237632e..c649bef11 100644
--- a/test/shell/integrity.sh
+++ b/test/shell/integrity.sh
@@ -126,47 +126,15 @@ _verify_data_on_lv() {
lvchange -an $vg/$lv1
}
-_sync_percent() {
- local checklv=$1
- get lv_field "$checklv" sync_percent | cut -d. -f1
-}
-
-_wait_recalc() {
- local checklv=$1
-
- for i in $(seq 1 10) ; do
- sync=$(_sync_percent "$checklv")
- echo "sync_percent is $sync"
-
- if test "$sync" = "100"; then
- return
- fi
-
- sleep 1
- done
-
- # TODO: There is some strange bug, first leg of RAID with integrity
- # enabled never gets in sync. I saw this in BB, but not when executing
- # the commands manually
-# if test -z "$sync"; then
-# echo "TEST\ WARNING: Resync of dm-integrity device '$checklv' failed"
-# dmsetup status "$DM_DEV_DIR/mapper/${checklv/\//-}"
-# exit
-# fi
- echo "timeout waiting for recalc"
- dmsetup status "$DM_DEV_DIR/mapper/${checklv/\//-}"
- return 1
-}
-
# Test corrupting data on an image and verifying that
# it is detected by integrity and corrected by raid.
_prepare_vg
lvcreate --type raid1 -m1 --raidintegrity y -n $lv1 -l 8 $vg "$dev1" "$dev2"
lvs -a -o name,segtype,devices,sync_percent $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/$lv1
_test_fs_with_read_repair "$dev1"
lvs -o integritymismatches $vg/${lv1}_rimage_0 |tee mismatch
not grep 0 mismatch
@@ -180,10 +148,10 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid1 -m2 --raidintegrity y -n $lv1 -l 8 $vg "$dev1" "$dev2" "$dev3"
lvs -a -o name,segtype,devices,sync_percent $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/${lv1}_rimage_2
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_2
+aux wait_recalc $vg/$lv1
_test_fs_with_read_repair "$dev1" "$dev2"
lvs -o integritymismatches $vg/${lv1}_rimage_0 |tee mismatch
not grep 0 mismatch
@@ -197,10 +165,10 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid4 --raidintegrity y -n $lv1 -I 4K -l 8 $vg "$dev1" "$dev2" "$dev3"
lvs -a -o name,segtype,devices,sync_percent $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/${lv1}_rimage_2
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_2
+aux wait_recalc $vg/$lv1
_test_fs_with_read_repair "$dev1" "$dev2" "$dev3"
lvs -o integritymismatches $vg/${lv1}_rimage_0
lvs -o integritymismatches $vg/${lv1}_rimage_1
@@ -215,10 +183,10 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid5 --raidintegrity y -n $lv1 -I 4K -l 8 $vg "$dev1" "$dev2" "$dev3"
lvs -a -o name,segtype,devices,sync_percent $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/${lv1}_rimage_2
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_2
+aux wait_recalc $vg/$lv1
_test_fs_with_read_repair "$dev1" "$dev2" "$dev3"
lvs -o integritymismatches $vg/${lv1}_rimage_0
lvs -o integritymismatches $vg/${lv1}_rimage_1
@@ -233,12 +201,12 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid6 --raidintegrity y -n $lv1 -I 4K -l 8 $vg "$dev1" "$dev2" "$dev3" "$dev4" "$dev5"
lvs -a -o name,segtype,devices,sync_percent $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/${lv1}_rimage_2
-_wait_recalc $vg/${lv1}_rimage_3
-_wait_recalc $vg/${lv1}_rimage_4
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_2
+aux wait_recalc $vg/${lv1}_rimage_3
+aux wait_recalc $vg/${lv1}_rimage_4
+aux wait_recalc $vg/$lv1
_test_fs_with_read_repair "$dev1" "$dev2" "$dev3" "$dev4" "$dev5"
lvs -o integritymismatches $vg/${lv1}_rimage_0
lvs -o integritymismatches $vg/${lv1}_rimage_1
@@ -255,11 +223,11 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid10 --raidintegrity y -n $lv1 -l 8 $vg "$dev1" "$dev2" "$dev3" "$dev4"
lvs -a -o name,segtype,devices,sync_percent $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/${lv1}_rimage_2
-_wait_recalc $vg/${lv1}_rimage_3
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_2
+aux wait_recalc $vg/${lv1}_rimage_3
+aux wait_recalc $vg/$lv1
_test_fs_with_read_repair "$dev1" "$dev3"
lvs -o integritymismatches $vg/${lv1}_rimage_0
lvs -o integritymismatches $vg/${lv1}_rimage_1
@@ -277,9 +245,9 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid1 -m1 --raidintegrity y -n $lv1 -l 8 $vg
lvs -a -o name,segtype,devices,sync_percent $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/$lv1
_add_new_data_to_mnt
lvconvert --raidintegrity n $vg/$lv1
_add_more_data_to_mnt
@@ -293,10 +261,10 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid4 --raidintegrity y -n $lv1 -l 8 $vg
lvs -a -o name,segtype,devices,sync_percent $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/${lv1}_rimage_2
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_2
+aux wait_recalc $vg/$lv1
_add_new_data_to_mnt
lvconvert --raidintegrity n $vg/$lv1
_add_more_data_to_mnt
@@ -310,10 +278,10 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid5 --raidintegrity y -n $lv1 -l 8 $vg
lvs -a -o name,segtype,devices,sync_percent $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/${lv1}_rimage_2
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_2
+aux wait_recalc $vg/$lv1
_add_new_data_to_mnt
lvconvert --raidintegrity n $vg/$lv1
_add_more_data_to_mnt
@@ -327,12 +295,12 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid6 --raidintegrity y -n $lv1 -l 8 $vg
lvs -a -o name,segtype,devices,sync_percent $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/${lv1}_rimage_2
-_wait_recalc $vg/${lv1}_rimage_3
-_wait_recalc $vg/${lv1}_rimage_4
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_2
+aux wait_recalc $vg/${lv1}_rimage_3
+aux wait_recalc $vg/${lv1}_rimage_4
+aux wait_recalc $vg/$lv1
_add_new_data_to_mnt
lvconvert --raidintegrity n $vg/$lv1
_add_more_data_to_mnt
@@ -346,9 +314,9 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid10 --raidintegrity y -n $lv1 -l 8 $vg
lvs -a -o name,segtype,devices,sync_percent $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/$lv1
_add_new_data_to_mnt
lvconvert --raidintegrity n $vg/$lv1
_add_more_data_to_mnt
@@ -364,11 +332,11 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid1 -m1 -n $lv1 -l 8 $vg
lvs -a -o name,segtype,devices,sync_percent $vg
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/$lv1
_add_new_data_to_mnt
lvconvert --raidintegrity y $vg/$lv1
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
_add_more_data_to_mnt
_verify_data_on_mnt
umount $mnt
@@ -380,11 +348,11 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid4 -n $lv1 -l 8 $vg
lvs -a -o name,segtype,devices,sync_percent $vg
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/$lv1
_add_new_data_to_mnt
lvconvert --raidintegrity y $vg/$lv1
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
_add_more_data_to_mnt
_verify_data_on_mnt
umount $mnt
@@ -396,11 +364,11 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid5 -n $lv1 -l 8 $vg
lvs -a -o name,segtype,devices,sync_percent $vg
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/$lv1
_add_new_data_to_mnt
lvconvert --raidintegrity y $vg/$lv1
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
_add_more_data_to_mnt
_verify_data_on_mnt
umount $mnt
@@ -412,11 +380,11 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid6 -n $lv1 -l 8 $vg
lvs -a -o name,segtype,devices,sync_percent $vg
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/$lv1
_add_new_data_to_mnt
lvconvert --raidintegrity y $vg/$lv1
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
_add_more_data_to_mnt
_verify_data_on_mnt
umount $mnt
@@ -428,11 +396,11 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid10 -n $lv1 -l 8 $vg
lvs -a -o name,segtype,devices,sync_percent $vg
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/$lv1
_add_new_data_to_mnt
lvconvert --raidintegrity y $vg/$lv1
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
_add_more_data_to_mnt
_verify_data_on_mnt
umount $mnt
@@ -446,9 +414,9 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid1 -m1 --raidintegrity y -n $lv1 -l 8 $vg
lvs -a -o name,segtype,devices,sync_percent $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/$lv1
_add_new_data_to_mnt
umount $mnt
lvchange -an $vg/$lv1
@@ -456,8 +424,8 @@ lvextend -l 16 $vg/$lv1
lvchange -ay $vg/$lv1
mount "$DM_DEV_DIR/$vg/$lv1" $mnt
resize2fs "$DM_DEV_DIR/$vg/$lv1"
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
lvs -a -o name,segtype,devices,sync_percent $vg
_add_more_data_to_mnt
_verify_data_on_mnt
@@ -470,12 +438,12 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid6 --raidintegrity y -n $lv1 -l 8 $vg
lvs -a -o name,segtype,sync_percent,devices $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/${lv1}_rimage_2
-_wait_recalc $vg/${lv1}_rimage_3
-_wait_recalc $vg/${lv1}_rimage_4
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_2
+aux wait_recalc $vg/${lv1}_rimage_3
+aux wait_recalc $vg/${lv1}_rimage_4
+aux wait_recalc $vg/$lv1
_add_new_data_to_mnt
umount $mnt
lvchange -an $vg/$lv1
@@ -483,8 +451,8 @@ lvextend -l 16 $vg/$lv1
lvchange -ay $vg/$lv1
mount "$DM_DEV_DIR/$vg/$lv1" $mnt
resize2fs "$DM_DEV_DIR/$vg/$lv1"
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
lvs -a -o name,segtype,devices,sync_percent $vg
_add_more_data_to_mnt
_verify_data_on_mnt
@@ -499,15 +467,15 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid1 -m1 --raidintegrity y -n $lv1 -l 8 $vg
lvs -a -o name,segtype,devices,sync_percent $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/$lv1
lvs -a -o+devices $vg
_add_new_data_to_mnt
lvextend -l 16 $vg/$lv1
resize2fs "$DM_DEV_DIR/$vg/$lv1"
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
lvs -a -o+devices $vg
_add_more_data_to_mnt
_verify_data_on_mnt
@@ -520,16 +488,16 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid5 --raidintegrity y -n $lv1 -l 8 $vg
lvs -a -o name,segtype,devices,sync_percent $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/${lv1}_rimage_2
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_2
+aux wait_recalc $vg/$lv1
lvs -a -o+devices $vg
_add_new_data_to_mnt
lvextend -l 16 $vg/$lv1
resize2fs "$DM_DEV_DIR/$vg/$lv1"
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
lvs -a -o+devices $vg
_add_more_data_to_mnt
_verify_data_on_mnt
@@ -542,15 +510,15 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid10 --raidintegrity y -n $lv1 -l 8 $vg
lvs -a -o name,segtype,devices,sync_percent $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/$lv1
lvs -a -o+devices $vg
_add_new_data_to_mnt
lvextend -l 16 $vg/$lv1
resize2fs "$DM_DEV_DIR/$vg/$lv1"
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
lvs -a -o+devices $vg
_add_more_data_to_mnt
_verify_data_on_mnt
@@ -565,15 +533,15 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid1 -m1 --raidintegrity y -n $lv1 -l 8 $vg
lvs -a -o name,segtype,devices,sync_percent $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/$lv1
lvs -a -o+devices $vg
_add_new_data_to_mnt
lvconvert -y -m+1 $vg/$lv1
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/${lv1}_rimage_2
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_2
lvs -a -o+devices $vg
_add_more_data_to_mnt
_verify_data_on_mnt
@@ -588,10 +556,10 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid1 -m2 --raidintegrity y -n $lv1 -l 8 $vg
lvs -a -o name,segtype,devices,sync_percent $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/${lv1}_rimage_2
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_2
+aux wait_recalc $vg/$lv1
_add_new_data_to_mnt
lvconvert -y -m-1 $vg/$lv1
lvs -a -o+devices $vg
@@ -608,9 +576,9 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid1 -m1 --raidintegrity y -n $lv1 -l 8 $vg
lvs -a -o name,segtype,devices,sync_percent $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/$lv1
_add_new_data_to_mnt
not lvconvert -y -m-1 $vg/$lv1
not lvconvert --splitmirrors 1 -n tmp -y $vg/$lv1
@@ -632,9 +600,9 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid1 -m1 --raidintegrity y --raidintegritymode bitmap -n $lv1 -l 8 $vg "$dev1" "$dev2"
lvs -a -o name,segtype,devices,sync_percent $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/$lv1
_test_fs_with_read_repair "$dev1"
lvs -o integritymismatches $vg/${lv1}_rimage_0 |tee mismatch
not grep 0 mismatch
@@ -648,12 +616,12 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid6 --raidintegrity y --raidintegritymode bitmap -n $lv1 -I 4K -l 8 $vg "$dev1" "$dev2" "$dev3" "$dev4" "$dev5"
lvs -a -o name,segtype,devices,sync_percent $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/${lv1}_rimage_2
-_wait_recalc $vg/${lv1}_rimage_3
-_wait_recalc $vg/${lv1}_rimage_4
-_wait_recalc $vg/$lv1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_2
+aux wait_recalc $vg/${lv1}_rimage_3
+aux wait_recalc $vg/${lv1}_rimage_4
+aux wait_recalc $vg/$lv1
_test_fs_with_read_repair "$dev1" "$dev2" "$dev3" "$dev4" "$dev5"
lvs -o integritymismatches $vg/${lv1}_rimage_0
lvs -o integritymismatches $vg/${lv1}_rimage_1
@@ -671,8 +639,8 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid1 -m1 --raidintegrity y --raidintegritymode bitmap -n $lv1 -l 8 $vg "$dev1" "$dev2"
lvs -a -o name,segtype,devices,sync_percent $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
_add_new_data_to_mnt
lvconvert --raidintegrity n $vg/$lv1
_add_more_data_to_mnt
@@ -688,8 +656,8 @@ _prepare_vg
lvcreate --type raid1 -m1 -n $lv1 -l 8 $vg
_add_new_data_to_mnt
lvconvert --raidintegrity y --raidintegritymode bitmap $vg/$lv1
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
_add_more_data_to_mnt
_verify_data_on_mnt
umount $mnt
@@ -702,12 +670,12 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid1 --raidintegrity y --raidintegritymode bitmap -m1 -n $lv1 -l 8 $vg
lvs -a -o name,segtype,devices,sync_percent $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
_add_new_data_to_mnt
lvextend -l 16 $vg/$lv1
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
resize2fs "$DM_DEV_DIR/$vg/$lv1"
_add_more_data_to_mnt
_verify_data_on_mnt
@@ -721,13 +689,13 @@ vgremove -ff $vg
_prepare_vg
lvcreate --type raid1 -m1 --raidintegrity y --raidintegritymode bitmap -n $lv1 -l 8 $vg
lvs -a -o name,segtype,devices,sync_percent $vg
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
_add_new_data_to_mnt
lvconvert -y -m+1 $vg/$lv1
-_wait_recalc $vg/${lv1}_rimage_0
-_wait_recalc $vg/${lv1}_rimage_1
-_wait_recalc $vg/${lv1}_rimage_2
+aux wait_recalc $vg/${lv1}_rimage_0
+aux wait_recalc $vg/${lv1}_rimage_1
+aux wait_recalc $vg/${lv1}_rimage_2
_add_more_data_to_mnt
_verify_data_on_mnt
umount $mnt
5 months, 1 week
main - tests: convert to use ext4
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=4e0aab74288390b633c...
Commit: 4e0aab74288390b633c25c1bcf3efdb127e3a364
Parent: b2360437e027fc4735afb58d193dc53b61c592d9
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Fri Apr 21 13:16:36 2023 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Fri Apr 21 14:52:43 2023 +0200
tests: convert to use ext4
Convert test to use only ext4 instead of 300M demanding XFS.
Shorten 'B' files to 4K and use 4K strip size with >raid1 arrays
so we do not risk spreading of the file across stripe.
Also use easier 'aux corrupt_dev()' method to introduce a bit
corruption into a block device with integrity.
TODO: shorten _wait_recalc (should't be needed).
---
test/shell/integrity-caching.sh | 27 ++++++++++-----------------
test/shell/integrity-syncaction.sh | 32 +++++++++-----------------------
test/shell/integrity.sh | 37 ++++++++++++++++---------------------
3 files changed, 35 insertions(+), 61 deletions(-)
diff --git a/test/shell/integrity-caching.sh b/test/shell/integrity-caching.sh
index 23ade6838..71740dfb5 100644
--- a/test/shell/integrity-caching.sh
+++ b/test/shell/integrity-caching.sh
@@ -14,8 +14,8 @@ SKIP_WITH_LVMPOLLD=1
. lib/inittest
-which mkfs.xfs || skip
-which xfs_growfs || skip
+which mkfs.ext4 || skip
+which resize2fs || skip
aux have_integrity 1 5 0 || skip
# Avoid 4K ramdisk devices on older kernels
aux kernel_at_least 5 10 || export LVM_TEST_PREFER_BRD=0
@@ -28,7 +28,7 @@ aux prepare_devs 6 80
# Use awk instead of anoyingly long log out from printf
#printf "%0.sA" {1..16384} >> fileA
awk 'BEGIN { while (z++ < 16384) printf "A" }' > fileA
-awk 'BEGIN { while (z++ < 16384) printf "B" }' > fileB
+awk 'BEGIN { while (z++ < 4096) printf "B" }' > fileB
awk 'BEGIN { while (z++ < 16384) printf "C" }' > fileC
# generate random data
@@ -78,18 +78,11 @@ _test_fs_with_read_repair() {
umount $mnt
lvchange -an $vg/$lv1
-
for dev in "$@"; do
- xxd "$dev" > dev.txt
- # corrupt fileB
- sed -e 's/4242 4242 4242 4242 4242 4242 4242 4242/4242 4242 4242 4242 4242 4242 4242 4243/' dev.txt > dev.bad
- rm -f dev.txt
- xxd -r dev.bad > "$dev"
- rm -f dev.bad
+ aux corrupt_dev "$dev" BBBBBBBBBBBBBBBBB BBBBBBBBCBBBBBBBB
done
lvchange -ay $vg/$lv1
-
mount "$DM_DEV_DIR/$vg/$lv1" $mnt
cmp -b $mnt/fileA fileA
@@ -250,7 +243,7 @@ lvremove $vg/$lv1
vgremove -ff $vg
_prepare_vg
-lvcreate --type raid5 --raidintegrity y -n $lv1 -l 8 $vg "$dev1" "$dev2" "$dev3"
+lvcreate --type raid5 --raidintegrity y -n $lv1 -I4 -l 8 $vg "$dev1" "$dev2" "$dev3"
lvcreate --type $create_type -n fast -l 4 -an $vg "$dev6"
lvconvert -y --type $convert_type $convert_option fast $vg/$lv1
lvs -a -o name,size,segtype,devices,sync_percent $vg
@@ -328,7 +321,7 @@ lvchange -an $vg/$lv1
lvextend -l 16 $vg/$lv1
lvchange -ay $vg/$lv1
mount "$DM_DEV_DIR/$vg/$lv1" $mnt
-xfs_growfs $mnt
+resize2fs "$DM_DEV_DIR/$vg/$lv1"
_wait_recalc $vg/${lv1}_${suffix}_rimage_0
_wait_recalc $vg/${lv1}_${suffix}_rimage_1
_add_more_data_to_mnt
@@ -351,7 +344,7 @@ lvconvert -y --type $convert_type $convert_option fast $vg/$lv1
lvs -a -o name,size,segtype,devices,sync_percent $vg
_add_new_data_to_mnt
lvextend -l 16 $vg/$lv1
-xfs_growfs $mnt
+resize2fs "$DM_DEV_DIR/$vg/$lv1"
_wait_recalc $vg/${lv1}_${suffix}_rimage_0
_wait_recalc $vg/${lv1}_${suffix}_rimage_1
_add_more_data_to_mnt
@@ -363,7 +356,7 @@ lvremove $vg/$lv1
vgremove -ff $vg
_prepare_vg
-lvcreate --type raid5 --raidintegrity y -n $lv1 -l 8 $vg
+lvcreate --type raid5 --raidintegrity y -n $lv1 -I4 -l 8 $vg
_wait_recalc $vg/${lv1}_rimage_0
_wait_recalc $vg/${lv1}_rimage_1
_wait_recalc $vg/${lv1}_rimage_2
@@ -373,7 +366,7 @@ lvconvert -y --type $convert_type $convert_option fast $vg/$lv1
lvs -a -o name,size,segtype,devices,sync_percent $vg
_add_new_data_to_mnt
lvextend -l 16 $vg/$lv1
-xfs_growfs $mnt
+resize2fs "$DM_DEV_DIR/$vg/$lv1"
_wait_recalc $vg/${lv1}_${suffix}_rimage_0
_wait_recalc $vg/${lv1}_${suffix}_rimage_1
_add_more_data_to_mnt
@@ -487,7 +480,7 @@ lvremove $vg/$lv1
vgremove -ff $vg
_prepare_vg
-lvcreate --type raid6 --raidintegrity y --raidintegritymode bitmap -n $lv1 -l 8 $vg "$dev1" "$dev2" "$dev3" "$dev4" "$dev5"
+lvcreate --type raid6 --raidintegrity y --raidintegritymode bitmap -n $lv1 -I4 -l 8 $vg "$dev1" "$dev2" "$dev3" "$dev4" "$dev5"
lvcreate --type $create_type -n fast -l 4 -an $vg "$dev6"
lvconvert -y --type $convert_type $convert_option fast $vg/$lv1
lvs -a -o name,size,segtype,devices,sync_percent $vg
diff --git a/test/shell/integrity-syncaction.sh b/test/shell/integrity-syncaction.sh
index 32d7a43a5..03f0de8f4 100644
--- a/test/shell/integrity-syncaction.sh
+++ b/test/shell/integrity-syncaction.sh
@@ -14,8 +14,7 @@ SKIP_WITH_LVMPOLLD=1
. lib/inittest
-which mkfs.xfs || skip
-which xfs_growfs || skip
+which mkfs.ext4 || skip
aux have_integrity 1 5 0 || skip
# Avoid 4K ramdisk devices on older kernels
aux kernel_at_least 5 10 || export LVM_TEST_PREFER_BRD=0
@@ -28,7 +27,7 @@ aux prepare_devs 3 40
# Use awk instead of anoyingly long log out from printf
#printf "%0.sA" {1..16384} >> fileA
awk 'BEGIN { while (z++ < 16384) printf "A" }' > fileA
-awk 'BEGIN { while (z++ < 16384) printf "B" }' > fileB
+awk 'BEGIN { while (z++ < 4096) printf "B" }' > fileB
awk 'BEGIN { while (z++ < 16384) printf "C" }' > fileC
_prepare_vg() {
@@ -40,7 +39,7 @@ _prepare_vg() {
}
_test1() {
- mkfs.xfs -f -s size=4096 "$DM_DEV_DIR/$vg/$lv1"
+ mkfs.ext4 "$DM_DEV_DIR/$vg/$lv1"
mount "$DM_DEV_DIR/$vg/$lv1" $mnt
@@ -57,12 +56,7 @@ _test1() {
umount $mnt
lvchange -an $vg/$lv1
- xxd "$dev1" > dev1.txt
- # corrupt fileB
- sed -e 's/4242 4242 4242 4242 4242 4242 4242 4242/4242 4242 4242 4242 4242 4242 4242 4243/' dev1.txt > dev1.bad
- rm -f dev1.txt
- xxd -r dev1.bad > "$dev1"
- rm -f dev1.bad
+ aux corrupt_dev "$dev1" BBBBBBBBBBBBBBBBB BBBBBBBBCBBBBBBBB
lvchange -ay $vg/$lv1
@@ -84,7 +78,7 @@ _test1() {
}
_test2() {
- mkfs.xfs -f -s size=4096 "$DM_DEV_DIR/$vg/$lv1"
+ mkfs.ext4 "$DM_DEV_DIR/$vg/$lv1"
mount "$DM_DEV_DIR/$vg/$lv1" $mnt
@@ -102,19 +96,11 @@ _test2() {
lvchange -an $vg/$lv1
# corrupt fileB and fileC on dev1
- xxd "$dev1" > dev1.txt
- sed -e 's/4242 4242 4242 4242 4242 4242 4242 4242/4242 4242 4242 4242 4242 4242 4242 4243/' dev1.txt > dev1.bad
- sed -e 's/4343 4343 4343 4343 4343 4343 4343 4343/4444 4444 4444 4444 4444 4444 4444 4444/' dev1.txt > dev1.bad
- rm -f dev1.txt
- xxd -r dev1.bad > "$dev1"
- rm -f dev1.bad
+ aux corrupt_dev "$dev1" BBBBBBBBBBBBBBBBB BBBBBBBBCBBBBBBBB
+ aux corrupt_dev "$dev1" CCCCCCCCCCCCCCCCC DDDDDDDDDDDDDDDDD
# corrupt fileA on dev2
- xxd "$dev2" > dev2.txt
- sed -e 's/4141 4141 4141 4141 4141 4141 4141 4141/4141 4141 4141 4141 4141 4141 4145 4141/' dev2.txt > dev2.bad
- rm -f dev2.txt
- xxd -r dev2.bad > "$dev2"
- rm -f dev2.bad
+ aux corrupt_dev "$dev2" AAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAEAA
lvchange -ay $vg/$lv1
@@ -197,7 +183,7 @@ lvremove $vg/$lv1
vgremove -ff $vg
_prepare_vg
-lvcreate --type raid5 --raidintegrity y -n $lv1 -l 6 $vg "$dev1" "$dev2" "$dev3"
+lvcreate --type raid5 --raidintegrity y -n $lv1 -I 4K -l 6 $vg "$dev1" "$dev2" "$dev3"
_wait_recalc $vg/${lv1}_rimage_0
_wait_recalc $vg/${lv1}_rimage_1
_wait_recalc $vg/${lv1}_rimage_2
diff --git a/test/shell/integrity.sh b/test/shell/integrity.sh
index 290090e2d..96237632e 100644
--- a/test/shell/integrity.sh
+++ b/test/shell/integrity.sh
@@ -14,8 +14,8 @@ SKIP_WITH_LVMPOLLD=1
. lib/inittest
-which mkfs.xfs || skip
-which xfs_growfs || skip
+which mkfs.ext4 || skip
+which resize2fs || skip
aux have_integrity 1 5 0 || skip
# Avoid 4K ramdisk devices on older kernels
aux kernel_at_least 5 10 || export LVM_TEST_PREFER_BRD=0
@@ -28,7 +28,7 @@ aux prepare_devs 5 64
# Use awk instead of anoyingly long log out from printf
#printf "%0.sA" {1..16384} >> fileA
awk 'BEGIN { while (z++ < 16384) printf "A" }' > fileA
-awk 'BEGIN { while (z++ < 16384) printf "B" }' > fileB
+awk 'BEGIN { while (z++ < 4096) printf "B" }' > fileB
awk 'BEGIN { while (z++ < 16384) printf "C" }' > fileC
# generate random data
@@ -45,7 +45,7 @@ _prepare_vg() {
}
_test_fs_with_read_repair() {
- mkfs.xfs -f -s size=4096 "$DM_DEV_DIR/$vg/$lv1"
+ mkfs.ext4 "$DM_DEV_DIR/$vg/$lv1"
mount "$DM_DEV_DIR/$vg/$lv1" $mnt
@@ -60,12 +60,7 @@ _test_fs_with_read_repair() {
lvchange -an $vg/$lv1
for dev in "$@"; do
- xxd "$dev" > dev.txt
- # corrupt fileB
- sed -e 's/4242 4242 4242 4242 4242 4242 4242 4242/4242 4242 4242 4242 4242 4242 4242 4243/' dev.txt > dev.bad
- rm -f dev.txt
- xxd -r dev.bad > "$dev"
- rm -f dev.bad
+ aux corrupt_dev "$dev" BBBBBBBBBBBBBBBBB BBBBBBBBCBBBBBBBB
done
lvchange -ay $vg/$lv1
@@ -78,7 +73,7 @@ _test_fs_with_read_repair() {
}
_add_new_data_to_mnt() {
- mkfs.xfs -f -s size=4096 "$DM_DEV_DIR/$vg/$lv1"
+ mkfs.ext4 "$DM_DEV_DIR/$vg/$lv1"
mount "$DM_DEV_DIR/$vg/$lv1" $mnt
@@ -200,7 +195,7 @@ lvremove $vg/$lv1
vgremove -ff $vg
_prepare_vg
-lvcreate --type raid4 --raidintegrity y -n $lv1 -l 8 $vg "$dev1" "$dev2" "$dev3"
+lvcreate --type raid4 --raidintegrity y -n $lv1 -I 4K -l 8 $vg "$dev1" "$dev2" "$dev3"
lvs -a -o name,segtype,devices,sync_percent $vg
_wait_recalc $vg/${lv1}_rimage_0
_wait_recalc $vg/${lv1}_rimage_1
@@ -218,7 +213,7 @@ lvremove $vg/$lv1
vgremove -ff $vg
_prepare_vg
-lvcreate --type raid5 --raidintegrity y -n $lv1 -l 8 $vg "$dev1" "$dev2" "$dev3"
+lvcreate --type raid5 --raidintegrity y -n $lv1 -I 4K -l 8 $vg "$dev1" "$dev2" "$dev3"
lvs -a -o name,segtype,devices,sync_percent $vg
_wait_recalc $vg/${lv1}_rimage_0
_wait_recalc $vg/${lv1}_rimage_1
@@ -236,7 +231,7 @@ lvremove $vg/$lv1
vgremove -ff $vg
_prepare_vg
-lvcreate --type raid6 --raidintegrity y -n $lv1 -l 8 $vg "$dev1" "$dev2" "$dev3" "$dev4" "$dev5"
+lvcreate --type raid6 --raidintegrity y -n $lv1 -I 4K -l 8 $vg "$dev1" "$dev2" "$dev3" "$dev4" "$dev5"
lvs -a -o name,segtype,devices,sync_percent $vg
_wait_recalc $vg/${lv1}_rimage_0
_wait_recalc $vg/${lv1}_rimage_1
@@ -460,7 +455,7 @@ lvchange -an $vg/$lv1
lvextend -l 16 $vg/$lv1
lvchange -ay $vg/$lv1
mount "$DM_DEV_DIR/$vg/$lv1" $mnt
-xfs_growfs $mnt
+resize2fs "$DM_DEV_DIR/$vg/$lv1"
_wait_recalc $vg/${lv1}_rimage_0
_wait_recalc $vg/${lv1}_rimage_1
lvs -a -o name,segtype,devices,sync_percent $vg
@@ -487,7 +482,7 @@ lvchange -an $vg/$lv1
lvextend -l 16 $vg/$lv1
lvchange -ay $vg/$lv1
mount "$DM_DEV_DIR/$vg/$lv1" $mnt
-xfs_growfs $mnt
+resize2fs "$DM_DEV_DIR/$vg/$lv1"
_wait_recalc $vg/${lv1}_rimage_0
_wait_recalc $vg/${lv1}_rimage_1
lvs -a -o name,segtype,devices,sync_percent $vg
@@ -510,7 +505,7 @@ _wait_recalc $vg/$lv1
lvs -a -o+devices $vg
_add_new_data_to_mnt
lvextend -l 16 $vg/$lv1
-xfs_growfs $mnt
+resize2fs "$DM_DEV_DIR/$vg/$lv1"
_wait_recalc $vg/${lv1}_rimage_0
_wait_recalc $vg/${lv1}_rimage_1
lvs -a -o+devices $vg
@@ -532,7 +527,7 @@ _wait_recalc $vg/$lv1
lvs -a -o+devices $vg
_add_new_data_to_mnt
lvextend -l 16 $vg/$lv1
-xfs_growfs $mnt
+resize2fs "$DM_DEV_DIR/$vg/$lv1"
_wait_recalc $vg/${lv1}_rimage_0
_wait_recalc $vg/${lv1}_rimage_1
lvs -a -o+devices $vg
@@ -553,7 +548,7 @@ _wait_recalc $vg/$lv1
lvs -a -o+devices $vg
_add_new_data_to_mnt
lvextend -l 16 $vg/$lv1
-xfs_growfs $mnt
+resize2fs "$DM_DEV_DIR/$vg/$lv1"
_wait_recalc $vg/${lv1}_rimage_0
_wait_recalc $vg/${lv1}_rimage_1
lvs -a -o+devices $vg
@@ -651,7 +646,7 @@ lvremove $vg/$lv1
vgremove -ff $vg
_prepare_vg
-lvcreate --type raid6 --raidintegrity y --raidintegritymode bitmap -n $lv1 -l 8 $vg "$dev1" "$dev2" "$dev3" "$dev4" "$dev5"
+lvcreate --type raid6 --raidintegrity y --raidintegritymode bitmap -n $lv1 -I 4K -l 8 $vg "$dev1" "$dev2" "$dev3" "$dev4" "$dev5"
lvs -a -o name,segtype,devices,sync_percent $vg
_wait_recalc $vg/${lv1}_rimage_0
_wait_recalc $vg/${lv1}_rimage_1
@@ -713,7 +708,7 @@ _add_new_data_to_mnt
lvextend -l 16 $vg/$lv1
_wait_recalc $vg/${lv1}_rimage_0
_wait_recalc $vg/${lv1}_rimage_1
-xfs_growfs $mnt
+resize2fs "$DM_DEV_DIR/$vg/$lv1"
_add_more_data_to_mnt
_verify_data_on_mnt
umount $mnt
5 months, 1 week
main - tests: use aux clear_dev
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=b2360437e027fc4735a...
Commit: b2360437e027fc4735afb58d193dc53b61c592d9
Parent: c331a3b1da280f78aefcfc8dad82eb042022bc84
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Fri Apr 21 13:16:22 2023 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Fri Apr 21 14:52:43 2023 +0200
tests: use aux clear_dev
Use wrapper over 'blkdiscard -z'
---
test/shell/integrity-caching.sh | 6 +-----
test/shell/integrity-syncaction.sh | 4 +---
test/shell/integrity.sh | 6 +-----
test/shell/metadata-bad-text.sh | 21 +++++----------------
test/shell/metadata-old.sh | 7 ++-----
test/shell/process-each-duplicate-pvs.sh | 3 +--
6 files changed, 11 insertions(+), 36 deletions(-)
diff --git a/test/shell/integrity-caching.sh b/test/shell/integrity-caching.sh
index 5539ac575..23ade6838 100644
--- a/test/shell/integrity-caching.sh
+++ b/test/shell/integrity-caching.sh
@@ -39,11 +39,7 @@ dd if=/dev/urandom of=randC bs=512K count=4
_prepare_vg() {
# zero devs so we are sure to find the correct file data
# on the underlying devs when corrupting it
- dd if=/dev/zero of="$dev1" bs=1M oflag=direct || true
- dd if=/dev/zero of="$dev2" bs=1M oflag=direct || true
- dd if=/dev/zero of="$dev3" bs=1M oflag=direct || true
- dd if=/dev/zero of="$dev4" bs=1M oflag=direct || true
- dd if=/dev/zero of="$dev5" bs=1M oflag=direct || true
+ aux clear_devs "$dev1" "$dev2" "$dev3" "$dev4" "$dev5"
vgcreate $SHARED $vg "$dev1" "$dev2" "$dev3" "$dev4" "$dev5" "$dev6"
pvs
}
diff --git a/test/shell/integrity-syncaction.sh b/test/shell/integrity-syncaction.sh
index e404f6b6d..32d7a43a5 100644
--- a/test/shell/integrity-syncaction.sh
+++ b/test/shell/integrity-syncaction.sh
@@ -34,9 +34,7 @@ awk 'BEGIN { while (z++ < 16384) printf "C" }' > fileC
_prepare_vg() {
# zero devs so we are sure to find the correct file data
# on the underlying devs when corrupting it
- dd if=/dev/zero of="$dev1" bs=1M oflag=direct || true
- dd if=/dev/zero of="$dev2" bs=1M oflag=direct || true
- dd if=/dev/zero of="$dev3" bs=1M oflag=direct || true
+ aux clear_devs "$dev1" "$dev2" "$dev3"
vgcreate $SHARED $vg "$dev1" "$dev2" "$dev3"
pvs
}
diff --git a/test/shell/integrity.sh b/test/shell/integrity.sh
index a7dd5b565..290090e2d 100644
--- a/test/shell/integrity.sh
+++ b/test/shell/integrity.sh
@@ -39,11 +39,7 @@ dd if=/dev/urandom of=randC bs=512K count=4
_prepare_vg() {
# zero devs so we are sure to find the correct file data
# on the underlying devs when corrupting it
- dd if=/dev/zero of="$dev1" bs=1M oflag=direct || true
- dd if=/dev/zero of="$dev2" bs=1M oflag=direct || true
- dd if=/dev/zero of="$dev3" bs=1M oflag=direct || true
- dd if=/dev/zero of="$dev4" bs=1M oflag=direct || true
- dd if=/dev/zero of="$dev5" bs=1M oflag=direct || true
+ aux clear_devs "$dev1" "$dev2" "$dev3" "$dev4" "$dev5"
vgcreate $SHARED $vg "$dev1" "$dev2" "$dev3" "$dev4" "$dev5"
pvs
}
diff --git a/test/shell/metadata-bad-text.sh b/test/shell/metadata-bad-text.sh
index 17f79eb59..e51268823 100644
--- a/test/shell/metadata-bad-text.sh
+++ b/test/shell/metadata-bad-text.sh
@@ -29,9 +29,7 @@ _clear_online_files() {
aux prepare_devs 3
get_devs
-dd if=/dev/zero of="$dev1" || true
-dd if=/dev/zero of="$dev2" || true
-dd if=/dev/zero of="$dev3" || true
+aux clear_devs "$dev1" "$dev2" "$dev3"
vgcreate $SHARED $vg "$dev1" "$dev2" "$dev3"
@@ -74,9 +72,7 @@ vgremove -ff $vg
# copy of the metadata.
#
-dd if=/dev/zero of="$dev1" || true
-dd if=/dev/zero of="$dev2" || true
-dd if=/dev/zero of="$dev3" || true
+aux clear_devs "$dev1" "$dev2" "$dev3"
vgcreate $SHARED $vg "$dev1" "$dev2" "$dev3"
@@ -125,9 +121,7 @@ vgremove -ff $vg
# makes the VG usable.
#
-dd if=/dev/zero of="$dev1" || true
-dd if=/dev/zero of="$dev2" || true
-dd if=/dev/zero of="$dev3" || true
+aux clear_devs "$dev1" "$dev2" "$dev3"
pvcreate "$dev1"
pvcreate "$dev2"
@@ -182,9 +176,7 @@ vgremove -ff $vg
# devices.
#
-dd if=/dev/zero of="$dev1" || true
-dd if=/dev/zero of="$dev2" || true
-dd if=/dev/zero of="$dev3" || true
+aux clear_devs "$dev1" "$dev2" "$dev3"
pvcreate "$dev1"
pvcreate "$dev2"
@@ -258,9 +250,7 @@ if test -n "$LVM_TEST_LVMLOCKD"; then
exit 0
fi
-dd if=/dev/zero of="$dev1" || true
-dd if=/dev/zero of="$dev2" || true
-dd if=/dev/zero of="$dev3" || true
+aux clear_devs "$dev1" "$dev2" "$dev3"
vgcreate $SHARED $vg "$dev1" "$dev2" "$dev3"
@@ -328,4 +318,3 @@ pvs "$dev3"
vgchange -an $vg
vgremove -ff $vg
-
diff --git a/test/shell/metadata-old.sh b/test/shell/metadata-old.sh
index ad7bf101e..9a0351c23 100644
--- a/test/shell/metadata-old.sh
+++ b/test/shell/metadata-old.sh
@@ -118,9 +118,7 @@ vgremove -ff $vg
# metadata, and the second mda has current metadata.
#
-dd if=/dev/zero of="$dev1" || true
-dd if=/dev/zero of="$dev2" || true
-dd if=/dev/zero of="$dev3" || true
+aux clear_devs "$dev1" "$dev2" "$dev3"
pvcreate "$dev1"
pvcreate "$dev2"
@@ -181,8 +179,7 @@ vgremove -ff $vg
# Test when the metadata on two PVs have the same seqno
# but different checksums.
-dd if=/dev/zero of="$dev1" || true
-dd if=/dev/zero of="$dev2" || true
+aux clear_devs "$dev1" "$dev2"
pvcreate "$dev1"
pvcreate "$dev2"
diff --git a/test/shell/process-each-duplicate-pvs.sh b/test/shell/process-each-duplicate-pvs.sh
index bf86c141f..f3063ab39 100644
--- a/test/shell/process-each-duplicate-pvs.sh
+++ b/test/shell/process-each-duplicate-pvs.sh
@@ -383,8 +383,7 @@ check pv_field "$dev4" dev_size "$SIZE4"
# Verify that devs being used by an active LV are
# preferred over duplicates that are not used by an LV.
-dd if=/dev/zero of="$dev3" bs=1M oflag=direct,sync || true
-dd if=/dev/zero of="$dev4" bs=1M oflag=direct,sync || true
+aux clear_devs "$dev3" "$dev4"
#pvscan --cache
# The previous steps prevent us from nicely cleaning up
5 months, 1 week
main - aux: add corrupt_dev
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=c331a3b1da280f78aef...
Commit: c331a3b1da280f78aefcfc8dad82eb042022bc84
Parent: 11562bcc6b9dc09eb0c5bccb69a7741dec9e626b
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Fri Apr 21 01:43:13 2023 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Fri Apr 21 14:52:43 2023 +0200
aux: add corrupt_dev
Add function to corrupt some bytes in give file path presenting
a device. 1st. patern in just once replaced with 2nd. pattern.
Usable to simulate some bit corruption for integrity devices.
---
test/lib/aux.sh | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/test/lib/aux.sh b/test/lib/aux.sh
index 3ab599f60..33710a007 100644
--- a/test/lib/aux.sh
+++ b/test/lib/aux.sh
@@ -952,6 +952,25 @@ clear_devs() {
done
}
+#
+# corrupt device content
+# $1 file_path
+# $2 string/pattern search for curruption
+# $3 string/pattern replacing/corruptiong
+corrupt_dev() {
+ local a
+
+ # search for string on a file
+ # Note: returned string may possibly start with other ASCII chars
+ # a[0] is position in file, a[1] is the actual string
+ a=( $(strings -t d -n 64 "$1" | grep -m 1 "$2") ) || true
+
+ test -n "${a[0]-}" || return 0
+
+ # Seek for the sequence and replace it with corruption pattern
+ echo -n "${a[1]/$2/$3}" | dd of="$1" bs=1 oseek="${a[0]}" conv=fdatasync
+}
+
prepare_backing_dev() {
local size=${1=32}
shift
5 months, 1 week
main - aux: add clear_dev
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=11562bcc6b9dc09eb0c...
Commit: 11562bcc6b9dc09eb0c5bccb69a7741dec9e626b
Parent: b030ef31de0897aac1964dce4368750bb1166d5c
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Fri Apr 21 01:35:31 2023 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Fri Apr 21 14:52:43 2023 +0200
aux: add clear_dev
Function that will use 'blkdiscard -z' and fallbacks
to 'dd' when such option is not available.
---
test/lib/aux.sh | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/test/lib/aux.sh b/test/lib/aux.sh
index 9412a20af..3ab599f60 100644
--- a/test/lib/aux.sh
+++ b/test/lib/aux.sh
@@ -916,6 +916,42 @@ cleanup_idm_context() {
fi
}
+
+#
+# clear device either with blkdiscard -z or fallback to 'dd'
+# $1 device_path
+# TODO: add support for parametrized [OPTION] usage (Not usable ATM)
+# TODO: -bs blocksize (defaults 512K)
+# TODO: -count count/length (defaults to whole device, otherwise in BS units)
+# TODO: -seek offset/oseek (defaults 0, begining of zeroing area in BS unit)
+clear_devs() {
+ local bs=
+ local count=
+ local seek=
+
+ while [ "$#" -ne 0 ] ; do
+ case "$1" in
+ "") ;;
+ "--bs") bs=$2; shift ;;
+ "--count") count=$2; shift ;;
+ "--seek") seek=$2; shift ;;
+ *TEST*) # Protection: only test devices with TEST in its path name can be zeroed
+ test -e NO_BLKDISCARD_Z || {
+ if blkdiscard -f -z "$1" ; then
+ shift
+ continue
+ fi
+ echo "Info: can't use 'blkdiscard -z' switch to 'dd'."
+ touch NO_BLKDISCARD_Z
+ }
+
+ dd if=/dev/zero of="$1" bs=512K oflag=direct $seek $count || true
+ ;;
+ esac
+ shift
+ done
+}
+
prepare_backing_dev() {
local size=${1=32}
shift
5 months, 1 week
main - post-release
by Marian Csontos
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=b030ef31de0897aac19...
Commit: b030ef31de0897aac1964dce4368750bb1166d5c
Parent: 54efdab230ec4f6d10ffdb9170b07c0664c157ea
Author: Marian Csontos <mcsontos(a)redhat.com>
AuthorDate: Fri Apr 21 10:36:06 2023 +0200
Committer: Marian Csontos <mcsontos(a)redhat.com>
CommitterDate: Fri Apr 21 10:36:06 2023 +0200
post-release
---
VERSION | 2 +-
VERSION_DM | 2 +-
WHATS_NEW | 3 +++
WHATS_NEW_DM | 3 +++
4 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/VERSION b/VERSION
index 7a803d387..133363613 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.03.21(2) (2023-04-21)
+2.03.22(2)-git (2023-04-21)
diff --git a/VERSION_DM b/VERSION_DM
index 91e14241f..5df005396 100644
--- a/VERSION_DM
+++ b/VERSION_DM
@@ -1 +1 @@
-1.02.195 (2023-04-21)
+1.02.196-git (2023-04-21)
diff --git a/WHATS_NEW b/WHATS_NEW
index 88093cf25..ad870317d 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,3 +1,6 @@
+version 2.03.22 -
+=================================
+
version 2.03.21 - 21st April 2023
=================================
Fix activation of vdo-pool for with 0 length headers (converted pools).
diff --git a/WHATS_NEW_DM b/WHATS_NEW_DM
index 18e9362b3..d2129e6ef 100644
--- a/WHATS_NEW_DM
+++ b/WHATS_NEW_DM
@@ -1,3 +1,6 @@
+Version 1.02.196 -
+==================================
+
Version 1.02.195 - 21st April 2023
==================================
5 months, 1 week
main - pre-release
by Marian Csontos
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=54efdab230ec4f6d10f...
Commit: 54efdab230ec4f6d10ffdb9170b07c0664c157ea
Parent: 7807672975cc991720d817b4e541ca5e720df26e
Author: Marian Csontos <mcsontos(a)redhat.com>
AuthorDate: Fri Apr 21 10:35:10 2023 +0200
Committer: Marian Csontos <mcsontos(a)redhat.com>
CommitterDate: Fri Apr 21 10:35:10 2023 +0200
pre-release
---
VERSION | 2 +-
VERSION_DM | 2 +-
WHATS_NEW | 3 ++-
WHATS_NEW_DM | 2 +-
4 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/VERSION b/VERSION
index 60c7a1dd4..7a803d387 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.03.21(2)-git (2023-03-21)
+2.03.21(2) (2023-04-21)
diff --git a/VERSION_DM b/VERSION_DM
index 68bf19e27..91e14241f 100644
--- a/VERSION_DM
+++ b/VERSION_DM
@@ -1 +1 @@
-1.02.195-git (2023-03-21)
+1.02.195 (2023-04-21)
diff --git a/WHATS_NEW b/WHATS_NEW
index 2bff3445d..88093cf25 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,7 +1,8 @@
-version 2.03.21 -
+version 2.03.21 - 21st April 2023
=================================
Fix activation of vdo-pool for with 0 length headers (converted pools).
Avoid printing internal init messages when creation integration devices.
+ Allow (write)cache over raid+integrity LV.
version 2.03.20 - 21st March 2023
=================================
diff --git a/WHATS_NEW_DM b/WHATS_NEW_DM
index 88298caad..18e9362b3 100644
--- a/WHATS_NEW_DM
+++ b/WHATS_NEW_DM
@@ -1,4 +1,4 @@
-Version 1.02.195 -
+Version 1.02.195 - 21st April 2023
==================================
Version 1.02.193 - 21st March 2023
5 months, 1 week