mirror of
git://sourceware.org/git/lvm2.git
synced 2025-03-10 16:58:47 +03:00
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.
This commit is contained in:
parent
f63aac5309
commit
6b168afcad
@ -19,16 +19,6 @@ SKIP_WITH_LVMPOLLD=1
|
|||||||
aux have_writecache 1 0 0 || skip
|
aux have_writecache 1 0 0 || skip
|
||||||
which mkfs.xfs || 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"
|
mnt="mnt"
|
||||||
mkdir -p $mnt
|
mkdir -p $mnt
|
||||||
|
|
||||||
@ -104,237 +94,93 @@ _verify_data_on_lv() {
|
|||||||
lvchange -an $vg/$lv1
|
lvchange -an $vg/$lv1
|
||||||
}
|
}
|
||||||
|
|
||||||
# the default is brd ram devs with 512 LBS 4K PBS
|
_check_env() {
|
||||||
aux prepare_devs 2 64
|
|
||||||
|
|
||||||
blockdev --getss "$dev1"
|
check sysfs "$(< SCSI_DEBUG_DEV)" queue/logical_block_size "$1"
|
||||||
blockdev --getpbsz "$dev1"
|
check sysfs "$(< SCSI_DEBUG_DEV)" queue/physical_block_size "$2"
|
||||||
blockdev --getss "$dev2"
|
|
||||||
blockdev --getpbsz "$dev2"
|
|
||||||
|
|
||||||
# lbs 512, pbs 4k, xfs 4k, wc 4k
|
blockdev --getss "$dev1"
|
||||||
vgcreate $SHARED $vg "$dev1"
|
blockdev --getpbsz "$dev1"
|
||||||
vgextend $vg "$dev2"
|
blockdev --getss "$dev2"
|
||||||
lvcreate -n $lv1 -l 8 -an $vg "$dev1"
|
blockdev --getpbsz "$dev2"
|
||||||
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
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
|
_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
|
# scsi_debug devices with 512 LBS 512 PBS
|
||||||
aux prepare_scsi_debug_dev 256
|
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
|
aux prepare_devs 2 64
|
||||||
|
|
||||||
blockdev --getss "$dev1"
|
# Tests with fs block sizes require a libblkid version that shows BLOCK_SIZE
|
||||||
blockdev --getpbsz "$dev1"
|
vgcreate $vg "$dev1"
|
||||||
blockdev --getss "$dev2"
|
lvcreate -n $lv1 -L50 $vg
|
||||||
blockdev --getpbsz "$dev2"
|
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
|
# lbs 512, pbs 512, xfs 512, wc 512
|
||||||
vgcreate $SHARED $vg "$dev1"
|
_run_test 512 ""
|
||||||
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
|
|
||||||
|
|
||||||
# lbs 512, pbs 512, xfs -s 4096, wc 4096
|
# lbs 512, pbs 512, xfs -s 4096, wc 4096
|
||||||
vgcreate $SHARED $vg "$dev1"
|
_run_test 4096 "-s size=4096"
|
||||||
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
|
|
||||||
|
|
||||||
aux cleanup_scsi_debug_dev
|
aux cleanup_scsi_debug_dev
|
||||||
sleep 1
|
|
||||||
|
|
||||||
|
|
||||||
# scsi_debug devices with 512 LBS and 4K PBS
|
# lbs=512, pbs=4096
|
||||||
aux prepare_scsi_debug_dev 256 sector_size=512 physblk_exp=3
|
aux prepare_scsi_debug_dev 256 sector_size=512 physblk_exp=3 || skip
|
||||||
check sysfs "$(< SCSI_DEBUG_DEV)" queue/logical_block_size "512"
|
|
||||||
check sysfs "$(< SCSI_DEBUG_DEV)" queue/physical_block_size "4096"
|
|
||||||
aux prepare_devs 2 64
|
aux prepare_devs 2 64
|
||||||
|
|
||||||
blockdev --getss "$dev1"
|
_check_env "512" "4096"
|
||||||
blockdev --getpbsz "$dev1"
|
|
||||||
blockdev --getss "$dev2"
|
|
||||||
blockdev --getpbsz "$dev2"
|
|
||||||
|
|
||||||
# lbs 512, pbs 4k, xfs 4k, wc 4k
|
# lbs 512, pbs 4k, xfs 4k, wc 4k
|
||||||
vgcreate $SHARED $vg "$dev1"
|
_run_test 4096 ""
|
||||||
vgextend $vg "$dev2"
|
|
||||||
lvcreate -n $lv1 -l 8 -an $vg "$dev1"
|
# lbs 512, pbs 4k, xfs -s 512, wc 512
|
||||||
lvcreate -n $lv2 -l 4 -an $vg "$dev2"
|
_run_test 512 "-s size=512"
|
||||||
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
|
|
||||||
|
|
||||||
aux cleanup_scsi_debug_dev
|
aux cleanup_scsi_debug_dev
|
||||||
sleep 1
|
|
||||||
|
|
||||||
|
|
||||||
# scsi_debug devices with 4K LBS and 4K PBS
|
# scsi_debug devices with 4K LBS and 4K PBS
|
||||||
aux prepare_scsi_debug_dev 256 sector_size=4096
|
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
|
aux prepare_devs 2 64
|
||||||
|
|
||||||
blockdev --getss "$dev1"
|
_check_env "4096" "4096"
|
||||||
blockdev --getpbsz "$dev1"
|
|
||||||
blockdev --getss "$dev2"
|
|
||||||
blockdev --getpbsz "$dev2"
|
|
||||||
|
|
||||||
# lbs 4k, pbs 4k, xfs 4k, wc 4k
|
# lbs 4k, pbs 4k, xfs 4k, wc 4k
|
||||||
vgcreate $SHARED $vg "$dev1"
|
_run_test 4096 ""
|
||||||
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
|
|
||||||
|
|
||||||
aux cleanup_scsi_debug_dev
|
aux cleanup_scsi_debug_dev
|
||||||
|
Loading…
x
Reference in New Issue
Block a user