1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00
lvm2/test/t-lvextend-snapshot-dmeventd.sh
Petr Rockai a341cab721 Implement automatic snapshot extension with dmeventd, and add two new options
to lvm.conf in the activation section: 'snapshot_autoextend_threshold' and
'snapshot_autoextend_percent', that define how to handle automatic snapshot
extension. The former defines when the snapshot should be extended: when its
space usage exceeds this many percent. The latter defines how much extra space
should be allocated for the snapshot, in percent of its current size.
2010-10-15 16:28:14 +00:00

52 lines
1.2 KiB
Bash

#!/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
. ./test-utils.sh
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 || exit 200
aux prepare_vg 2
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 10 # dmeventd only checks every 10 seconds :(
post=`percent`
test $pre = $post
write 2 5000
pre=`percent`
sleep 10 # dmeventd only checks every 10 seconds :(
post=`percent`
test $pre -gt $post