e2fsprogs/tests/r_min_itable/script
Theodore Ts'o 7447da02f0 tests: add test for resize2fs -M with inode table in middle of block group
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>
2013-09-30 23:07:27 -04:00

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