mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-22 17:35:59 +03:00
110 lines
2.5 KiB
Bash
110 lines
2.5 KiB
Bash
|
#!/usr/bin/env bash
|
||
|
|
||
|
# Copyright (C) 2020 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_description='devices file backups'
|
||
|
|
||
|
SKIP_WITH_LVMPOLLD=1
|
||
|
|
||
|
. lib/inittest
|
||
|
|
||
|
aux prepare_devs 3
|
||
|
|
||
|
aux lvmconf 'devices/use_devicesfile = 1'
|
||
|
|
||
|
# Stupid tests use plain /etc/ rather than /etc/lvm/
|
||
|
DFDIR="$LVM_SYSTEM_DIR/devices"
|
||
|
BKDIR="$LVM_SYSTEM_DIR/devices/backup"
|
||
|
mkdir -p "$DFDIR" || true
|
||
|
mkdir -p "$BKDIR" || true
|
||
|
DF="$DFDIR/system.devices"
|
||
|
|
||
|
vgcreate $vg "$dev1"
|
||
|
diff $DF $BKDIR/*.0001
|
||
|
|
||
|
pvcreate "$dev2"
|
||
|
diff $DF $BKDIR/*.0002
|
||
|
|
||
|
lvmdevices --deldev "$dev2"
|
||
|
diff $DF $BKDIR/*.0003
|
||
|
|
||
|
lvmdevices --adddev "$dev2"
|
||
|
diff $DF $BKDIR/*.0004
|
||
|
|
||
|
# DF update and backup when an entry is manually removed
|
||
|
cat $DF | grep -v "$dev2" > tmp1
|
||
|
cp tmp1 $DF
|
||
|
pvs
|
||
|
diff $DF $BKDIR/*.0005
|
||
|
|
||
|
lvmdevices --adddev "$dev2"
|
||
|
diff $DF $BKDIR/*.0006
|
||
|
|
||
|
# DF update and abckup when HASH value changes
|
||
|
sed -e "s|HASH=.......|HASH=1111111|" $DF > tmp1
|
||
|
cp tmp1 $DF
|
||
|
pvs
|
||
|
not grep "HASH=1111111" $DF
|
||
|
diff $DF $BKDIR/*.0007
|
||
|
|
||
|
# DF update and backup when old DF has no HASH value
|
||
|
cat $DF | grep -v HASH > tmp1
|
||
|
cp tmp1 $DF
|
||
|
pvs
|
||
|
grep HASH $DF
|
||
|
diff $DF $BKDIR/*.0008
|
||
|
|
||
|
# DF update and backup when dev names change
|
||
|
pvcreate "$dev3"
|
||
|
diff $DF $BKDIR/*.0009
|
||
|
grep "$dev2" $DF
|
||
|
grep "$dev3" $DF
|
||
|
dd if="$dev2" of=dev2_header bs=1M count=1
|
||
|
dd if="$dev3" of=dev3_header bs=1M count=1
|
||
|
dd if=dev2_header of="$dev3"
|
||
|
dd if=dev3_header of="$dev2"
|
||
|
pvs
|
||
|
diff $DF $BKDIR/*.0010
|
||
|
|
||
|
# backup limit, remove 1
|
||
|
aux lvmconf 'devices/devicesfile_backup_limit = 10'
|
||
|
lvmdevices --deldev "$dev2"
|
||
|
diff $DF $BKDIR/*.0011
|
||
|
not ls $BKDIR/*.0001
|
||
|
|
||
|
# backup limit, remove N
|
||
|
aux lvmconf 'devices/devicesfile_backup_limit = 5'
|
||
|
lvmdevices --adddev "$dev2"
|
||
|
diff $DF $BKDIR/*.0012
|
||
|
not ls $BKDIR/*.0002
|
||
|
not ls $BKDIR/*.0003
|
||
|
not ls $BKDIR/*.0004
|
||
|
not ls $BKDIR/*.0005
|
||
|
not ls $BKDIR/*.0006
|
||
|
not ls $BKDIR/*.0007
|
||
|
ls $BKDIR/*.0008
|
||
|
ls $BKDIR/*.0009
|
||
|
ls $BKDIR/*.0010
|
||
|
ls $BKDIR/*.0011
|
||
|
|
||
|
# backup disabled
|
||
|
aux lvmconf 'devices/devicesfile_backup_limit = 0'
|
||
|
lvmdevices --deldev "$dev2"
|
||
|
not ls $BKDIR/*.0013
|
||
|
|
||
|
# backup re-enabled
|
||
|
aux lvmconf 'devices/devicesfile_backup_limit = 5'
|
||
|
lvmdevices --adddev "$dev2"
|
||
|
ls $BKDIR/*.0014
|
||
|
not ls $BKDIR/*.0013
|
||
|
|
||
|
vgremove -ff $vg
|