Tizen 2.1 base
[external/device-mapper.git] / test / t-lvextend-snapshot-policy.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 lvcreate -l 8 -n base $vg
32 mkfs.ext2 $DM_DEV_DIR/$vg/base
33
34 lvcreate -s -l 4 -n snap $vg/base
35 mkdir mnt
36
37 write 1 4096
38 pre=`percent`
39 extend 50
40 post=`percent`
41
42 test $pre = $post
43 write 2 4096
44 pre=`percent`
45 extend 50
46 post=`percent`
47 test $pre -gt $post