| #!/bin/sh |
| # Copyright (C) 2014 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 |
| |
| # |
| # Checking consistency of old-snapshot metadata after de/activation |
| # Validates recent snapshot target kernel updates and error |
| # is triggered by kernel 3.14-rc[1..5] |
| # http://www.redhat.com/archives/dm-devel/2014-March/msg00005.html |
| # |
| |
| SKIP_WITH_LVMLOCKD=1 |
| SKIP_WITH_LVMPOLLD=1 |
| |
| . lib/inittest |
| |
| # Snapshot should remain unmodified |
| check_s_() { |
| check dev_md5sum $vg s |
| #diff data "$DM_DEV_DIR/$vg/s" |
| } |
| |
| which md5sum || skip |
| |
| aux prepare_vg |
| |
| # 8M file with some random data |
| dd if=/dev/urandom of=data bs=1M count=1 conv=fdatasync |
| dd if=data of=data bs=1M count=7 seek=1 conv=fdatasync |
| echo "$(md5sum data | cut -d' ' -f1) $DM_DEV_DIR/$vg/s" >md5.${vg}-s |
| |
| lvcreate -aey -L 8M -n o $vg |
| dd if=data of="$DM_DEV_DIR/$vg/o" bs=1M conv=fdatasync |
| |
| lvcreate -L 8M -s -n s $vg/o |
| check_s_ |
| |
| dd if=data of="$DM_DEV_DIR/$vg/o" bs=1234567 count=1 skip=1 conv=fdatasync |
| check_s_ |
| lvchange -an $vg |
| |
| lvchange -ay $vg |
| check_s_ |
| |
| dd if=data of="$DM_DEV_DIR/$vg/o" bs=1234567 count=2 skip=1 conv=fdatasync |
| check_s_ |
| |
| lvchange -an $vg |
| lvchange -ay $vg |
| check_s_ |
| |
| vgremove -f $vg |