1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-22 17:35:59 +03:00
lvm2/test/shell/lvextend-snapshot-dmeventd.sh

63 lines
1.5 KiB
Bash
Raw Normal View History

#!/bin/bash
# Copyright (C) 2010 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
. lib/test
extend() {
lvextend --use-policies --config "activation { snapshot_extend_threshold = $1 }" $vg/snap
}
write() {
mount $DM_DEV_DIR/$vg/snap mnt
dd if=/dev/zero of=mnt/file$1 bs=1k count=$2
umount mnt
}
percent() {
lvs $vg/snap -o snap_percent --noheadings | cut -c4- | cut -d. -f1
}
which mkfs.ext2 || skip
aux prepare_vg 3
aux prepare_dmeventd
lvcreate -l 8 -n base $vg
mkfs.ext2 $DM_DEV_DIR/$vg/base
lvcreate -s -l 4 -n snap $vg/base
lvchange --monitor y $vg/snap
mkdir mnt
write 1 4096
pre=`percent`
sleep 15 # dmeventd only checks every 10 seconds :(
post=`percent`
test $pre = $post
write 2 5000
pre=`percent`
sleep 15 # dmeventd only checks every 10 seconds :(
post=`percent`
test $pre -gt $post
# check that a second extension happens; we used to fail to extend when the
# utilisation ended up between THRESH and (THRESH + 10)... see RHBZ 754198
# (the utilisation after the write should be 57 %)
write 3 5000
pre=`percent`
sleep 15 # dmeventd only checks every 10 seconds :(
post=`percent`
test $pre -gt $post