2
# Copyright (C) 2008-2011 Red Hat, Inc. All rights reserved.
2
# Copyright (C) 2008-2012 Red Hat, Inc. All rights reserved.
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
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}
32
33
dev_vg_lv="$DM_DEV_DIR/$vg_lv"
33
mount_dir="$TESTDIR/mnt"
34
dev_vg_lv2="$DM_DEV_DIR/$vg_lv2"
36
mount_space_dir="mnt space dir"
34
37
# for recursive call
35
38
export LVM_BINARY=$(which lvm)
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"
39
43
cleanup_mounted_and_teardown()
41
umount $mount_dir || true
45
umount "$mount_dir" || true
46
umount "$mount_space_dir" || true
47
fsck.ext3 -p -F -f $dev_vg_lv
52
fsck.ext3 -p -F -f "$dev_vg_lv"
57
xfs_check "$dev_vg_lv"
57
reiserfsck --check -p -f $dev_vg_lv </dev/null
62
reiserfsck --check -p -f "$dev_vg_lv" </dev/null
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"
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
80
if check_missing ext2; then
81
mkfs.ext2 -b4096 -j "$dev_vg_lv"
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
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
97
lvresize -f -L20M $vg_lv
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"
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
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
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
120
umount "$mount_space_dir"
91
123
lvresize -f -L20M $vg_lv
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"
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
103
mount $dev_vg_lv $mount_dir
135
mount "$dev_vg_lv" "$mount_dir"
104
136
lvresize -L+10M -r -n $vg_lv
108
140
lvresize -f -L20M $vg_lv
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"
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
119
mount $dev_vg_lv $mount_dir
151
mount "$dev_vg_lv" "$mount_dir"
121
153
fsadm -y --lvresize resize $vg_lv 30M
125
157
lvresize -f -L20M $vg_lv