[lvm-devel] master - tests: use parametrized function
Zdenek Kabelac
zkabelac at sourceware.org
Sat Sep 19 15:39:18 UTC 2020
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=6b168afcadd6ce1880223bc94829a2acac34c850
Commit: 6b168afcadd6ce1880223bc94829a2acac34c850
Parent: f63aac5309e10335c3a53477b3838fe1821934e1
Author: Zdenek Kabelac <zkabelac at redhat.com>
AuthorDate: Sat Sep 19 16:51:01 2020 +0200
Committer: Zdenek Kabelac <zkabelac at redhat.com>
CommitterDate: Sat Sep 19 17:30:51 2020 +0200
tests: use parametrized function
Shorten and make the test easily readable by moving same code into
function and removed one duplicated test for 512,4096 combination.
Always use scsi_debug - since default ramdisk or loop device backend
is unpredictible.
---
test/shell/writecache-blocksize.sh | 270 ++++++++-----------------------------
1 file changed, 58 insertions(+), 212 deletions(-)
diff --git a/test/shell/writecache-blocksize.sh b/test/shell/writecache-blocksize.sh
index 523d4ab80..964ee205c 100644
--- a/test/shell/writecache-blocksize.sh
+++ b/test/shell/writecache-blocksize.sh
@@ -19,16 +19,6 @@ SKIP_WITH_LVMPOLLD=1
aux have_writecache 1 0 0 || skip
which mkfs.xfs || skip
-# Tests with fs block sizes require a libblkid version that shows BLOCK_SIZE
-aux prepare_devs 1
-vgcreate $vg "$dev1"
-lvcreate -n $lv1 -l8 $vg
-mkfs.xfs -f "$DM_DEV_DIR/$vg/$lv1"
-blkid "$DM_DEV_DIR/$vg/$lv1" | grep BLOCK_SIZE || skip
-lvchange -an $vg
-vgremove -ff $vg
-aux cleanup_scsi_debug_dev
-
mnt="mnt"
mkdir -p $mnt
@@ -104,237 +94,93 @@ _verify_data_on_lv() {
lvchange -an $vg/$lv1
}
-# the default is brd ram devs with 512 LBS 4K PBS
-aux prepare_devs 2 64
-
-blockdev --getss "$dev1"
-blockdev --getpbsz "$dev1"
-blockdev --getss "$dev2"
-blockdev --getpbsz "$dev2"
+_check_env() {
-# lbs 512, pbs 4k, xfs 4k, wc 4k
-vgcreate $SHARED $vg "$dev1"
-vgextend $vg "$dev2"
-lvcreate -n $lv1 -l 8 -an $vg "$dev1"
-lvcreate -n $lv2 -l 4 -an $vg "$dev2"
-lvchange -ay $vg/$lv1
-mkfs.xfs -f "$DM_DEV_DIR/$vg/$lv1" |tee out
-grep sectsz=4096 out
-_add_new_data_to_mnt
-lvconvert --yes --type writecache --cachevol $lv2 $vg/$lv1
-blockdev --getss "$DM_DEV_DIR/$vg/$lv1" |tee out
-grep 4096 out
-blockdev --getpbsz "$DM_DEV_DIR/$vg/$lv1"
-_add_more_data_to_mnt
-_verify_data_on_mnt
-lvconvert --splitcache $vg/$lv1
-check lv_field $vg/$lv1 segtype linear
-check lv_field $vg/$lv2 segtype linear
-blockdev --getss "$DM_DEV_DIR/$vg/$lv1"
-blockdev --getpbsz "$DM_DEV_DIR/$vg/$lv1"
-_verify_data_on_mnt
-_verify_more_data_on_mnt
-umount $mnt
-lvchange -an $vg/$lv1
-lvchange -an $vg/$lv2
-_verify_data_on_lv
-lvremove $vg/$lv1
-lvremove $vg/$lv2
-vgremove $vg
+ check sysfs "$(< SCSI_DEBUG_DEV)" queue/logical_block_size "$1"
+ check sysfs "$(< SCSI_DEBUG_DEV)" queue/physical_block_size "$2"
-# lbs 512, pbs 4k, xfs -s 512, wc 512
-vgcreate $SHARED $vg "$dev1"
-vgextend $vg "$dev2"
-lvcreate -n $lv1 -l 8 -an $vg "$dev1"
-lvcreate -n $lv2 -l 4 -an $vg "$dev2"
-lvchange -ay $vg/$lv1
-mkfs.xfs -f -s size=512 "$DM_DEV_DIR/$vg/$lv1" |tee out
-grep sectsz=512 out
-_add_new_data_to_mnt
-lvconvert --yes --type writecache --cachevol $lv2 $vg/$lv1
-blockdev --getss "$DM_DEV_DIR/$vg/$lv1" |tee out
-grep 512 out
-blockdev --getpbsz "$DM_DEV_DIR/$vg/$lv1"
-_add_more_data_to_mnt
-_verify_data_on_mnt
-lvconvert --splitcache $vg/$lv1
-check lv_field $vg/$lv1 segtype linear
-check lv_field $vg/$lv2 segtype linear
-blockdev --getss "$DM_DEV_DIR/$vg/$lv1"
-blockdev --getpbsz "$DM_DEV_DIR/$vg/$lv1"
-_verify_data_on_mnt
-_verify_more_data_on_mnt
-umount $mnt
-lvchange -an $vg/$lv1
-lvchange -an $vg/$lv2
-_verify_data_on_lv
-lvremove $vg/$lv1
-lvremove $vg/$lv2
-vgremove $vg
-
-aux cleanup_scsi_debug_dev
-sleep 1
+ blockdev --getss "$dev1"
+ blockdev --getpbsz "$dev1"
+ blockdev --getss "$dev2"
+ blockdev --getpbsz "$dev2"
+}
+_run_test() {
+ vgcreate $SHARED $vg "$dev1"
+ vgextend $vg "$dev2"
+ lvcreate -n $lv1 -l 8 -an $vg "$dev1"
+ lvcreate -n $lv2 -l 4 -an $vg "$dev2"
+ lvchange -ay $vg/$lv1
+ mkfs.xfs -f $2 "$DM_DEV_DIR/$vg/$lv1" |tee out
+ grep "sectsz=$1" out
+ _add_new_data_to_mnt
+ lvconvert --yes --type writecache --cachevol $lv2 $vg/$lv1
+ blockdev --getss "$DM_DEV_DIR/$vg/$lv1" |tee out
+ grep "$1" out
+ blockdev --getpbsz "$DM_DEV_DIR/$vg/$lv1"
+ _add_more_data_to_mnt
+ _verify_data_on_mnt
+ lvconvert --splitcache $vg/$lv1
+ check lv_field $vg/$lv1 segtype linear
+ check lv_field $vg/$lv2 segtype linear
+ blockdev --getss "$DM_DEV_DIR/$vg/$lv1"
+ blockdev --getpbsz "$DM_DEV_DIR/$vg/$lv1"
+ _verify_data_on_mnt
+ _verify_more_data_on_mnt
+ umount $mnt
+ lvchange -an $vg/$lv1
+ lvchange -an $vg/$lv2
+ _verify_data_on_lv
+ lvremove $vg/$lv1
+ lvremove $vg/$lv2
+ vgremove $vg
+}
# scsi_debug devices with 512 LBS 512 PBS
aux prepare_scsi_debug_dev 256
-check sysfs "$(< SCSI_DEBUG_DEV)" queue/logical_block_size "512"
-check sysfs "$(< SCSI_DEBUG_DEV)" queue/physical_block_size "512"
aux prepare_devs 2 64
-blockdev --getss "$dev1"
-blockdev --getpbsz "$dev1"
-blockdev --getss "$dev2"
-blockdev --getpbsz "$dev2"
+# Tests with fs block sizes require a libblkid version that shows BLOCK_SIZE
+vgcreate $vg "$dev1"
+lvcreate -n $lv1 -L50 $vg
+mkfs.xfs -f "$DM_DEV_DIR/$vg/$lv1"
+blkid "$DM_DEV_DIR/$vg/$lv1" | grep BLOCK_SIZE || skip
+lvchange -an $vg
+vgremove -ff $vg
+
+_check_env "512" "512"
# lbs 512, pbs 512, xfs 512, wc 512
-vgcreate $SHARED $vg "$dev1"
-vgextend $vg "$dev2"
-lvcreate -n $lv1 -l 8 -an $vg "$dev1"
-lvcreate -n $lv2 -l 4 -an $vg "$dev2"
-lvchange -ay $vg/$lv1
-mkfs.xfs -f "$DM_DEV_DIR/$vg/$lv1" |tee out
-grep sectsz=512 out
-_add_new_data_to_mnt
-lvconvert --yes --type writecache --cachevol $lv2 $vg/$lv1
-blockdev --getss "$DM_DEV_DIR/$vg/$lv1" |tee out
-grep 512 out
-blockdev --getpbsz "$DM_DEV_DIR/$vg/$lv1"
-_add_more_data_to_mnt
-_verify_data_on_mnt
-lvconvert --splitcache $vg/$lv1
-check lv_field $vg/$lv1 segtype linear
-check lv_field $vg/$lv2 segtype linear
-blockdev --getss "$DM_DEV_DIR/$vg/$lv1"
-blockdev --getpbsz "$DM_DEV_DIR/$vg/$lv1"
-_verify_data_on_mnt
-_verify_more_data_on_mnt
-umount $mnt
-lvchange -an $vg/$lv1
-lvchange -an $vg/$lv2
-_verify_data_on_lv
-lvremove $vg/$lv1
-lvremove $vg/$lv2
-vgremove $vg
+_run_test 512 ""
# lbs 512, pbs 512, xfs -s 4096, wc 4096
-vgcreate $SHARED $vg "$dev1"
-vgextend $vg "$dev2"
-lvcreate -n $lv1 -l 8 -an $vg "$dev1"
-lvcreate -n $lv2 -l 4 -an $vg "$dev2"
-lvchange -ay $vg/$lv1
-mkfs.xfs -s size=4096 -f "$DM_DEV_DIR/$vg/$lv1" |tee out
-grep sectsz=4096 out
-_add_new_data_to_mnt
-lvconvert --yes --type writecache --cachevol $lv2 $vg/$lv1
-blockdev --getss "$DM_DEV_DIR/$vg/$lv1" |tee out
-grep 4096 out
-blockdev --getpbsz "$DM_DEV_DIR/$vg/$lv1"
-_add_more_data_to_mnt
-_verify_data_on_mnt
-lvconvert --splitcache $vg/$lv1
-check lv_field $vg/$lv1 segtype linear
-check lv_field $vg/$lv2 segtype linear
-blockdev --getss "$DM_DEV_DIR/$vg/$lv1"
-blockdev --getpbsz "$DM_DEV_DIR/$vg/$lv1"
-_verify_data_on_mnt
-_verify_more_data_on_mnt
-umount $mnt
-lvchange -an $vg/$lv1
-lvchange -an $vg/$lv2
-_verify_data_on_lv
-lvremove $vg/$lv1
-lvremove $vg/$lv2
-vgremove $vg
+_run_test 4096 "-s size=4096"
aux cleanup_scsi_debug_dev
-sleep 1
-# scsi_debug devices with 512 LBS and 4K PBS
-aux prepare_scsi_debug_dev 256 sector_size=512 physblk_exp=3
-check sysfs "$(< SCSI_DEBUG_DEV)" queue/logical_block_size "512"
-check sysfs "$(< SCSI_DEBUG_DEV)" queue/physical_block_size "4096"
+# lbs=512, pbs=4096
+aux prepare_scsi_debug_dev 256 sector_size=512 physblk_exp=3 || skip
aux prepare_devs 2 64
-blockdev --getss "$dev1"
-blockdev --getpbsz "$dev1"
-blockdev --getss "$dev2"
-blockdev --getpbsz "$dev2"
+_check_env "512" "4096"
# lbs 512, pbs 4k, xfs 4k, wc 4k
-vgcreate $SHARED $vg "$dev1"
-vgextend $vg "$dev2"
-lvcreate -n $lv1 -l 8 -an $vg "$dev1"
-lvcreate -n $lv2 -l 4 -an $vg "$dev2"
-lvchange -ay $vg/$lv1
-mkfs.xfs -f "$DM_DEV_DIR/$vg/$lv1" |tee out
-grep sectsz=4096 out
-_add_new_data_to_mnt
-lvconvert --yes --type writecache --cachevol $lv2 $vg/$lv1
-blockdev --getss "$DM_DEV_DIR/$vg/$lv1" |tee out
-grep 4096 out
-blockdev --getpbsz "$DM_DEV_DIR/$vg/$lv1"
-_add_more_data_to_mnt
-_verify_data_on_mnt
-lvconvert --splitcache $vg/$lv1
-check lv_field $vg/$lv1 segtype linear
-check lv_field $vg/$lv2 segtype linear
-blockdev --getss "$DM_DEV_DIR/$vg/$lv1"
-blockdev --getpbsz "$DM_DEV_DIR/$vg/$lv1"
-_verify_data_on_mnt
-_verify_more_data_on_mnt
-umount $mnt
-lvchange -an $vg/$lv1
-lvchange -an $vg/$lv2
-_verify_data_on_lv
-lvremove $vg/$lv1
-lvremove $vg/$lv2
-vgremove $vg
+_run_test 4096 ""
+
+# lbs 512, pbs 4k, xfs -s 512, wc 512
+_run_test 512 "-s size=512"
aux cleanup_scsi_debug_dev
-sleep 1
# scsi_debug devices with 4K LBS and 4K PBS
aux prepare_scsi_debug_dev 256 sector_size=4096
-check sysfs "$(< SCSI_DEBUG_DEV)" queue/logical_block_size "4096"
-check sysfs "$(< SCSI_DEBUG_DEV)" queue/physical_block_size "4096"
aux prepare_devs 2 64
-blockdev --getss "$dev1"
-blockdev --getpbsz "$dev1"
-blockdev --getss "$dev2"
-blockdev --getpbsz "$dev2"
+_check_env "4096" "4096"
# lbs 4k, pbs 4k, xfs 4k, wc 4k
-vgcreate $SHARED $vg "$dev1"
-vgextend $vg "$dev2"
-lvcreate -n $lv1 -l 8 -an $vg "$dev1"
-lvcreate -n $lv2 -l 4 -an $vg "$dev2"
-lvchange -ay $vg/$lv1
-mkfs.xfs -f "$DM_DEV_DIR/$vg/$lv1" |tee out
-grep sectsz=4096 out
-_add_new_data_to_mnt
-lvconvert --yes --type writecache --cachevol $lv2 $vg/$lv1
-blockdev --getss "$DM_DEV_DIR/$vg/$lv1" |tee out
-grep 4096 out
-blockdev --getpbsz "$DM_DEV_DIR/$vg/$lv1"
-_add_more_data_to_mnt
-_verify_data_on_mnt
-lvconvert --splitcache $vg/$lv1
-check lv_field $vg/$lv1 segtype linear
-check lv_field $vg/$lv2 segtype linear
-blockdev --getss "$DM_DEV_DIR/$vg/$lv1"
-blockdev --getpbsz "$DM_DEV_DIR/$vg/$lv1"
-_verify_data_on_mnt
-_verify_more_data_on_mnt
-umount $mnt
-lvchange -an $vg/$lv1
-lvchange -an $vg/$lv2
-_verify_data_on_lv
-lvremove $vg/$lv1
-lvremove $vg/$lv2
-vgremove $vg
+_run_test 4096 ""
aux cleanup_scsi_debug_dev
More information about the lvm-devel
mailing list