~ubuntu-branches/debian/sid/lvm2/sid

« back to all changes in this revision

Viewing changes to test/shell/fsadm.sh

  • Committer: Package Import Robot
  • Author(s): Bastian Blank
  • Date: 2013-03-03 12:33:47 UTC
  • mfrom: (1.1.15)
  • Revision ID: package-import@ubuntu.com-20130303123347-smfwei6dodkdth55
Tags: 2.02.98-1
New upstream version.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/bin/bash
2
 
# Copyright (C) 2008-2011 Red Hat, Inc. All rights reserved.
 
1
#!/bin/sh
 
2
# Copyright (C) 2008-2012 Red Hat, Inc. All rights reserved.
3
3
#
4
4
# This copyrighted material is made available to anyone wishing to use,
5
5
# modify, copy, or redistribute it subject to the terms and conditions
21
21
check_xfs=
22
22
check_reiserfs=
23
23
 
24
 
which mkfs.ext3 || check_ext3=${check_ext3:=mkfs.ext3}
25
 
which fsck.ext3 || check_ext3=${check_ext3:=fsck.ext3}
26
 
which mkfs.xfs || check_xfs=${check_xfs:=mkfs.xfs}
27
 
which xfs_check || check_xfs=${check_xfs:=xfs_check}
28
 
which mkfs.reiserfs || check_reiserfs=${check_reiserfs:=mkfs.reiserfs}
29
 
which reiserfsck || check_reiserfs=${check_reiserfs:=reiserfsck}
 
24
which mkfs.ext3 || check_ext3=${check_ext3:-mkfs.ext3}
 
25
which fsck.ext3 || check_ext3=${check_ext3:-fsck.ext3}
 
26
which mkfs.xfs || check_xfs=${check_xfs:-mkfs.xfs}
 
27
which xfs_check || check_xfs=${check_xfs:-xfs_check}
 
28
which mkfs.reiserfs || check_reiserfs=${check_reiserfs:-mkfs.reiserfs}
 
29
which reiserfsck || check_reiserfs=${check_reiserfs:-reiserfsck}
30
30
 
31
 
vg_lv="$vg/$lv1"
 
31
vg_lv=$vg/$lv1
 
32
vg_lv2=$vg/${lv1}bar
32
33
dev_vg_lv="$DM_DEV_DIR/$vg_lv"
33
 
mount_dir="$TESTDIR/mnt"
 
34
dev_vg_lv2="$DM_DEV_DIR/$vg_lv2"
 
35
mount_dir="mnt"
 
36
mount_space_dir="mnt space dir"
34
37
# for recursive call
35
38
export LVM_BINARY=$(which lvm)
36
39
 
37
 
test ! -d $mount_dir && mkdir $mount_dir
 
40
test ! -d "$mount_dir" && mkdir "$mount_dir"
 
41
test ! -d "$mount_space_dir" && mkdir "$mount_space_dir"
38
42
 
39
43
cleanup_mounted_and_teardown()
40
44
{
41
 
        umount $mount_dir || true
 
45
        umount "$mount_dir" || true
 
46
        umount "$mount_space_dir" || true
42
47
        aux teardown
43
48
}
44
49
 
45
50
fscheck_ext3()
46
51
{
47
 
        fsck.ext3 -p -F -f $dev_vg_lv
 
52
        fsck.ext3 -p -F -f "$dev_vg_lv"
48
53
}
49
54
 
50
55
fscheck_xfs()
51
56
{
52
 
        xfs_check $dev_vg_lv
 
57
        xfs_check "$dev_vg_lv"
53
58
}
54
59
 
55
60
fscheck_reiserfs()
56
61
{
57
 
        reiserfsck --check -p -f $dev_vg_lv </dev/null
 
62
        reiserfsck --check -p -f "$dev_vg_lv" </dev/null
58
63
}
59
64
 
60
65
check_missing()
63
68
        test -z "$t" && return 0
64
69
        test "$t" = skip && return 1
65
70
        # trick for warning test
66
 
        echo "TEST ""WARNING: fsadm skips $1 tests, $t tool is missing"
 
71
        echo "WARNING: fsadm test skipped $1 tests, $t tool is missing"
67
72
        return 1
68
73
}
69
74
 
70
75
# Test for block sizes != 1024 (rhbz #480022)
71
76
lvcreate -n $lv1 -L20M $vg
 
