/
githubmirror
/
lvm2
Обзор
Документация
Войти
/
githubmirror
/
lvm2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
test/shell/writecache-misc.sh
114 строк
3 KB
Zdenek Kabelac
tests: switch to new skip options for test scripts
25 июн 2025, 23:48
25 июн 2025, 23:48
4ee806d
Код
Авторство
О чём код?
#!/usr/bin/env bash # Copyright (C) 2018 Red Hat, Inc. All rights reserved. # # This copyrighted material is made available to anyone wishing to use, # modify, copy, or redistribute it subject to the terms and conditions # of the GNU General Public License v.2. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # Test single lv cache options . lib/inittest --skip-with-lvmpolld --skip-with-lvmlockd mkfs_mount_umount() { lvt=$1 mkfs.xfs -f -s size=4096 "$DM_DEV_DIR/$vg/$lvt" mount "$DM_DEV_DIR/$vg/$lvt" "$mount_dir" cp pattern1 "$mount_dir/pattern1" dd if=/dev/zero of="$mount_dir/zeros2M" bs=1M count=32 conv=fdatasync umount "$mount_dir" } mount_umount() { lvt=$1 mount "$DM_DEV_DIR/$vg/$lvt" "$mount_dir" diff pattern1 "$mount_dir/pattern1" dd if="$mount_dir/zeros2M" of=/dev/null bs=1M count=32 umount "$mount_dir" } aux have_writecache 1 0 0 || skip which mkfs.xfs || skip mount_dir="mnt" mkdir -p "$mount_dir" # generate random data dd if=/dev/urandom of=pattern1 bs=512K count=1 aux prepare_devs 4 301 vgcreate $vg "$dev1" "$dev2" "$dev3" "$dev4" # Create writecache without a specified name so it gets automatic name lvcreate -n $lv1 -L 300 -an $vg "$dev1" lvcreate -y --type writecache -l 4 --cachevol $lv1 $vg "$dev2" check lv_exists $vg lvol0 lvremove -y $vg # # Test pvmove with writecache # lvcreate -n $lv1 -L 300 -an $vg "$dev1" "$dev4" lvcreate -n $lv2 -l 4 -an $vg "$dev2" lvconvert -y --type writecache --cachevol $lv2 $vg/$lv1 lvchange -ay $vg/$lv1 mkfs_mount_umount $lv1 # cannot pvmove the cachevol not pvmove "$dev2" "$dev3" # can pvmove the origin pvmove "$dev1" "$dev3" mount_umount $lv1 # can pvmove the origin, naming the lv with the writecache pvmove -n $vg/$lv1 "$dev3" "$dev1" mount_umount $lv1 lvchange -an $vg/$lv1 lvremove -y $vg/$lv1 # # Test partial and degraded activation # lvcreate -n $lv1 -l 16 -an $vg "$dev1" "$dev2" lvcreate -n $lv2 -l 16 -an $vg "$dev3" "$dev4" lvconvert -y --type writecache --cachevol $lv2 $vg/$lv1 lvs -a -o+devices $vg lvchange -an $vg/$lv1 aux hide_dev "$dev1" not lvchange -ay $vg/$lv1 not lvchange -ay --partial $vg/$lv1 not lvchange -ay --activationmode degraded $vg/$lv1 aux unhide_dev "$dev1" lvchange -ay $vg/$lv1 lvchange -an $vg/$lv1 aux hide_dev "$dev3" not lvchange -ay $vg/$lv1 not lvchange -ay --partial $vg/$lv1 not lvchange -ay --activationmode degraded $vg/$lv1 aux unhide_dev "$dev3" lvchange -ay $vg/$lv1 lvchange -an $vg/$lv1 vgremove -ff $vg