Tizen 2.1 base
[external/device-mapper.git] / test / t-lvextend-snapshot-dmeventd.sh
1 #!/bin/bash
2 # Copyright (C) 2010 Red Hat, Inc. All rights reserved.
3 #
4 # This copyrighted material is made available to anyone wishing to use,
5 # modify, copy, or redistribute it subject to the terms and conditions
6 # of the GNU General Public License v.2.
7 #
8 # You should have received a copy of the GNU General Public License
9 # along with this program; if not, write to the Free Software Foundation,
10 # Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
11
12 . ./test-utils.sh
13
14 extend() {
15         lvextend --use-policies --config "activation { snapshot_extend_threshold = $1 }" $vg/snap
16 }
17
18 write() {
19         mount $DM_DEV_DIR/$vg/snap mnt
20         dd if=/dev/zero of=mnt/file$1 bs=1k count=$2
21         umount mnt
22 }
23
24 percent() {
25         lvs $vg/snap -o snap_percent --noheadings | cut -c4- | cut -d. -f1
26 }
27
28 which mkfs.ext2 || exit 200
29
30 aux prepare_vg 2
31 aux prepare_dmeventd
32
33 lvcreate -l 8 -n base $vg
34 mkfs.ext2 $DM_DEV_DIR/$vg/base
35
36 lvcreate -s -l 4 -n snap $vg/base
37 lvchange --monitor y $vg/snap
38
39 mkdir mnt
40
41 write 1 4096
42 pre=`percent`
43 sleep 10 # dmeventd only checks every 10 seconds :(
44 post=`percent`
45
46 test $pre = $post
47 write 2 5000
48 pre=`percent`
49 sleep 10 # dmeventd only checks every 10 seconds :(
50 post=`percent`
51 test $pre -gt $post