77
lvcreate -n ${lv1}bar -L10M $vg
72
78
trap 'cleanup_mounted_and_teardown' EXIT
73
79
 
 
80
if check_missing ext2; then
 
81
        mkfs.ext2 -b4096 -j "$dev_vg_lv"
 
82
 
 
83
        fsadm --lvresize resize $vg_lv 30M
 
84
        # Fails - not enough space for 4M fs
 
85
        not fsadm -y --lvresize resize "$dev_vg_lv" 4M
 
86
        lvresize -L+10M -r $vg_lv
 
87
        lvreduce -L10M -r $vg_lv
 
88
 
 
89
        fscheck_ext3
 
90
        mount "$dev_vg_lv" "$mount_dir"
 
91
        not fsadm -y --lvresize resize $vg_lv 4M
 
92
        echo n | not lvresize -L4M -r -n $vg_lv
 
93
        lvresize -L+20M -r -n $vg_lv
 
94
        umount "$mount_dir"
 
95
        fscheck_ext3
 
96
 
 
97
        lvresize -f -L20M $vg_lv
 
98
fi
 
99
 
74
100
if check_missing ext3; then
75
 
        mkfs.ext3 -b4096 -j $dev_vg_lv
 
101
        mkfs.ext3 -b4096 -j "$dev_vg_lv"
 
102
        mkfs.ext3 -b4096 -j "$dev_vg_lv2"
76
103
 
77
104
        fsadm --lvresize resize $vg_lv 30M
78
105
        # Fails - not enough space for 4M fs
79
 
        not fsadm -y --lvresize resize $dev_vg_lv 4M
 
106
        not fsadm -y --lvresize resize "$dev_vg_lv" 4M
80
107
        lvresize -L+10M -r $vg_lv
81
108
        lvreduce -L10M -r $vg_lv
82
109
 
83
110
        fscheck_ext3
84
 
        mount $dev_vg_lv $mount_dir
 
111
        mount "$dev_vg_lv" "$mount_dir"
 
112
        lvresize -L+10M -r $vg_lv
 
113
        mount "$dev_vg_lv2" "$mount_space_dir"
 
114
        fsadm --lvresize -e -y resize $vg_lv2 25M
 
115
 
85
116
        not fsadm -y --lvresize resize $vg_lv 4M
86
117
        echo n | not lvresize -L4M -r -n $vg_lv
87
118
        lvresize -L+20M -r -n $vg_lv
88
 
        umount $mount_dir
 
119
        umount "$mount_dir"
 
120
        umount "$mount_space_dir"
89
121
        fscheck_ext3
90
122
 
91
123
        lvresize -f -L20M $vg_lv
92
124
fi
93
125
 
94
126
if check_missing xfs; then
95
 
        mkfs.xfs -l internal,size=1000b -f $dev_vg_lv
 
127
        mkfs.xfs -l internal,size=1000b -f "$dev_vg_lv"
96
128
 
97
129
        fsadm --lvresize resize $vg_lv 30M
98
130
        # Fails - not enough space for 4M fs
100
132
        not lvreduce -L10M -r $vg_lv
101
133
 
102
134
        fscheck_xfs
103
 
        mount $dev_vg_lv $mount_dir
 
135
        mount "$dev_vg_lv" "$mount_dir"
104
136
        lvresize -L+10M -r -n $vg_lv
105
 
        umount $mount_dir
 
137
        umount "$mount_dir"
106
138
        fscheck_xfs
107
139
 
108
140
        lvresize -f -L20M $vg_lv
109
141
fi
110
142
 
111
143
if check_missing reiserfs; then
112
 
        mkfs.reiserfs -s 513 -f $dev_vg_lv
 
144
        mkfs.reiserfs -s 513 -f "$dev_vg_lv"
113
145
 
114
146
        fsadm --lvresize resize $vg_lv 30M
115
147
        lvresize -L+10M -r $vg_lv
116
148
        fsadm --lvresize -y resize $vg_lv 10M
117
149
 
118
150
        fscheck_reiserfs
119
 
        mount $dev_vg_lv $mount_dir
 
151
        mount "$dev_vg_lv" "$mount_dir"
120
152
 
121
153
        fsadm -y --lvresize resize $vg_lv 30M
122
 
        umount $mount_dir
 
154
        umount "$mount_dir"
123
155
        fscheck_reiserfs
124
156
 
125
157
        lvresize -f -L20M $vg_lv