if ! test -x $DEBUGFS_EXE; then
	echo "$test_name: $test_description: skipped (no debugfs)"
	return 0
fi

FSCK_OPT=-fy
OUT=$test_name.log
if [ -f $test_dir/expect.gz ]; then
	EXP=$test_name.tmp
	gunzip < $test_dir/expect.gz > $EXP1
else
	EXP=$test_dir/expect
fi

cat > $TMPFILE.conf << ENDL
[fs_types]
ext4 = {
        base_features = sparse_super,filetype,resize_inode,dir_index,ext_attr,^has_journal,^extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize,^64bit
        blocksize = 1024
        inode_size = 256
        inode_ratio = 16384
}
ENDL
MKE2FS_CONFIG=$TMPFILE.conf $MKE2FS -F -o Linux -b 1024 -O ^bigalloc -T ext4 $TMPFILE 65536 > $OUT.new 2>&1
rm -f $TMPFILE.conf

$FSCK -fy -N test_filesys $TMPFILE >> $OUT.new 2>&1
status=$?
echo Exit status is $status >> $OUT.new

echo "debugfs write files" >> $OUT.new
#Files we create:
# a: fallocate a 40k file
# k: one big file
base=5000
cat > $TMPFILE.cmd << ENDL
write /dev/null a
sif /a bmap[2] 8000
sif /a size 40960
sif /a i_blocks 2
setb 8000
fallocate /a 0 39

write /dev/null b
sif /b size 10240000
sif /b bmap[0] 10000
sif /b i_blocks 2
setb 10000
fallocate /b 0 9999
ENDL
echo "stat /a" >> $TMPFILE.cmd2
echo "stat /b" >> $TMPFILE.cmd2

$DEBUGFS -w -f $TMPFILE.cmd $TMPFILE > /dev/null 2>&1
$DEBUGFS -f $TMPFILE.cmd2 $TMPFILE >> $OUT.new 2>&1

$FSCK -fy -N test_filesys $TMPFILE >> $OUT.new 2>&1
status=$?
echo Exit status is $status >> $OUT.new
sed -f $cmd_dir/filter.sed -e '/^.*time:.*$/d' $OUT.new > $OUT
rm -f $TMPFILE $TMPFILE.cmd $TMPFILE.cmd2 $OUT.new

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
	rm -f $test_name.tmp
fi

unset IMAGE FSCK_OPT OUT EXP
