mirror of
https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
synced 2024-11-24 10:33:35 +08:00
7447da02f0
Eric Sandeen reported that Fedora's mke2fs when compiled for ppc was creating a file system which caused problems with resize2fs -M. Closer examination showed that the problem was file system which looked like this: Filesystem features: ext_attr dir_index filetype sparse_super Inode count: 512 Block count: 1247 ... Group 0: (Blocks 1-1024) Primary superblock at 1, Group descriptors at 2-2 Block bitmap at 66 (+65), Inode bitmap at 67 (+66) Inode table at 68-99 (+67) Group 1: (Blocks 1025-1246) Backup superblock at 1025, Group descriptors at 1026-1026 Block bitmap at 1090 (+65), Inode bitmap at 1091 (+66) Inode table at 1092-1123 (+67) It's not obvious to me why Fedora's ppc mke2fs is creating file systems like this (I can't reproduce this on debian ppc systems), but resize2fs -M should be able to deal with such file systems, which is what this test is designed to check. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
44 lines
892 B
Plaintext
44 lines
892 B
Plaintext
if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then
|
|
|
|
IMAGE=$test_dir/image.gz
|
|
FSCK_OPT=-yf
|
|
OUT=$test_name.log
|
|
EXP=$test_dir/expect
|
|
|
|
gunzip < $IMAGE > $TMPFILE
|
|
|
|
echo "resize2fs test" > $OUT
|
|
|
|
echo "resize2fs -M test.img" >> $OUT
|
|
$RESIZE2FS -M $TMPFILE 2>&1 >> $OUT.new 2>&1
|
|
status=$?
|
|
echo Exit status is $status >> $OUT.new
|
|
sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT.new >> $OUT
|
|
|
|
$FSCK $FSCK_OPT -N test_filesys $TMPFILE >> $OUT 2>&1
|
|
echo Exit status is $status >> $OUT
|
|
|
|
rm $TMPFILE $OUT.new
|
|
|
|
#
|
|
# Do the verification
|
|
#
|
|
|
|
cmp -s $OUT $EXP
|
|
status=$?
|
|
|
|
if [ "$status" = 0 ] ; then
|
|
echo "$test_name: $test_description: ok"
|
|
touch $test_name.ok
|
|
else
|
|
echo "$test_name: $test_description: failed"
|
|
diff $DIFF_OPTS $EXP $OUT > $test_name.failed
|
|
fi
|
|
|
|
unset IMAGE FSCK_OPT OUT EXP
|
|
|
|
else #if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then
|
|
echo "$test_name: $test_description: skipped"
|
|
fi
|
|
|