2010-10-29 20:43:51 +04:00
#!/bin/bash
2012-10-14 21:45:59 +04:00
# Copyright (C) 2010-2012 Red Hat, Inc. All rights reserved.
2010-10-29 20:43:51 +04:00
#
# 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# no automatic extensions please
2014-06-06 19:40:04 +04:00
. lib/inittest
2010-10-29 20:43:51 +04:00
2015-05-09 02:59:18 +03:00
test -e LOCAL_LVMPOLLD && skip
2012-03-16 17:00:05 +04:00
which mkfs.ext2 || skip
2010-10-29 20:43:51 +04:00
2011-01-05 03:16:18 +03:00
aux lvmconf "activation/snapshot_autoextend_percent = 0" \
"activation/snapshot_autoextend_threshold = 100"
2010-10-29 20:43:51 +04:00
aux prepare_dmeventd
2012-03-16 17:00:05 +04:00
aux prepare_vg 2
mntdir = " ${ PREFIX } mnt "
2010-10-29 20:43:51 +04:00
2013-06-15 13:21:03 +04:00
lvcreate -aey -L8 -n base $vg
2012-03-16 17:00:05 +04:00
mkfs.ext2 " $DM_DEV_DIR / $vg /base "
2010-10-29 20:43:51 +04:00
2013-06-15 13:21:03 +04:00
lvcreate -s -L4 -n snap $vg /base
2010-10-29 20:43:51 +04:00
lvchange --monitor y $vg /snap
2012-03-16 17:00:05 +04:00
mkdir " $mntdir "
mount " $DM_DEV_DIR /mapper/ $vg -snap " " $mntdir "
2015-05-04 11:18:44 +03:00
2012-03-16 17:00:05 +04:00
cat /proc/mounts | grep " $mntdir "
2015-05-03 02:06:20 +03:00
not dd if = /dev/zero of = " $mntdir /file $1 " bs = 1M count = 5 oflag = direct
2015-05-02 22:14:45 +03:00
2015-05-04 11:18:44 +03:00
# Should be nearly instant check of dmeventd for invalid snapshot.
# Wait here for umount and open_count drops to 0 as it may
# take a while to finalize umount operation (it might be already
# removed from /proc/mounts, but still opened).
for i in { 1..100} ; do
test $( dmsetup info -c --noheadings -o open $vg -snap) -eq 0 && break
sleep .1
2012-10-14 21:45:59 +04:00
done
2010-10-29 20:43:51 +04:00
2012-03-16 17:00:05 +04:00
cat /proc/mounts | not grep " $mntdir "
vgremove -f $vg