mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-22 17:35:59 +03:00
d2bdad28d1
Since 'BLKZEROOUT' streams out more block at once, at can easily zero-out larger set of blocks after 1st. failing one. So the test is adapted to fully 'hide' swap header under error target.
126 lines
2.7 KiB
Bash
126 lines
2.7 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
# Copyright (C) 2013 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
|
|
|
|
# 'Exercise signature wiping during lvcreate'
|
|
|
|
|
|
SKIP_WITH_LVMPOLLD=1
|
|
|
|
. lib/inittest
|
|
|
|
init_lv_() {
|
|
mkswap "$DM_DEV_DIR/$vg/$lv1"
|
|
}
|
|
|
|
test_blkid_() {
|
|
local type
|
|
type=$(blkid -s TYPE -o value -c /dev/null "$DM_DEV_DIR/$vg/$lv1")
|
|
test "$type" = "swap"
|
|
}
|
|
|
|
test_msg_() {
|
|
grep "Wiping swap signature" out
|
|
}
|
|
|
|
aux prepare_vg
|
|
|
|
# lvcreate wipes signatures when found on newly created LV - test this on "swap".
|
|
# Test all combinatios with -Z{y|n} and -W{y|n} and related lvm.conf settings.
|
|
|
|
lvcreate -l1 -n $lv1 $vg
|
|
init_lv_
|
|
# This system has unusable blkid (does not recognize small swap, needs fix...)
|
|
test_blkid_ || skip
|
|
lvremove -f $vg/$lv1
|
|
|
|
# Zeroing stops the command when there is a failure (write error in this case)
|
|
aux error_dev "$dev1" "$(get first_extent_sector "$dev1"):8"
|
|
not lvcreate -l1 -n $lv1 $vg 2>&1 | tee out
|
|
grep "Failed to initialize" out
|
|
aux enable_dev "$dev1"
|
|
|
|
|
|
aux lvmconf "allocation/wipe_signatures_when_zeroing_new_lvs = 0"
|
|
|
|
lvcreate -y -Zn -l1 -n $lv1 $vg 2>&1 | tee out
|
|
not test_msg_
|
|
test_blkid_
|
|
lvremove -f $vg/$lv1
|
|
|
|
lvcreate -y -Zn -Wn -l1 -n $lv1 $vg 2>&1 | tee out
|
|
not test_msg_
|
|
test_blkid_
|
|
lvremove -f $vg/$lv1
|
|
|
|
lvcreate -y -Zn -Wy -l1 -n $lv1 $vg 2>&1 | tee out
|
|
test_msg_
|
|
not test_blkid_
|
|
init_lv_
|
|
lvremove -f $vg/$lv1
|
|
|
|
lvcreate -y -Zy -l1 -n $lv1 $vg 2>&1 | tee out
|
|
not test_msg_
|
|
not test_blkid_
|
|
init_lv_
|
|
lvremove -f $vg/$lv1
|
|
|
|
lvcreate -y -Zy -Wn -l1 -n $lv1 $vg 2>&1 | tee out
|
|
not test_msg_
|
|
not test_blkid_
|
|
init_lv_
|
|
lvremove -f $vg/$lv1
|
|
|
|
lvcreate -y -Zy -Wy -l1 -n $lv1 $vg 2>&1 | tee out
|
|
test_msg_
|
|
not test_blkid_
|
|
init_lv_
|
|
lvremove -f $vg/$lv1
|
|
|
|
|
|
aux lvmconf "allocation/wipe_signatures_when_zeroing_new_lvs = 1"
|
|
|
|
lvcreate -y -Zn -l1 -n $lv1 $vg 2>&1 | tee out
|
|
not test_msg_
|
|
test_blkid_
|
|
lvremove -f $vg/$lv1
|
|
|
|
lvcreate -y -Zn -Wn -l1 -n $lv1 $vg 2>&1 | tee out
|
|
not test_msg_
|
|
test_blkid_
|
|
lvremove -f $vg/$lv1
|
|
|
|
lvcreate -y -Zn -Wy -l1 -n $lv1 $vg 2>&1 | tee out
|
|
test_msg_
|
|
not test_blkid_
|
|
init_lv_
|
|
lvremove -f $vg/$lv1
|
|
|
|
lvcreate -y -Zy -l1 -n $lv1 $vg 2>&1 | tee out
|
|
test_msg_
|
|
not test_blkid_
|
|
init_lv_
|
|
lvremove -f $vg/$lv1
|
|
|
|
lvcreate -y -Zy -Wn -l1 -n $lv1 $vg 2>&1 | tee out
|
|
not test_msg_
|
|
not test_blkid_
|
|
init_lv_
|
|
lvremove -f $vg/$lv1
|
|
|
|
lvcreate -y -Zy -Wy -l1 -n $lv1 $vg 2>&1 | tee out
|
|
test_msg_
|
|
not test_blkid_
|
|
init_lv_
|
|
lvremove -f $vg/$lv1
|
|
|
|
vgremove -f $vg
|