summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile.in47
-rw-r--r--tests/d_loaddump/expect6
-rw-r--r--tests/d_loaddump/script19
-rw-r--r--tests/d_special_files/expect85
-rw-r--r--tests/d_special_files/name1
-rw-r--r--tests/d_special_files/script94
-rw-r--r--tests/defaults/e_script4
-rw-r--r--tests/e_brel_bma/script3
-rw-r--r--tests/e_icount_normal/name2
-rw-r--r--tests/e_irel_ima/script3
-rw-r--r--tests/f_crashdisk/expect.16
-rw-r--r--tests/f_desc_size_128/expect.17
-rw-r--r--tests/f_desc_size_128/expect.27
-rw-r--r--tests/f_desc_size_128/image.gzbin0 -> 11547 bytes
-rw-r--r--tests/f_desc_size_128/name1
-rw-r--r--tests/f_desc_size_bad/expect.111
-rw-r--r--tests/f_desc_size_bad/expect.27
-rw-r--r--tests/f_desc_size_bad/script17
-rw-r--r--tests/f_dup4/script7
-rw-r--r--tests/f_dup_de/script3
-rw-r--r--tests/f_dup_resize/script9
-rw-r--r--tests/f_eofblocks/expect.113
-rw-r--r--tests/f_eofblocks/expect.27
-rw-r--r--tests/f_eofblocks/image.gzbin0 -> 1364 bytes
-rw-r--r--tests/f_eofblocks/name1
-rw-r--r--tests/f_ext_journal/name1
-rw-r--r--tests/f_extent_interior_start_lblk/expect.112
-rw-r--r--tests/f_extent_interior_start_lblk/expect.27
-rw-r--r--tests/f_extent_interior_start_lblk/image.gzbin0 -> 603 bytes
-rw-r--r--tests/f_extent_interior_start_lblk/name1
-rw-r--r--tests/f_extent_oobounds/expect.124
-rw-r--r--tests/f_extent_oobounds/expect.27
-rw-r--r--tests/f_extent_oobounds/script42
-rw-r--r--tests/f_h_badnode/script3
-rw-r--r--tests/f_h_badroot/script3
-rw-r--r--tests/f_h_normal/script3
-rw-r--r--tests/f_h_reindex/script3
-rw-r--r--tests/f_h_unsigned/script3
-rw-r--r--tests/f_imagic_fs/script3
-rw-r--r--tests/f_invalid_extent_symlink/expect.112
-rw-r--r--tests/f_invalid_extent_symlink/expect.27
-rw-r--r--tests/f_invalid_extent_symlink/image.gzbin0 -> 1115 bytes
-rw-r--r--tests/f_invalid_extent_symlink/name1
-rw-r--r--tests/f_jnl_32bit/expect.0567
-rw-r--r--tests/f_jnl_32bit/expect.116
-rw-r--r--tests/f_jnl_32bit/expect.27
-rw-r--r--tests/f_jnl_32bit/image.gzbin0 -> 44544 bytes
-rw-r--r--tests/f_jnl_32bit/name1
-rw-r--r--tests/f_jnl_32bit/script4
-rw-r--r--tests/f_jnl_64bit/expect.0928
-rw-r--r--tests/f_jnl_64bit/expect.116
-rw-r--r--tests/f_jnl_64bit/expect.27
-rw-r--r--tests/f_jnl_64bit/image.gzbin0 -> 118573 bytes
-rw-r--r--tests/f_jnl_64bit/name1
-rw-r--r--tests/f_jnl_64bit/script4
-rw-r--r--tests/f_jnl_errno/expect.047
-rw-r--r--tests/f_jnl_errno/expect.19
-rw-r--r--tests/f_jnl_errno/expect.27
-rw-r--r--tests/f_jnl_errno/image.gzbin0 -> 8822 bytes
-rw-r--r--tests/f_jnl_errno/name1
-rw-r--r--tests/f_jnl_errno/script4
-rw-r--r--tests/f_mmp/script29
-rw-r--r--tests/f_mmp_garbage/script9
-rw-r--r--tests/f_orphan_extents_inode/expect.110
-rw-r--r--tests/f_orphan_extents_inode/expect.27
-rw-r--r--tests/f_orphan_extents_inode/image.gzbin0 -> 564 bytes
-rw-r--r--tests/f_orphan_extents_inode/name1
-rw-r--r--tests/f_orphan_indirect_inode/expect.13
-rw-r--r--tests/f_orphan_indirect_inode/expect.27
-rw-r--r--tests/f_orphan_indirect_inode/image.gzbin0 -> 592 bytes
-rw-r--r--tests/f_orphan_indirect_inode/name1
-rw-r--r--tests/f_orphan_indirect_inode/script2
-rw-r--r--tests/f_preen/expect.11
-rw-r--r--tests/f_quota/debugfs-cmds7
-rw-r--r--tests/f_quota/expect.021
-rw-r--r--tests/f_quota/expect.113
-rw-r--r--tests/f_quota/expect.27
-rw-r--r--tests/f_quota/image.gzbin0 -> 1046 bytes
-rw-r--r--tests/f_quota/name1
-rw-r--r--tests/f_quota/script4
-rw-r--r--tests/f_rehash_dir/name1
-rw-r--r--tests/f_resize_inode/expect19
-rw-r--r--tests/f_resize_inode/script48
-rw-r--r--tests/f_toobig_extent_dir/expect.112
-rw-r--r--tests/f_toobig_extent_dir/expect.27
-rw-r--r--tests/f_toobig_extent_dir/image.gzbin0 -> 822 bytes
-rw-r--r--tests/f_toobig_extent_dir/name1
-rw-r--r--tests/f_uninit_ext_past_eof/expect.17
-rw-r--r--tests/f_uninit_ext_past_eof/expect.27
-rw-r--r--tests/f_uninit_ext_past_eof/image.gzbin0 -> 5102 bytes
-rw-r--r--tests/f_uninit_ext_past_eof/name1
-rw-r--r--tests/f_uninit_ext_past_eof2/expect.17
-rw-r--r--tests/f_uninit_ext_past_eof2/expect.27
-rw-r--r--tests/f_uninit_ext_past_eof2/image.gzbin0 -> 989 bytes
-rw-r--r--tests/f_uninit_ext_past_eof2/name1
-rw-r--r--tests/f_uninit_last_uninit/script3
-rw-r--r--tests/f_unused_itable/name2
-rw-r--r--tests/f_zero_xattr/expect.17
-rw-r--r--tests/f_zero_xattr/image.gzbin0 -> 707 bytes
-rw-r--r--tests/f_zero_xattr/name1
-rw-r--r--tests/f_zero_xattr/script2
-rw-r--r--tests/filter.sed (renamed from tests/filter_dumpe2fs)15
-rw-r--r--tests/i_e2image/script15
-rw-r--r--tests/m_bigjournal/expect.118
-rw-r--r--tests/m_bigjournal/script4
-rw-r--r--tests/m_dasd_bs/expect.121
-rw-r--r--tests/m_desc_size_128/expect.1838
-rw-r--r--tests/m_desc_size_128/script4
-rw-r--r--tests/m_extent_journal/expect.121
-rw-r--r--tests/m_large_file/expect.121
-rw-r--r--tests/m_meta_bg/expect.120
-rw-r--r--tests/m_mkfs_overhead/script12
-rw-r--r--tests/m_mmp/expect.121
-rw-r--r--tests/m_mmp/script6
-rw-r--r--tests/m_no_opt/expect.120
-rw-r--r--tests/m_quota/expect.1157
-rw-r--r--tests/m_quota/script8
-rw-r--r--tests/m_raid_opt/expect.121
-rw-r--r--tests/m_raid_opt/script2
-rw-r--r--tests/m_root_owner/expect.153
-rw-r--r--tests/m_root_owner/script4
-rw-r--r--tests/m_std/expect.121
-rw-r--r--tests/m_uninit/expect.149
-rw-r--r--tests/mke2fs.conf.in1
-rw-r--r--tests/progs/Makefile.in11
-rw-r--r--tests/progs/crcsum.c68
-rw-r--r--tests/r_1024_small_bg/script31
-rw-r--r--tests/r_64bit_big_expand/script31
-rw-r--r--tests/r_bigalloc_big_expand/script31
-rw-r--r--tests/r_ext4_big_expand/script31
-rw-r--r--tests/r_ext4_small_bg/script31
-rw-r--r--tests/r_inline_xattr/script10
-rw-r--r--tests/r_min_itable/expect15
-rw-r--r--tests/r_min_itable/image.gzbin0 -> 3597 bytes
-rw-r--r--tests/r_min_itable/name1
-rw-r--r--tests/r_min_itable/script45
-rw-r--r--tests/r_move_itable/expect4
-rw-r--r--tests/r_move_itable/script50
-rw-r--r--tests/r_resize_inode/expect3
-rw-r--r--tests/r_resize_inode/script47
-rw-r--r--tests/run_e2fsck43
-rw-r--r--tests/run_mke2fs7
-rwxr-xr-xtests/scripts/resize_test172
-rw-r--r--tests/t_ext_jnl_rm/script8
-rw-r--r--tests/t_mmp_1on/script15
-rw-r--r--tests/t_mmp_2off/script15
-rw-r--r--tests/t_quota_1on/name1
-rw-r--r--tests/t_quota_1on/script42
-rw-r--r--tests/t_quota_2off/name1
-rw-r--r--tests/t_quota_2off/script35
-rw-r--r--tests/test_config6
-rw-r--r--tests/test_one.in69
-rwxr-xr-xtests/test_post17
-rw-r--r--tests/test_script.in71
-rw-r--r--tests/u_mke2fs/script8
-rw-r--r--tests/u_tune2fs/script8
156 files changed, 4144 insertions, 502 deletions
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 9dd10340..37a043ea 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -11,33 +11,46 @@ INSTALL = @INSTALL@
@MCONFIG@
-all:: @DO_TEST_SUITE@
+all:: @DO_TEST_SUITE@ test_one test_script
-test_script: test_script.in Makefile mke2fs.conf
+test_one: $(srcdir)/test_one.in Makefile mke2fs.conf
+ @echo "Creating test_one script..."
+ @echo "#!/bin/sh" > test_one
+@HTREE_CMT@ @echo "HTREE=y" >> test_one
+@QUOTA_CMT@ @echo "QUOTA=y" >> test_one
+ @echo "SRCDIR=@srcdir@" >> test_one
+ @echo "DIFF_OPTS=@UNI_DIFF_OPTS@" >> test_one
+ @cat $(srcdir)/test_one.in >> test_one
+ @chmod +x test_one
+
+test_script: test_one test_script.in Makefile mke2fs.conf
@echo "Creating test_script..."
@echo "#!/bin/sh" > test_script
-@HTREE_CMT@ @echo "HTREE=y" >> test_script
- @echo 'EGREP="@EGREP@"' >> test_script
@echo "SRCDIR=@srcdir@" >> test_script
- @echo "DIFF_OPTS=@UNI_DIFF_OPTS@" >> test_script
@cat $(srcdir)/test_script.in >> test_script
@chmod +x test_script
mke2fs.conf: $(srcdir)/mke2fs.conf.in
$(CP) $(srcdir)/mke2fs.conf.in mke2fs.conf
-check:: test_script
+.PHONY : test_pre test_post check always_run
+
+TESTS=$(wildcard $(srcdir)/[a-z]_*)
+$(TESTS):: test_one always_run
+ @./test_one $@
+
+test_pre:
+ @$(RM) -f *.failed
@echo "Running e2fsprogs test suite..."
@echo " "
- @./test_script
-check-failed:
- @a=`/bin/ls *.failed 2> /dev/null | sed -e 's/.failed//'`; \
- if test "$$a"x == x ; then \
- echo "No failed tests" ; \
- else \
- ./test_script $$a ; \
- fi
+test_post: test_pre $(TESTS)
+ @$(srcdir)/test_post
+
+check:: test_pre test_post test_script
+
+check-failed: $(basename $(wildcard *.failed))
+ @$(srcdir)/test_post
TDIR=f_testnew
@@ -54,9 +67,9 @@ testnew:
EXPECT1=${TDIR}/expect.1
EXPECT2=${TDIR}/expect.2
# Target which generates the expect files for the new testcase.
-testend: test_script ${TDIR}/image
+testend: test_one ${TDIR}/image
gzip -9 ${TDIR}/image
- @OUT1=${EXPECT1} OUT2=${EXPECT2} ./test_script ${TDIR}
+ @OUT1=${EXPECT1} OUT2=${EXPECT2} ./test_one ${TDIR}
@echo; echo; echo "*** output from first e2fsck run (${EXPECT1}) ***"
@cat ${EXPECT1}
@echo "*** output from second e2fsck run (${EXPECT2}) ***"
@@ -66,7 +79,7 @@ testend: test_script ${TDIR}/image
@echo "If all is well, edit ${TDIR}/name and rename ${TDIR}."
clean::
- $(RM) -f *~ *.log *.new *.failed *.ok test.img test_script mke2fs.conf
+ $(RM) -f *~ *.log *.new *.failed *.ok *.tmp test_one test_script mke2fs.conf
distclean:: clean
$(RM) -f Makefile
diff --git a/tests/d_loaddump/expect b/tests/d_loaddump/expect
index e142eac3..f70df88d 100644
--- a/tests/d_loaddump/expect
+++ b/tests/d_loaddump/expect
@@ -1,7 +1,7 @@
debugfs load/dump test
mke2fs -Fq -b 1024 test.img 512
Exit status is 0
-debugfs -R ''write test.data test_data'' -w test.img
+debugfs -R ''write d_loaddump.tmp test_data'' -w test.img
Allocated inode: 12
Exit status is 0
e2fsck -yf -N test_filesys
@@ -12,7 +12,7 @@ Pass 4: Checking reference counts
Pass 5: Checking group summary information
test_filesys: 12/64 files (0.0% non-contiguous), 158/512 blocks
Exit status is 0
-debugfs -R ''dump test_data test.verify'' test.img
+debugfs -R ''dump test_data d_loaddump.ver.tmp'' test.img
Exit status is 0
-cmp test.data test.verify
+cmp d_loaddump.tmp d_loaddump.ver.tmp
Exit status is 0
diff --git a/tests/d_loaddump/script b/tests/d_loaddump/script
index 48253752..39727ba6 100644
--- a/tests/d_loaddump/script
+++ b/tests/d_loaddump/script
@@ -4,8 +4,8 @@ OUT=$test_name.log
EXP=$test_dir/expect
VERIFY_FSCK_OPT=-yf
-TEST_DATA=test.data
-VERIFY_DATA=test.verify
+TEST_DATA=$test_name.tmp
+VERIFY_DATA=$test_name.ver.tmp
echo "debugfs load/dump test" > $OUT
@@ -24,19 +24,19 @@ echo "debugfs -R ''write $TEST_DATA test_data'' -w test.img" > $OUT.new
$DEBUGFS -R "write $TEST_DATA test_data" -w $TMPFILE >> $OUT.new 2>&1
status=$?
echo Exit status is $status >> $OUT.new
-sed -e '2d' $OUT.new >> $OUT
+sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
echo e2fsck $VERIFY_FSCK_OPT -N test_filesys > $OUT.new
$FSCK $VERIFY_FSCK_OPT -N test_filesys $TMPFILE >> $OUT.new 2>&1
status=$?
echo Exit status is $status >> $OUT.new
-sed -e '2d' $OUT.new >> $OUT
+sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
echo "debugfs -R ''dump test_data $VERIFY_DATA'' test.img" > $OUT.new
$DEBUGFS -R "dump test_data $VERIFY_DATA" $TMPFILE >> $OUT.new 2>&1
status=$?
echo Exit status is $status >> $OUT.new
-sed -e '2d' $OUT.new >> $OUT
+sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
echo "cmp $TEST_DATA $VERIFY_DATA" >> $OUT
cmp $TEST_DATA $VERIFY_DATA >>$OUT
@@ -47,21 +47,20 @@ echo Exit status is $status >> $OUT
# Do the verification
#
-rm -f $test_name.ok $test_name.failed $VERIFY_DATA $TEST_DATA $TMPFILE $OUT.new
+rm -f $VERIFY_DATA $TEST_DATA $TMPFILE $OUT.new
cmp -s $OUT $EXP
status=$?
if [ "$status" = 0 ] ; then
- echo "ok"
+ echo "$test_name: $test_description: ok"
touch $test_name.ok
else
- echo "failed"
+ echo "$test_name: $test_description: failed"
diff $DIFF_OPTS $EXP $OUT > $test_name.failed
fi
unset VERIFY_FSCK_OPT NATIVE_FSCK_OPT OUT EXP TEST_DATA VERIFY_DATA
else #if test -x $DEBUGFS_EXE; then
- rm -f $test_name.ok $test_name.failed
- echo "skipped"
+ echo "$test_name: $test_description: skipped"
fi
diff --git a/tests/d_special_files/expect b/tests/d_special_files/expect
new file mode 100644
index 00000000..2b2dbfaa
--- /dev/null
+++ b/tests/d_special_files/expect
@@ -0,0 +1,85 @@
+debugfs create special files
+mke2fs -Fq -b 1024 test.img 512
+Exit status is 0
+debugfs -R ''stat foo'' -w test.img
+Inode: 12 Type: symlink Mode: 0777 Flags: 0x0
+Generation: 0 Version: 0x00000000
+User: 0 Group: 0 Size: 3
+File ACL: 0 Directory ACL: 0
+Links: 1 Blockcount: 0
+Fragment: Address: 0 Number: 0 Size: 0
+ctime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013
+atime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013
+mtime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013
+Fast_link_dest: bar
+Exit status is 0
+debugfs -R ''stat foo2'' -w test.img
+Inode: 13 Type: symlink Mode: 0777 Flags: 0x0
+Generation: 0 Version: 0x00000000
+User: 0 Group: 0 Size: 80
+File ACL: 0 Directory ACL: 0
+Links: 1 Blockcount: 2
+Fragment: Address: 0 Number: 0 Size: 0
+ctime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013
+atime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013
+mtime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013
+BLOCKS:
+(0):28
+TOTAL: 1
+
+Exit status is 0
+debugfs -R ''block_dump 28'' -w test.img
+0000 3132 3334 3536 3738 3930 3132 3334 3536 1234567890123456
+0020 3738 3930 3132 3334 3536 3738 3930 3132 7890123456789012
+0040 3334 3536 3738 3930 3132 3334 3536 3738 3456789012345678
+0060 3930 3132 3334 3536 3738 3930 3132 3334 9012345678901234
+0100 3536 3738 3930 3132 3334 3536 3738 3930 5678901234567890
+0120 0000 0000 0000 0000 0000 0000 0000 0000 ................
+*
+
+Exit status is 0
+debugfs -R ''stat pipe'' -w test.img
+Inode: 14 Type: FIFO Mode: 0000 Flags: 0x0
+Generation: 0 Version: 0x00000000
+User: 0 Group: 0 Size: 0
+File ACL: 0 Directory ACL: 0
+Links: 1 Blockcount: 0
+Fragment: Address: 0 Number: 0 Size: 0
+ctime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013
+atime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013
+mtime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013
+BLOCKS:
+
+Exit status is 0
+debugfs -R ''stat sda'' -w test.img
+Inode: 15 Type: block special Mode: 0000 Flags: 0x0
+Generation: 0 Version: 0x00000000
+User: 0 Group: 0 Size: 0
+File ACL: 0 Directory ACL: 0
+Links: 1 Blockcount: 0
+Fragment: Address: 0 Number: 0 Size: 0
+ctime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013
+atime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013
+mtime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013
+Device major/minor number: 08:00 (hex 08:00)
+Exit status is 0
+debugfs -R ''stat null'' -w test.img
+Inode: 16 Type: character special Mode: 0000 Flags: 0x0
+Generation: 0 Version: 0x00000000
+User: 0 Group: 0 Size: 0
+File ACL: 0 Directory ACL: 0
+Links: 1 Blockcount: 0
+Fragment: Address: 0 Number: 0 Size: 0
+ctime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013
+atime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013
+mtime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013
+Device major/minor number: 01:03 (hex 01:03)
+Exit status is 0
+e2fsck -yf -N test_filesys
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+test_filesys: 16/64 files (0.0% non-contiguous), 29/512 blocks
+Exit status is 0
diff --git a/tests/d_special_files/name b/tests/d_special_files/name
new file mode 100644
index 00000000..98d10d23
--- /dev/null
+++ b/tests/d_special_files/name
@@ -0,0 +1 @@
+create special files in debugfs
diff --git a/tests/d_special_files/script b/tests/d_special_files/script
new file mode 100644
index 00000000..9bdff5d0
--- /dev/null
+++ b/tests/d_special_files/script
@@ -0,0 +1,94 @@
+if test -x $DEBUGFS_EXE; then
+
+OUT=$test_name.log
+EXP=$test_dir/expect
+VERIFY_FSCK_OPT=-yf
+
+TEST_DATA=$test_name.tmp
+VERIFY_DATA=$test_name.ver.tmp
+
+echo "debugfs create special files" > $OUT
+
+dd if=/dev/zero of=$TMPFILE bs=1k count=512 > /dev/null 2>&1
+
+echo "mke2fs -Fq -b 1024 test.img 512" >> $OUT
+
+$MKE2FS -Fq $TMPFILE 512 > /dev/null 2>&1
+status=$?
+echo Exit status is $status >> $OUT
+
+$DEBUGFS -w $TMPFILE << EOF > /dev/null 2>&1
+set_current_time 20130115140000
+set_super_value lastcheck 0
+set_super_value hash_seed null
+set_super_value mkfs_time 0
+symlink foo bar
+symlink foo2 12345678901234567890123456789012345678901234567890123456789012345678901234567890
+mknod pipe p
+mknod sda b 8 0
+mknod null c 1 3
+EOF
+
+echo "debugfs -R ''stat foo'' -w test.img" > $OUT.new
+$DEBUGFS -R "stat foo" -w $TMPFILE >> $OUT.new 2>&1
+status=$?
+echo Exit status is $status >> $OUT.new
+sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
+
+echo "debugfs -R ''stat foo2'' -w test.img" > $OUT.new
+$DEBUGFS -R "stat foo2" -w $TMPFILE >> $OUT.new 2>&1
+status=$?
+echo Exit status is $status >> $OUT.new
+sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
+
+echo "debugfs -R ''block_dump 28'' -w test.img" > $OUT.new
+$DEBUGFS -R "block_dump 28" -w $TMPFILE >> $OUT.new 2>&1
+status=$?
+echo Exit status is $status >> $OUT.new
+sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
+
+echo "debugfs -R ''stat pipe'' -w test.img" > $OUT.new
+$DEBUGFS -R "stat pipe" -w $TMPFILE >> $OUT.new 2>&1
+status=$?
+echo Exit status is $status >> $OUT.new
+sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
+
+echo "debugfs -R ''stat sda'' -w test.img" > $OUT.new
+$DEBUGFS -R "stat sda" -w $TMPFILE >> $OUT.new 2>&1
+status=$?
+echo Exit status is $status >> $OUT.new
+sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
+
+echo "debugfs -R ''stat null'' -w test.img" > $OUT.new
+$DEBUGFS -R "stat null" -w $TMPFILE >> $OUT.new 2>&1
+status=$?
+echo Exit status is $status >> $OUT.new
+sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
+
+echo e2fsck $VERIFY_FSCK_OPT -N test_filesys > $OUT.new
+$FSCK $VERIFY_FSCK_OPT -N test_filesys $TMPFILE >> $OUT.new 2>&1
+status=$?
+echo Exit status is $status >> $OUT.new
+sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
+
+#
+# Do the verification
+#
+
+rm -f $TMPFILE $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
+fi
+
+unset VERIFY_FSCK_OPT NATIVE_FSCK_OPT OUT EXP TEST_DATA VERIFY_DATA
+
+else #if test -x $DEBUGFS_EXE; then
+ echo "$test_name: $test_description: skipped"
+fi
diff --git a/tests/defaults/e_script b/tests/defaults/e_script
index b9150ba7..8c9cfb6a 100644
--- a/tests/defaults/e_script
+++ b/tests/defaults/e_script
@@ -37,10 +37,10 @@ status=$?
rm -f $test_name.failed $test_name.ok
if [ "$status" = 0 ] ; then
- echo "ok"
+ echo "$test_name: $test_description: ok"
touch $test_name.ok
else
- echo "failed"
+ echo "$test_name: $test_description: failed"
diff $DIFF_OPTS $EXPECT $OUT > $test_name.failed
fi
diff --git a/tests/e_brel_bma/script b/tests/e_brel_bma/script
index c046675e..037e2fb0 100644
--- a/tests/e_brel_bma/script
+++ b/tests/e_brel_bma/script
@@ -1,2 +1 @@
-rm -f $test_name.ok $test_name.failed
-echo "skipped"
+echo "$test_name: $test_description: skipped"
diff --git a/tests/e_icount_normal/name b/tests/e_icount_normal/name
index eafa8020..13178768 100644
--- a/tests/e_icount_normal/name
+++ b/tests/e_icount_normal/name
@@ -1 +1 @@
-inode counting abstraction optimized for storing inode counts
+inode counting structure optimized for low counts
diff --git a/tests/e_irel_ima/script b/tests/e_irel_ima/script
index c046675e..037e2fb0 100644
--- a/tests/e_irel_ima/script
+++ b/tests/e_irel_ima/script
@@ -1,2 +1 @@
-rm -f $test_name.ok $test_name.failed
-echo "skipped"
+echo "$test_name: $test_description: skipped"
diff --git a/tests/f_crashdisk/expect.1 b/tests/f_crashdisk/expect.1
index 70ddf2ec..977a469f 100644
--- a/tests/f_crashdisk/expect.1
+++ b/tests/f_crashdisk/expect.1
@@ -2,10 +2,12 @@ ext2fs_open2: The ext2 superblock is corrupt
../e2fsck/e2fsck: Superblock invalid, trying backup blocks...
../e2fsck/e2fsck: The ext2 superblock is corrupt while trying to open test.img
-The superblock could not be read or does not describe a correct ext2
-filesystem. If the device is valid and it really contains an ext2
+The superblock could not be read or does not describe a valid ext2/ext3/ext4
+filesystem. If the device is valid and it really contains an ext2/ext3/ext4
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
+ or
+ e2fsck -b 32768 <device>
Exit status is 8
diff --git a/tests/f_desc_size_128/expect.1 b/tests/f_desc_size_128/expect.1
new file mode 100644
index 00000000..a62f112e
--- /dev/null
+++ b/tests/f_desc_size_128/expect.1
@@ -0,0 +1,7 @@
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+test_filesys: 11/256 files (0.0% non-contiguous), 150/8192 blocks
+Exit status is 0
diff --git a/tests/f_desc_size_128/expect.2 b/tests/f_desc_size_128/expect.2
new file mode 100644
index 00000000..a62f112e
--- /dev/null
+++ b/tests/f_desc_size_128/expect.2
@@ -0,0 +1,7 @@
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+test_filesys: 11/256 files (0.0% non-contiguous), 150/8192 blocks
+Exit status is 0
diff --git a/tests/f_desc_size_128/image.gz b/tests/f_desc_size_128/image.gz
new file mode 100644
index 00000000..eda0cabc
--- /dev/null
+++ b/tests/f_desc_size_128/image.gz
Binary files differ
diff --git a/tests/f_desc_size_128/name b/tests/f_desc_size_128/name
new file mode 100644
index 00000000..f09e003e
--- /dev/null
+++ b/tests/f_desc_size_128/name
@@ -0,0 +1 @@
+128-byte group descriptors
diff --git a/tests/f_desc_size_bad/expect.1 b/tests/f_desc_size_bad/expect.1
new file mode 100644
index 00000000..009ee041
--- /dev/null
+++ b/tests/f_desc_size_bad/expect.1
@@ -0,0 +1,11 @@
+ext2fs_check_desc: Block group descriptor size incorrect
+../e2fsck/e2fsck: Group descriptors look bad... trying backup blocks...
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+
+test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
+test_filesys: 11/32 files (0.0% non-contiguous), 801/2048 blocks
+Exit status is 1
diff --git a/tests/f_desc_size_bad/expect.2 b/tests/f_desc_size_bad/expect.2
new file mode 100644
index 00000000..d1429fdc
--- /dev/null
+++ b/tests/f_desc_size_bad/expect.2
@@ -0,0 +1,7 @@
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+test_filesys: 11/32 files (0.0% non-contiguous), 801/2048 blocks
+Exit status is 0
diff --git a/tests/f_desc_size_bad/script b/tests/f_desc_size_bad/script
new file mode 100644
index 00000000..54403286
--- /dev/null
+++ b/tests/f_desc_size_bad/script
@@ -0,0 +1,17 @@
+if ! test -x $DEBUGFS_EXE; then
+ echo "$test_name: $test_description: skipped"
+ return 0
+fi
+
+DESCRIPTION="bad superblock s_desc_size"
+SKIP_GUNZIP=true
+touch $TMPFILE
+$MKE2FS -F -o Linux -O 64bit,extents -N 32 -b 1024 -g 512 -E desc_size=128 $TMPFILE 2048 > $test_name.log 2>&1
+$DEBUGFS -R "ssv desc_size 129" -w $TMPFILE >> $test_name.log 2>&1
+
+E2FSCK_TIME=200704102100
+export E2FSCK_TIME
+
+. $cmd_dir/run_e2fsck
+
+unset E2FSCK_TIME
diff --git a/tests/f_dup4/script b/tests/f_dup4/script
index 290dcc92..498f5259 100644
--- a/tests/f_dup4/script
+++ b/tests/f_dup4/script
@@ -1,14 +1,14 @@
if test -x $DEBUGFS_EXE; then
SKIP_GUNZIP="true"
-TEST_DATA="test.data"
+TEST_DATA="$test_name.tmp"
echo "/ Murphy Magic. The SeCrEt of the UnIvErSe is 43, NOT 42" > $TEST_DATA
touch $TMPFILE
$MKE2FS -N 32 -F -o Linux -b 1024 $TMPFILE 100 > /dev/null 2>&1
$DEBUGFS -w $TMPFILE << EOF > /dev/null 2>&1
-set_current_time 200704102100
+set_current_time 20070410210000
set_super_value lastcheck 0
set_super_value hash_seed null
set_super_value mkfs_time 0
@@ -52,6 +52,5 @@ rm -f $TEST_DATA
unset E2FSCK_TIME TEST_DATA
else #if test -x $DEBUGFS_EXE; then
- rm -f $test_name.ok $test_name.failed
- echo "skipped"
+ echo "$test_name: $test_description: skipped"
fi
diff --git a/tests/f_dup_de/script b/tests/f_dup_de/script
index d331003f..60378cdc 100644
--- a/tests/f_dup_de/script
+++ b/tests/f_dup_de/script
@@ -12,6 +12,5 @@ fi
rm -f "$TMPFILE".gz
else #if test -x $DEBUGFS_EXE; then
- rm -f $test_name.ok $test_name.failed
- echo "skipped"
+ echo "$test_name: $test_description: skipped"
fi
diff --git a/tests/f_dup_resize/script b/tests/f_dup_resize/script
index 3f87cbba..659c92ee 100644
--- a/tests/f_dup_resize/script
+++ b/tests/f_dup_resize/script
@@ -1,7 +1,7 @@
if test -x $DEBUGFS_EXE; then
SKIP_GUNZIP="true"
-TEST_DATA="test.data"
+TEST_DATA="$test_name.tmp"
dd if=$TEST_BITS of=$TEST_DATA bs=63k count=1 conv=sync > /dev/null 2>&1
@@ -11,8 +11,8 @@ $DEBUGFS -w $TMPFILE << EOF > /dev/null 2>&1
freeb 4 4
freeb 8195 4
write $TEST_DATA debugfs
-set_current_time 200504110000
-set_inode_field debugfs mtime 200504110000
+set_current_time 20050411000000
+set_inode_field debugfs mtime 2005041100000000
q
EOF
@@ -26,6 +26,5 @@ rm -f $TEST_DATA
unset E2FSCK_TIME TEST_DATA
else #if test -x $DEBUGFS_EXE; then
- rm -f $test_name.ok $test_name.failed
- echo "skipped"
+ echo "$test_name: $test_description: skipped"
fi
diff --git a/tests/f_eofblocks/expect.1 b/tests/f_eofblocks/expect.1
new file mode 100644
index 00000000..2e9133e1
--- /dev/null
+++ b/tests/f_eofblocks/expect.1
@@ -0,0 +1,13 @@
+Pass 1: Checking inodes, blocks, and sizes
+Inode 30, i_size is 2048, should be 4096. Fix? yes
+
+Inode 31, i_size is 2048, should be 4096. Fix? yes
+
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+
+test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
+test_filesys: 31/56 files (29.0% non-contiguous), 83/400 blocks
+Exit status is 1
diff --git a/tests/f_eofblocks/expect.2 b/tests/f_eofblocks/expect.2
new file mode 100644
index 00000000..2a2bca5c
--- /dev/null
+++ b/tests/f_eofblocks/expect.2
@@ -0,0 +1,7 @@
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+test_filesys: 31/56 files (29.0% non-contiguous), 83/400 blocks
+Exit status is 0
diff --git a/tests/f_eofblocks/image.gz b/tests/f_eofblocks/image.gz
new file mode 100644
index 00000000..2586a6a7
--- /dev/null
+++ b/tests/f_eofblocks/image.gz
Binary files differ
diff --git a/tests/f_eofblocks/name b/tests/f_eofblocks/name
new file mode 100644
index 00000000..d93adc19
--- /dev/null
+++ b/tests/f_eofblocks/name
@@ -0,0 +1 @@
+blocks after i_size
diff --git a/tests/f_ext_journal/name b/tests/f_ext_journal/name
new file mode 100644
index 00000000..10e950cf
--- /dev/null
+++ b/tests/f_ext_journal/name
@@ -0,0 +1 @@
+test external journal device
diff --git a/tests/f_extent_interior_start_lblk/expect.1 b/tests/f_extent_interior_start_lblk/expect.1
new file mode 100644
index 00000000..f5b7d46a
--- /dev/null
+++ b/tests/f_extent_interior_start_lblk/expect.1
@@ -0,0 +1,12 @@
+Pass 1: Checking inodes, blocks, and sizes
+Interior extent node level 0 of inode 12:
+Logical start 0 does not match logical start 2 at next level. Fix? yes
+
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+
+test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
+test_filesys: 12/16 files (0.0% non-contiguous), 29/100 blocks
+Exit status is 1
diff --git a/tests/f_extent_interior_start_lblk/expect.2 b/tests/f_extent_interior_start_lblk/expect.2
new file mode 100644
index 00000000..06c6082c
--- /dev/null
+++ b/tests/f_extent_interior_start_lblk/expect.2
@@ -0,0 +1,7 @@
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+test_filesys: 12/16 files (0.0% non-contiguous), 29/100 blocks
+Exit status is 0
diff --git a/tests/f_extent_interior_start_lblk/image.gz b/tests/f_extent_interior_start_lblk/image.gz
new file mode 100644
index 00000000..0ed71286
--- /dev/null
+++ b/tests/f_extent_interior_start_lblk/image.gz
Binary files differ
diff --git a/tests/f_extent_interior_start_lblk/name b/tests/f_extent_interior_start_lblk/name
new file mode 100644
index 00000000..fbd5f58f
--- /dev/null
+++ b/tests/f_extent_interior_start_lblk/name
@@ -0,0 +1 @@
+incorrect starting lblk in an interior node
diff --git a/tests/f_extent_oobounds/expect.1 b/tests/f_extent_oobounds/expect.1
new file mode 100644
index 00000000..3164ea0e
--- /dev/null
+++ b/tests/f_extent_oobounds/expect.1
@@ -0,0 +1,24 @@
+Pass 1: Checking inodes, blocks, and sizes
+Inode 12, end of extent exceeds allowed value
+ (logical block 15, physical block 200, len 30)
+Clear? yes
+
+Inode 12, i_blocks is 154, should be 94. Fix? yes
+
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+Block bitmap differences: -(200--229)
+Fix? yes
+
+Free blocks count wrong for group #0 (156, counted=186).
+Fix? yes
+
+Free blocks count wrong (156, counted=186).
+Fix? yes
+
+
+test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
+test_filesys: 12/32 files (8.3% non-contiguous), 70/256 blocks
+Exit status is 1
diff --git a/tests/f_extent_oobounds/expect.2 b/tests/f_extent_oobounds/expect.2
new file mode 100644
index 00000000..22c4f2cc
--- /dev/null
+++ b/tests/f_extent_oobounds/expect.2
@@ -0,0 +1,7 @@
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+test_filesys: 12/32 files (8.3% non-contiguous), 70/256 blocks
+Exit status is 0
diff --git a/tests/f_extent_oobounds/script b/tests/f_extent_oobounds/script
new file mode 100644
index 00000000..b00b031a
--- /dev/null
+++ b/tests/f_extent_oobounds/script
@@ -0,0 +1,42 @@
+if test -x $DEBUGFS_EXE; then
+
+SKIP_GUNZIP="true"
+TEST_DATA="$test_name.tmp"
+
+dd if=/dev/zero of=$TMPFILE bs=1k count=256 > /dev/null 2>&1
+$MKE2FS -Ft ext4 $TMPFILE > /dev/null 2>&1
+$DEBUGFS -w $TMPFILE << EOF > /dev/null 2>&1
+write /dev/null testfile
+extent_open testfile
+ insert_node 0 15 100
+ insert_node --after 15 15 115
+ insert_node --after 30 15 130
+ insert_node --after 45 15 145
+ split
+ down
+ split
+ root
+ down
+ next
+ replace_node 15 30 200
+ extent_close
+set_inode_field testfile i_size 61400
+set_inode_field testfile i_blocks 154
+setb 100 15
+setb 130 30
+setb 200 30
+set_bg 0 free_blocks_count 156
+set_bg 0 bg_checksum calc
+set_super_value free_blocks_count 156
+q
+EOF
+
+. $cmd_dir/run_e2fsck
+
+rm -f $TEST_DATA
+
+unset E2FSCK_TIME TEST_DATA
+
+else #if test -x $DEBUGFS_EXE; then
+ echo "$test_name: $test_description: skipped"
+fi
diff --git a/tests/f_h_badnode/script b/tests/f_h_badnode/script
index 9eec0840..e5fc6b2b 100644
--- a/tests/f_h_badnode/script
+++ b/tests/f_h_badnode/script
@@ -1,6 +1,5 @@
if test "$HTREE"x = yx ; then
. $cmd_dir/run_e2fsck
else
- rm -f $test_name.ok $test_name.failed
- echo "skipped"
+ echo "$test_name: $test_description: skipped"
fi
diff --git a/tests/f_h_badroot/script b/tests/f_h_badroot/script
index 9eec0840..e5fc6b2b 100644
--- a/tests/f_h_badroot/script
+++ b/tests/f_h_badroot/script
@@ -1,6 +1,5 @@
if test "$HTREE"x = yx ; then
. $cmd_dir/run_e2fsck
else
- rm -f $test_name.ok $test_name.failed
- echo "skipped"
+ echo "$test_name: $test_description: skipped"
fi
diff --git a/tests/f_h_normal/script b/tests/f_h_normal/script
index 9eec0840..e5fc6b2b 100644
--- a/tests/f_h_normal/script
+++ b/tests/f_h_normal/script
@@ -1,6 +1,5 @@
if test "$HTREE"x = yx ; then
. $cmd_dir/run_e2fsck
else
- rm -f $test_name.ok $test_name.failed
- echo "skipped"
+ echo "$test_name: $test_description: skipped"
fi
diff --git a/tests/f_h_reindex/script b/tests/f_h_reindex/script
index 9eec0840..e5fc6b2b 100644
--- a/tests/f_h_reindex/script
+++ b/tests/f_h_reindex/script
@@ -1,6 +1,5 @@
if test "$HTREE"x = yx ; then
. $cmd_dir/run_e2fsck
else
- rm -f $test_name.ok $test_name.failed
- echo "skipped"
+ echo "$test_name: $test_description: skipped"
fi
diff --git a/tests/f_h_unsigned/script b/tests/f_h_unsigned/script
index 9eec0840..e5fc6b2b 100644
--- a/tests/f_h_unsigned/script
+++ b/tests/f_h_unsigned/script
@@ -1,6 +1,5 @@
if test "$HTREE"x = yx ; then
. $cmd_dir/run_e2fsck
else
- rm -f $test_name.ok $test_name.failed
- echo "skipped"
+ echo "$test_name: $test_description: skipped"
fi
diff --git a/tests/f_imagic_fs/script b/tests/f_imagic_fs/script
index 3941be00..1060f04d 100644
--- a/tests/f_imagic_fs/script
+++ b/tests/f_imagic_fs/script
@@ -5,6 +5,5 @@ PREP_CMD='$DEBUGFS -w -R "feature imagic_inodes" $TMPFILE > /dev/null 2>&1'
. $cmd_dir/run_e2fsck
else #if test -x $DEBUGFS_EXE; then
- rm -f $test_name.ok $test_name.failed
- echo "skipped"
+ echo "$test_name: $test_description: skipped"
fi
diff --git a/tests/f_invalid_extent_symlink/expect.1 b/tests/f_invalid_extent_symlink/expect.1
new file mode 100644
index 00000000..7bda0b73
--- /dev/null
+++ b/tests/f_invalid_extent_symlink/expect.1
@@ -0,0 +1,12 @@
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Symlink /a (inode #12) is invalid.
+Clear? yes
+
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+
+test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
+test_filesys: 11/16 files (9.1% non-contiguous), 21/100 blocks
+Exit status is 1
diff --git a/tests/f_invalid_extent_symlink/expect.2 b/tests/f_invalid_extent_symlink/expect.2
new file mode 100644
index 00000000..41ceefb4
--- /dev/null
+++ b/tests/f_invalid_extent_symlink/expect.2
@@ -0,0 +1,7 @@
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+test_filesys: 11/16 files (0.0% non-contiguous), 21/100 blocks
+Exit status is 0
diff --git a/tests/f_invalid_extent_symlink/image.gz b/tests/f_invalid_extent_symlink/image.gz
new file mode 100644
index 00000000..d4a6eef7
--- /dev/null
+++ b/tests/f_invalid_extent_symlink/image.gz
Binary files differ
diff --git a/tests/f_invalid_extent_symlink/name b/tests/f_invalid_extent_symlink/name
new file mode 100644
index 00000000..3792aac7
--- /dev/null
+++ b/tests/f_invalid_extent_symlink/name
@@ -0,0 +1 @@
+extent-mapped symlink with two blocks
diff --git a/tests/f_jnl_32bit/expect.0 b/tests/f_jnl_32bit/expect.0
new file mode 100644
index 00000000..b7de48ea
--- /dev/null
+++ b/tests/f_jnl_32bit/expect.0
@@ -0,0 +1,567 @@
+Journal starts at block 1, transaction 2
+Found expected sequence 2, type 1 (descriptor block) at block 1
+Dumping descriptor block, sequence 2, at block 1:
+ FS block 2 logged at journal block 2 (flags 0x8)
+Found expected sequence 2, type 2 (commit block) at block 3
+Found expected sequence 3, type 1 (descriptor block) at block 4
+Dumping descriptor block, sequence 3, at block 4:
+ FS block 82 logged at journal block 5 (flags 0x0)
+ FS block 2 logged at journal block 6 (flags 0x2)
+ FS block 99 logged at journal block 7 (flags 0x2)
+ FS block 66 logged at journal block 8 (flags 0x2)
+ FS block 81 logged at journal block 9 (flags 0x2)
+ FS block 98 logged at journal block 10 (flags 0x2)
+ FS block 68 logged at journal block 11 (flags 0x2)
+ FS block 83 logged at journal block 12 (flags 0x2)
+ FS block 354 logged at journal block 13 (flags 0x2)
+ FS block 84 logged at journal block 14 (flags 0x2)
+ FS block 100 logged at journal block 15 (flags 0x2)
+ FS block 97 logged at journal block 16 (flags 0x2)
+ FS block 101 logged at journal block 17 (flags 0x2)
+ FS block 611 logged at journal block 18 (flags 0x2)
+ FS block 102 logged at journal block 19 (flags 0x2)
+ FS block 103 logged at journal block 20 (flags 0x2)
+ FS block 612 logged at journal block 21 (flags 0x2)
+ FS block 104 logged at journal block 22 (flags 0x2)
+ FS block 85 logged at journal block 23 (flags 0x2)
+ FS block 105 logged at journal block 24 (flags 0x2)
+ FS block 86 logged at journal block 25 (flags 0x2)
+ FS block 106 logged at journal block 26 (flags 0x2)
+ FS block 87 logged at journal block 27 (flags 0x2)
+ FS block 107 logged at journal block 28 (flags 0x2)
+ FS block 108 logged at journal block 29 (flags 0x2)
+ FS block 88 logged at journal block 30 (flags 0x2)
+ FS block 109 logged at journal block 31 (flags 0x2)
+ FS block 355 logged at journal block 32 (flags 0x2)
+ FS block 613 logged at journal block 33 (flags 0x2)
+ FS block 110 logged at journal block 34 (flags 0x2)
+ FS block 614 logged at journal block 35 (flags 0x2)
+ FS block 111 logged at journal block 36 (flags 0x2)
+ FS block 615 logged at journal block 37 (flags 0x2)
+ FS block 112 logged at journal block 38 (flags 0x2)
+ FS block 113 logged at journal block 39 (flags 0x2)
+ FS block 616 logged at journal block 40 (flags 0x2)
+ FS block 89 logged at journal block 41 (flags 0x2)
+ FS block 114 logged at journal block 42 (flags 0x2)
+ FS block 90 logged at journal block 43 (flags 0x2)
+ FS block 115 logged at journal block 44 (flags 0x2)
+ FS block 91 logged at journal block 45 (flags 0x2)
+ FS block 116 logged at journal block 46 (flags 0x2)
+ FS block 92 logged at journal block 47 (flags 0x2)
+ FS block 117 logged at journal block 48 (flags 0x2)
+ FS block 118 logged at journal block 49 (flags 0x2)
+ FS block 356 logged at journal block 50 (flags 0x2)
+ FS block 93 logged at journal block 51 (flags 0x2)
+ FS block 119 logged at journal block 52 (flags 0x2)
+ FS block 94 logged at journal block 53 (flags 0x2)
+ FS block 120 logged at journal block 54 (flags 0x2)
+ FS block 95 logged at journal block 55 (flags 0x2)
+ FS block 121 logged at journal block 56 (flags 0x2)
+ FS block 96 logged at journal block 57 (flags 0x2)
+ FS block 122 logged at journal block 58 (flags 0x2)
+ FS block 123 logged at journal block 59 (flags 0x2)
+ FS block 617 logged at journal block 60 (flags 0x2)
+ FS block 124 logged at journal block 61 (flags 0x2)
+ FS block 618 logged at journal block 62 (flags 0x2)
+ FS block 125 logged at journal block 63 (flags 0x2)
+ FS block 619 logged at journal block 64 (flags 0x2)
+ FS block 126 logged at journal block 65 (flags 0x2)
+ FS block 620 logged at journal block 66 (flags 0x2)
+ FS block 357 logged at journal block 67 (flags 0x2)
+ FS block 621 logged at journal block 68 (flags 0x2)
+ FS block 127 logged at journal block 69 (flags 0x2)
+ FS block 128 logged at journal block 70 (flags 0x2)
+ FS block 622 logged at journal block 71 (flags 0x2)
+ FS block 129 logged at journal block 72 (flags 0x2)
+ FS block 623 logged at journal block 73 (flags 0x2)
+ FS block 130 logged at journal block 74 (flags 0x2)
+ FS block 624 logged at journal block 75 (flags 0x2)
+ FS block 131 logged at journal block 76 (flags 0x2)
+ FS block 625 logged at journal block 77 (flags 0x2)
+ FS block 132 logged at journal block 78 (flags 0x2)
+ FS block 133 logged at journal block 79 (flags 0x2)
+ FS block 626 logged at journal block 80 (flags 0x2)
+ FS block 134 logged at journal block 81 (flags 0x2)
+ FS block 627 logged at journal block 82 (flags 0x2)
+ FS block 135 logged at journal block 83 (flags 0x2)
+ FS block 628 logged at journal block 84 (flags 0x2)
+ FS block 136 logged at journal block 85 (flags 0x2)
+ FS block 358 logged at journal block 86 (flags 0x2)
+ FS block 629 logged at journal block 87 (flags 0x2)
+ FS block 137 logged at journal block 88 (flags 0xa)
+Found expected sequence 3, type 1 (descriptor block) at block 89
+Dumping descriptor block, sequence 3, at block 89:
+ FS block 138 logged at journal block 90 (flags 0x0)
+ FS block 630 logged at journal block 91 (flags 0x2)
+ FS block 139 logged at journal block 92 (flags 0x2)
+ FS block 631 logged at journal block 93 (flags 0x2)
+ FS block 140 logged at journal block 94 (flags 0x2)
+ FS block 632 logged at journal block 95 (flags 0x2)
+ FS block 633 logged at journal block 96 (flags 0x2)
+ FS block 141 logged at journal block 97 (flags 0x2)
+ FS block 634 logged at journal block 98 (flags 0x2)
+ FS block 142 logged at journal block 99 (flags 0x2)
+ FS block 143 logged at journal block 100 (flags 0x2)
+ FS block 635 logged at journal block 101 (flags 0x2)
+ FS block 144 logged at journal block 102 (flags 0x2)
+ FS block 636 logged at journal block 103 (flags 0x2)
+ FS block 145 logged at journal block 104 (flags 0x2)
+ FS block 359 logged at journal block 105 (flags 0x2)
+ FS block 637 logged at journal block 106 (flags 0x2)
+ FS block 146 logged at journal block 107 (flags 0x2)
+ FS block 638 logged at journal block 108 (flags 0x2)
+ FS block 147 logged at journal block 109 (flags 0x2)
+ FS block 148 logged at journal block 110 (flags 0x2)
+ FS block 639 logged at journal block 111 (flags 0x2)
+ FS block 149 logged at journal block 112 (flags 0x2)
+ FS block 640 logged at journal block 113 (flags 0x2)
+ FS block 150 logged at journal block 114 (flags 0x2)
+ FS block 641 logged at journal block 115 (flags 0x2)
+ FS block 151 logged at journal block 116 (flags 0x2)
+ FS block 642 logged at journal block 117 (flags 0x2)
+ FS block 152 logged at journal block 118 (flags 0x2)
+ FS block 153 logged at journal block 119 (flags 0x2)
+ FS block 643 logged at journal block 120 (flags 0x2)
+ FS block 154 logged at journal block 121 (flags 0x2)
+ FS block 644 logged at journal block 122 (flags 0x2)
+ FS block 360 logged at journal block 123 (flags 0x2)
+ FS block 645 logged at journal block 124 (flags 0x2)
+ FS block 155 logged at journal block 125 (flags 0x2)
+ FS block 646 logged at journal block 126 (flags 0x2)
+ FS block 156 logged at journal block 127 (flags 0x2)
+ FS block 647 logged at journal block 128 (flags 0x2)
+ FS block 157 logged at journal block 129 (flags 0x2)
+ FS block 158 logged at journal block 130 (flags 0x2)
+ FS block 648 logged at journal block 131 (flags 0x2)
+ FS block 159 logged at journal block 132 (flags 0x2)
+ FS block 649 logged at journal block 133 (flags 0x2)
+ FS block 160 logged at journal block 134 (flags 0x2)
+ FS block 650 logged at journal block 135 (flags 0x2)
+ FS block 161 logged at journal block 136 (flags 0x2)
+ FS block 651 logged at journal block 137 (flags 0x2)
+ FS block 162 logged at journal block 138 (flags 0x2)
+ FS block 163 logged at journal block 139 (flags 0x2)
+ FS block 652 logged at journal block 140 (flags 0x2)
+ FS block 164 logged at journal block 141 (flags 0x2)
+ FS block 361 logged at journal block 142 (flags 0x2)
+ FS block 653 logged at journal block 143 (flags 0x2)
+ FS block 165 logged at journal block 144 (flags 0x2)
+ FS block 654 logged at journal block 145 (flags 0x2)
+ FS block 166 logged at journal block 146 (flags 0x2)
+ FS block 655 logged at journal block 147 (flags 0x2)
+ FS block 167 logged at journal block 148 (flags 0x2)
+ FS block 168 logged at journal block 149 (flags 0x2)
+ FS block 656 logged at journal block 150 (flags 0x2)
+ FS block 657 logged at journal block 151 (flags 0x2)
+ FS block 169 logged at journal block 152 (flags 0x2)
+ FS block 658 logged at journal block 153 (flags 0x2)
+ FS block 170 logged at journal block 154 (flags 0x2)
+ FS block 659 logged at journal block 155 (flags 0x2)
+ FS block 171 logged at journal block 156 (flags 0x2)
+ FS block 660 logged at journal block 157 (flags 0x2)
+ FS block 172 logged at journal block 158 (flags 0x2)
+ FS block 173 logged at journal block 159 (flags 0x2)
+ FS block 362 logged at journal block 160 (flags 0x2)
+ FS block 661 logged at journal block 161 (flags 0x2)
+ FS block 174 logged at journal block 162 (flags 0x2)
+ FS block 662 logged at journal block 163 (flags 0x2)
+ FS block 175 logged at journal block 164 (flags 0x2)
+ FS block 663 logged at journal block 165 (flags 0x2)
+ FS block 176 logged at journal block 166 (flags 0x2)
+ FS block 664 logged at journal block 167 (flags 0x2)
+ FS block 177 logged at journal block 168 (flags 0x2)
+ FS block 178 logged at journal block 169 (flags 0x2)
+ FS block 665 logged at journal block 170 (flags 0x2)
+ FS block 179 logged at journal block 171 (flags 0x2)
+ FS block 666 logged at journal block 172 (flags 0x2)
+ FS block 180 logged at journal block 173 (flags 0xa)
+Found expected sequence 3, type 1 (descriptor block) at block 174
+Dumping descriptor block, sequence 3, at block 174:
+ FS block 667 logged at journal block 175 (flags 0x0)
+ FS block 181 logged at journal block 176 (flags 0x2)
+ FS block 668 logged at journal block 177 (flags 0x2)
+ FS block 363 logged at journal block 178 (flags 0x2)
+ FS block 669 logged at journal block 179 (flags 0x2)
+ FS block 182 logged at journal block 180 (flags 0x2)
+ FS block 183 logged at journal block 181 (flags 0x2)
+ FS block 670 logged at journal block 182 (flags 0x2)
+ FS block 184 logged at journal block 183 (flags 0x2)
+ FS block 671 logged at journal block 184 (flags 0x2)
+ FS block 185 logged at journal block 185 (flags 0x2)
+ FS block 672 logged at journal block 186 (flags 0x2)
+ FS block 186 logged at journal block 187 (flags 0x2)
+ FS block 673 logged at journal block 188 (flags 0x2)
+ FS block 187 logged at journal block 189 (flags 0x2)
+ FS block 188 logged at journal block 190 (flags 0x2)
+ FS block 674 logged at journal block 191 (flags 0x2)
+ FS block 189 logged at journal block 192 (flags 0x2)
+ FS block 675 logged at journal block 193 (flags 0x2)
+ FS block 190 logged at journal block 194 (flags 0x2)
+ FS block 676 logged at journal block 195 (flags 0x2)
+ FS block 191 logged at journal block 196 (flags 0x2)
+ FS block 364 logged at journal block 197 (flags 0x2)
+ FS block 677 logged at journal block 198 (flags 0x2)
+ FS block 192 logged at journal block 199 (flags 0x2)
+ FS block 193 logged at journal block 200 (flags 0x2)
+ FS block 678 logged at journal block 201 (flags 0x2)
+ FS block 194 logged at journal block 202 (flags 0x2)
+ FS block 679 logged at journal block 203 (flags 0x2)
+ FS block 195 logged at journal block 204 (flags 0x2)
+ FS block 680 logged at journal block 205 (flags 0x2)
+ FS block 681 logged at journal block 206 (flags 0x2)
+ FS block 196 logged at journal block 207 (flags 0x2)
+ FS block 682 logged at journal block 208 (flags 0x2)
+ FS block 197 logged at journal block 209 (flags 0x2)
+ FS block 198 logged at journal block 210 (flags 0x2)
+ FS block 683 logged at journal block 211 (flags 0x2)
+ FS block 199 logged at journal block 212 (flags 0x2)
+ FS block 684 logged at journal block 213 (flags 0x2)
+ FS block 200 logged at journal block 214 (flags 0x2)
+ FS block 365 logged at journal block 215 (flags 0x2)
+ FS block 685 logged at journal block 216 (flags 0x2)
+ FS block 201 logged at journal block 217 (flags 0x2)
+ FS block 686 logged at journal block 218 (flags 0x2)
+ FS block 202 logged at journal block 219 (flags 0x2)
+ FS block 203 logged at journal block 220 (flags 0x2)
+ FS block 687 logged at journal block 221 (flags 0xa)
+Found expected sequence 3, type 2 (commit block) at block 222
+Found expected sequence 4, type 1 (descriptor block) at block 223
+Dumping descriptor block, sequence 4, at block 223:
+ FS block 204 logged at journal block 224 (flags 0x0)
+ FS block 687 logged at journal block 225 (flags 0x2)
+ FS block 203 logged at journal block 226 (flags 0x2)
+ FS block 365 logged at journal block 227 (flags 0x2)
+ FS block 2 logged at journal block 228 (flags 0x2)
+ FS block 82 logged at journal block 229 (flags 0x2)
+ FS block 83 logged at journal block 230 (flags 0x2)
+ FS block 66 logged at journal block 231 (flags 0x2)
+ FS block 688 logged at journal block 232 (flags 0x2)
+ FS block 364 logged at journal block 233 (flags 0x2)
+ FS block 680 logged at journal block 234 (flags 0x2)
+ FS block 205 logged at journal block 235 (flags 0x2)
+ FS block 689 logged at journal block 236 (flags 0x2)
+ FS block 206 logged at journal block 237 (flags 0x2)
+ FS block 690 logged at journal block 238 (flags 0x2)
+ FS block 207 logged at journal block 239 (flags 0x2)
+ FS block 208 logged at journal block 240 (flags 0x2)
+ FS block 691 logged at journal block 241 (flags 0x2)
+ FS block 209 logged at journal block 242 (flags 0x2)
+ FS block 692 logged at journal block 243 (flags 0x2)
+ FS block 98 logged at journal block 244 (flags 0x2)
+ FS block 68 logged at journal block 245 (flags 0x2)
+ FS block 366 logged at journal block 246 (flags 0x2)
+ FS block 693 logged at journal block 247 (flags 0x2)
+ FS block 210 logged at journal block 248 (flags 0x2)
+ FS block 694 logged at journal block 249 (flags 0x2)
+ FS block 211 logged at journal block 250 (flags 0x2)
+ FS block 695 logged at journal block 251 (flags 0x2)
+ FS block 212 logged at journal block 252 (flags 0x2)
+ FS block 213 logged at journal block 253 (flags 0x2)
+ FS block 696 logged at journal block 254 (flags 0x2)
+ FS block 214 logged at journal block 255 (flags 0x2)
+ FS block 697 logged at journal block 256 (flags 0x2)
+ FS block 215 logged at journal block 257 (flags 0x2)
+ FS block 698 logged at journal block 258 (flags 0x2)
+ FS block 216 logged at journal block 259 (flags 0x2)
+ FS block 699 logged at journal block 260 (flags 0x2)
+ FS block 217 logged at journal block 261 (flags 0x2)
+ FS block 218 logged at journal block 262 (flags 0x2)
+ FS block 700 logged at journal block 263 (flags 0x2)
+ FS block 219 logged at journal block 264 (flags 0x2)
+ FS block 367 logged at journal block 265 (flags 0x2)
+ FS block 701 logged at journal block 266 (flags 0x2)
+ FS block 220 logged at journal block 267 (flags 0x2)
+ FS block 702 logged at journal block 268 (flags 0x2)
+ FS block 221 logged at journal block 269 (flags 0x2)
+ FS block 703 logged at journal block 270 (flags 0x2)
+ FS block 222 logged at journal block 271 (flags 0x2)
+ FS block 223 logged at journal block 272 (flags 0x2)
+ FS block 704 logged at journal block 273 (flags 0x2)
+ FS block 705 logged at journal block 274 (flags 0x2)
+ FS block 224 logged at journal block 275 (flags 0x2)
+ FS block 706 logged at journal block 276 (flags 0x2)
+ FS block 225 logged at journal block 277 (flags 0x2)
+ FS block 707 logged at journal block 278 (flags 0x2)
+ FS block 226 logged at journal block 279 (flags 0x2)
+ FS block 708 logged at journal block 280 (flags 0x2)
+ FS block 227 logged at journal block 281 (flags 0x2)
+ FS block 228 logged at journal block 282 (flags 0x2)
+ FS block 368 logged at journal block 283 (flags 0x2)
+ FS block 709 logged at journal block 284 (flags 0x2)
+ FS block 229 logged at journal block 285 (flags 0x2)
+ FS block 710 logged at journal block 286 (flags 0x2)
+ FS block 230 logged at journal block 287 (flags 0x2)
+ FS block 711 logged at journal block 288 (flags 0x2)
+ FS block 231 logged at journal block 289 (flags 0x2)
+ FS block 712 logged at journal block 290 (flags 0x2)
+ FS block 232 logged at journal block 291 (flags 0x2)
+ FS block 233 logged at journal block 292 (flags 0x2)
+ FS block 713 logged at journal block 293 (flags 0x2)
+ FS block 234 logged at journal block 294 (flags 0x2)
+ FS block 714 logged at journal block 295 (flags 0x2)
+ FS block 235 logged at journal block 296 (flags 0x2)
+ FS block 715 logged at journal block 297 (flags 0x2)
+ FS block 236 logged at journal block 298 (flags 0x2)
+ FS block 716 logged at journal block 299 (flags 0x2)
+ FS block 369 logged at journal block 300 (flags 0x2)
+ FS block 717 logged at journal block 301 (flags 0x2)
+ FS block 237 logged at journal block 302 (flags 0x2)
+ FS block 238 logged at journal block 303 (flags 0x2)
+ FS block 718 logged at journal block 304 (flags 0x2)
+ FS block 239 logged at journal block 305 (flags 0x2)
+ FS block 719 logged at journal block 306 (flags 0x2)
+ FS block 240 logged at journal block 307 (flags 0xa)
+Found expected sequence 4, type 1 (descriptor block) at block 308
+Dumping descriptor block, sequence 4, at block 308:
+ FS block 720 logged at journal block 309 (flags 0x0)
+ FS block 241 logged at journal block 310 (flags 0x2)
+ FS block 721 logged at journal block 311 (flags 0x2)
+ FS block 242 logged at journal block 312 (flags 0x2)
+ FS block 243 logged at journal block 313 (flags 0x2)
+ FS block 722 logged at journal block 314 (flags 0x2)
+ FS block 244 logged at journal block 315 (flags 0x2)
+ FS block 723 logged at journal block 316 (flags 0x2)
+ FS block 245 logged at journal block 317 (flags 0x2)
+ FS block 724 logged at journal block 318 (flags 0x2)
+ FS block 246 logged at journal block 319 (flags 0x2)
+ FS block 370 logged at journal block 320 (flags 0x2)
+ FS block 725 logged at journal block 321 (flags 0x2)
+ FS block 247 logged at journal block 322 (flags 0x2)
+ FS block 248 logged at journal block 323 (flags 0x2)
+ FS block 726 logged at journal block 324 (flags 0x2)
+ FS block 249 logged at journal block 325 (flags 0x2)
+ FS block 727 logged at journal block 326 (flags 0x2)
+ FS block 250 logged at journal block 327 (flags 0xa)
+Found expected sequence 4, type 2 (commit block) at block 328
+Found expected sequence 5, type 5 (revoke table) at block 329
+Dumping revoke block, sequence 5, at block 329:
+ Revoke FS block 640
+ Revoke FS block 641
+ Revoke FS block 642
+ Revoke FS block 643
+ Revoke FS block 644
+ Revoke FS block 645
+ Revoke FS block 646
+ Revoke FS block 647
+ Revoke FS block 648
+ Revoke FS block 649
+ Revoke FS block 650
+ Revoke FS block 651
+ Revoke FS block 652
+ Revoke FS block 653
+ Revoke FS block 654
+ Revoke FS block 655
+ Revoke FS block 656
+ Revoke FS block 657
+ Revoke FS block 81
+ Revoke FS block 658
+ Revoke FS block 659
+ Revoke FS block 660
+ Revoke FS block 84
+ Revoke FS block 661
+ Revoke FS block 85
+ Revoke FS block 662
+ Revoke FS block 86
+ Revoke FS block 663
+ Revoke FS block 87
+ Revoke FS block 664
+ Revoke FS block 88
+ Revoke FS block 665
+ Revoke FS block 89
+ Revoke FS block 666
+ Revoke FS block 90
+ Revoke FS block 667
+ Revoke FS block 91
+ Revoke FS block 668
+ Revoke FS block 92
+ Revoke FS block 669
+ Revoke FS block 93
+ Revoke FS block 670
+ Revoke FS block 94
+ Revoke FS block 671
+ Revoke FS block 95
+ Revoke FS block 672
+ Revoke FS block 96
+ Revoke FS block 673
+ Revoke FS block 97
+ Revoke FS block 674
+ Revoke FS block 675
+ Revoke FS block 611
+ Revoke FS block 676
+ Revoke FS block 612
+ Revoke FS block 677
+ Revoke FS block 613
+ Revoke FS block 678
+ Revoke FS block 614
+ Revoke FS block 679
+ Revoke FS block 615
+ Revoke FS block 616
+ Revoke FS block 617
+ Revoke FS block 682
+ Revoke FS block 618
+ Revoke FS block 683
+ Revoke FS block 619
+ Revoke FS block 684
+ Revoke FS block 620
+ Revoke FS block 685
+ Revoke FS block 621
+ Revoke FS block 622
+ Revoke FS block 687
+ Revoke FS block 623
+ Revoke FS block 688
+ Revoke FS block 624
+ Revoke FS block 689
+ Revoke FS block 625
+ Revoke FS block 690
+ Revoke FS block 626
+ Revoke FS block 691
+ Revoke FS block 627
+ Revoke FS block 628
+ Revoke FS block 629
+ Revoke FS block 630
+ Revoke FS block 631
+ Revoke FS block 632
+ Revoke FS block 633
+ Revoke FS block 634
+ Revoke FS block 635
+ Revoke FS block 636
+ Revoke FS block 637
+ Revoke FS block 638
+ Revoke FS block 639
+Found expected sequence 5, type 1 (descriptor block) at block 330
+Dumping descriptor block, sequence 5, at block 330:
+ FS block 98 logged at journal block 331 (flags 0x0)
+ FS block 99 logged at journal block 332 (flags 0x2)
+ FS block 354 logged at journal block 333 (flags 0x2)
+ FS block 1 logged at journal block 334 (flags 0x2)
+ FS block 105 logged at journal block 335 (flags 0x2)
+ FS block 2 logged at journal block 336 (flags 0x2)
+ FS block 82 logged at journal block 337 (flags 0x2)
+ FS block 104 logged at journal block 338 (flags 0x2)
+ FS block 66 logged at journal block 339 (flags 0x2)
+ FS block 83 logged at journal block 340 (flags 0x2)
+ FS block 355 logged at journal block 341 (flags 0x2)
+ FS block 112 logged at journal block 342 (flags 0x2)
+ FS block 113 logged at journal block 343 (flags 0x2)
+ FS block 102 logged at journal block 344 (flags 0x2)
+ FS block 103 logged at journal block 345 (flags 0x2)
+ FS block 107 logged at journal block 346 (flags 0x2)
+ FS block 108 logged at journal block 347 (flags 0x2)
+ FS block 101 logged at journal block 348 (flags 0x2)
+ FS block 100 logged at journal block 349 (flags 0x2)
+ FS block 110 logged at journal block 350 (flags 0x2)
+ FS block 109 logged at journal block 351 (flags 0x2)
+ FS block 111 logged at journal block 352 (flags 0x2)
+ FS block 106 logged at journal block 353 (flags 0x2)
+ FS block 68 logged at journal block 354 (flags 0x2)
+ FS block 356 logged at journal block 355 (flags 0x2)
+ FS block 119 logged at journal block 356 (flags 0x2)
+ FS block 118 logged at journal block 357 (flags 0x2)
+ FS block 126 logged at journal block 358 (flags 0x2)
+ FS block 125 logged at journal block 359 (flags 0x2)
+ FS block 116 logged at journal block 360 (flags 0x2)
+ FS block 115 logged at journal block 361 (flags 0x2)
+ FS block 117 logged at journal block 362 (flags 0x2)
+ FS block 121 logged at journal block 363 (flags 0x2)
+ FS block 120 logged at journal block 364 (flags 0x2)
+ FS block 114 logged at journal block 365 (flags 0x2)
+ FS block 124 logged at journal block 366 (flags 0x2)
+ FS block 123 logged at journal block 367 (flags 0x2)
+ FS block 122 logged at journal block 368 (flags 0x2)
+ FS block 357 logged at journal block 369 (flags 0x2)
+ FS block 132 logged at journal block 370 (flags 0x2)
+ FS block 133 logged at journal block 371 (flags 0x2)
+ FS block 358 logged at journal block 372 (flags 0x2)
+ FS block 140 logged at journal block 373 (flags 0x2)
+ FS block 139 logged at journal block 374 (flags 0x2)
+ FS block 130 logged at journal block 375 (flags 0x2)
+ FS block 129 logged at journal block 376 (flags 0x2)
+ FS block 131 logged at journal block 377 (flags 0x2)
+ FS block 135 logged at journal block 378 (flags 0x2)
+ FS block 134 logged at journal block 379 (flags 0x2)
+ FS block 128 logged at journal block 380 (flags 0x2)
+ FS block 137 logged at journal block 381 (flags 0x2)
+ FS block 138 logged at journal block 382 (flags 0x2)
+ FS block 136 logged at journal block 383 (flags 0x2)
+ FS block 127 logged at journal block 384 (flags 0x2)
+ FS block 359 logged at journal block 385 (flags 0x2)
+ FS block 146 logged at journal block 386 (flags 0x2)
+ FS block 145 logged at journal block 387 (flags 0x2)
+ FS block 154 logged at journal block 388 (flags 0x2)
+ FS block 153 logged at journal block 389 (flags 0x2)
+ FS block 144 logged at journal block 390 (flags 0x2)
+ FS block 143 logged at journal block 391 (flags 0x2)
+ FS block 149 logged at journal block 392 (flags 0x2)
+ FS block 148 logged at journal block 393 (flags 0x2)
+ FS block 142 logged at journal block 394 (flags 0x2)
+ FS block 151 logged at journal block 395 (flags 0x2)
+ FS block 150 logged at journal block 396 (flags 0x2)
+ FS block 152 logged at journal block 397 (flags 0x2)
+ FS block 141 logged at journal block 398 (flags 0x2)
+ FS block 147 logged at journal block 399 (flags 0x2)
+ FS block 360 logged at journal block 400 (flags 0x2)
+ FS block 160 logged at journal block 401 (flags 0x2)
+ FS block 159 logged at journal block 402 (flags 0x2)
+ FS block 361 logged at journal block 403 (flags 0x2)
+ FS block 167 logged at journal block 404 (flags 0x2)
+ FS block 168 logged at journal block 405 (flags 0x2)
+ FS block 157 logged at journal block 406 (flags 0x2)
+ FS block 158 logged at journal block 407 (flags 0x2)
+ FS block 162 logged at journal block 408 (flags 0x2)
+ FS block 163 logged at journal block 409 (flags 0x2)
+ FS block 156 logged at journal block 410 (flags 0x2)
+ FS block 155 logged at journal block 411 (flags 0x2)
+ FS block 165 logged at journal block 412 (flags 0x2)
+ FS block 164 logged at journal block 413 (flags 0x2)
+ FS block 166 logged at journal block 414 (flags 0xa)
+Found expected sequence 5, type 1 (descriptor block) at block 415
+Dumping descriptor block, sequence 5, at block 415:
+ FS block 161 logged at journal block 416 (flags 0x0)
+ FS block 362 logged at journal block 417 (flags 0x2)
+ FS block 174 logged at journal block 418 (flags 0x2)
+ FS block 173 logged at journal block 419 (flags 0x2)
+ FS block 181 logged at journal block 420 (flags 0x2)
+ FS block 180 logged at journal block 421 (flags 0x2)
+ FS block 171 logged at journal block 422 (flags 0x2)
+ FS block 170 logged at journal block 423 (flags 0x2)
+ FS block 172 logged at journal block 424 (flags 0x2)
+ FS block 176 logged at journal block 425 (flags 0x2)
+ FS block 175 logged at journal block 426 (flags 0x2)
+ FS block 169 logged at journal block 427 (flags 0x2)
+ FS block 179 logged at journal block 428 (flags 0x2)
+ FS block 178 logged at journal block 429 (flags 0x2)
+ FS block 177 logged at journal block 430 (flags 0x2)
+ FS block 363 logged at journal block 431 (flags 0x2)
+ FS block 187 logged at journal block 432 (flags 0x2)
+ FS block 188 logged at journal block 433 (flags 0x2)
+ FS block 364 logged at journal block 434 (flags 0x2)
+ FS block 195 logged at journal block 435 (flags 0x2)
+ FS block 194 logged at journal block 436 (flags 0x2)
+ FS block 185 logged at journal block 437 (flags 0x2)
+ FS block 184 logged at journal block 438 (flags 0x2)
+ FS block 186 logged at journal block 439 (flags 0x2)
+ FS block 190 logged at journal block 440 (flags 0x2)
+ FS block 189 logged at journal block 441 (flags 0x2)
+ FS block 183 logged at journal block 442 (flags 0x2)
+ FS block 192 logged at journal block 443 (flags 0x2)
+ FS block 193 logged at journal block 444 (flags 0x2)
+ FS block 191 logged at journal block 445 (flags 0x2)
+ FS block 182 logged at journal block 446 (flags 0x2)
+ FS block 365 logged at journal block 447 (flags 0x2)
+ FS block 201 logged at journal block 448 (flags 0x2)
+ FS block 200 logged at journal block 449 (flags 0x2)
+ FS block 680 logged at journal block 450 (flags 0x2)
+ FS block 209 logged at journal block 451 (flags 0x2)
+ FS block 208 logged at journal block 452 (flags 0x2)
+ FS block 199 logged at journal block 453 (flags 0x2)
+ FS block 198 logged at journal block 454 (flags 0x2)
+ FS block 204 logged at journal block 455 (flags 0x2)
+ FS block 203 logged at journal block 456 (flags 0x2)
+ FS block 197 logged at journal block 457 (flags 0x2)
+ FS block 206 logged at journal block 458 (flags 0x2)
+ FS block 205 logged at journal block 459 (flags 0x2)
+ FS block 207 logged at journal block 460 (flags 0x2)
+ FS block 681 logged at journal block 461 (flags 0x2)
+ FS block 196 logged at journal block 462 (flags 0xa)
+Found expected sequence 5, type 2 (commit block) at block 463
+No magic number at block 464: end of journal.
diff --git a/tests/f_jnl_32bit/expect.1 b/tests/f_jnl_32bit/expect.1
new file mode 100644
index 00000000..56aab48b
--- /dev/null
+++ b/tests/f_jnl_32bit/expect.1
@@ -0,0 +1,16 @@
+test_filesys: recovering journal
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+Free blocks count wrong (14699, counted=14660).
+Fix? yes
+
+Free inodes count wrong (4085, counted=3697).
+Fix? yes
+
+
+test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
+test_filesys: 399/4096 files (0.0% non-contiguous), 1724/16384 blocks
+Exit status is 1
diff --git a/tests/f_jnl_32bit/expect.2 b/tests/f_jnl_32bit/expect.2
new file mode 100644
index 00000000..be948d21
--- /dev/null
+++ b/tests/f_jnl_32bit/expect.2
@@ -0,0 +1,7 @@
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+test_filesys: 399/4096 files (0.0% non-contiguous), 1724/16384 blocks
+Exit status is 0
diff --git a/tests/f_jnl_32bit/image.gz b/tests/f_jnl_32bit/image.gz
new file mode 100644
index 00000000..b3081023
--- /dev/null
+++ b/tests/f_jnl_32bit/image.gz
Binary files differ
diff --git a/tests/f_jnl_32bit/name b/tests/f_jnl_32bit/name
new file mode 100644
index 00000000..60e99139
--- /dev/null
+++ b/tests/f_jnl_32bit/name
@@ -0,0 +1 @@
+on-disk 32-bit journal format
diff --git a/tests/f_jnl_32bit/script b/tests/f_jnl_32bit/script
new file mode 100644
index 00000000..9fb4366d
--- /dev/null
+++ b/tests/f_jnl_32bit/script
@@ -0,0 +1,4 @@
+PREP_CMD='$DEBUGFS -R "logdump -a" $TMPFILE 2>&1 | sed -f $cmd_dir/filter.sed > $test_name.0.log'
+PASS_ZERO=true
+
+. $cmd_dir/run_e2fsck
diff --git a/tests/f_jnl_64bit/expect.0 b/tests/f_jnl_64bit/expect.0
new file mode 100644
index 00000000..2007f039
--- /dev/null
+++ b/tests/f_jnl_64bit/expect.0
@@ -0,0 +1,928 @@
+Journal starts at block 67, transaction 32
+Found expected sequence 32, type 5 (revoke table) at block 67
+Dumping revoke block, sequence 32, at block 67:
+ Revoke FS block 0
+ Revoke FS block 1536
+ Revoke FS block 0
+ Revoke FS block 1472
+ Revoke FS block 0
+ Revoke FS block 1473
+ Revoke FS block 0
+ Revoke FS block 1474
+ Revoke FS block 0
+ Revoke FS block 1475
+ Revoke FS block 0
+ Revoke FS block 1476
+ Revoke FS block 0
+ Revoke FS block 1541
+ Revoke FS block 0
+ Revoke FS block 1477
+ Revoke FS block 0
+ Revoke FS block 1478
+ Revoke FS block 0
+ Revoke FS block 1479
+ Revoke FS block 0
+ Revoke FS block 1480
+ Revoke FS block 0
+ Revoke FS block 1481
+ Revoke FS block 0
+ Revoke FS block 1482
+ Revoke FS block 0
+ Revoke FS block 1483
+ Revoke FS block 0
+ Revoke FS block 1484
+ Revoke FS block 0
+ Revoke FS block 1485
+ Revoke FS block 0
+ Revoke FS block 1486
+ Revoke FS block 0
+ Revoke FS block 1487
+ Revoke FS block 0
+ Revoke FS block 1488
+ Revoke FS block 0
+ Revoke FS block 1489
+ Revoke FS block 0
+ Revoke FS block 1490
+ Revoke FS block 0
+ Revoke FS block 1491
+ Revoke FS block 0
+ Revoke FS block 1556
+ Revoke FS block 0
+ Revoke FS block 1492
+ Revoke FS block 0
+ Revoke FS block 1493
+ Revoke FS block 0
+ Revoke FS block 1429
+ Revoke FS block 0
+ Revoke FS block 1494
+ Revoke FS block 0
+ Revoke FS block 1495
+ Revoke FS block 0
+ Revoke FS block 1496
+ Revoke FS block 0
+ Revoke FS block 1432
+ Revoke FS block 0
+ Revoke FS block 1497
+ Revoke FS block 0
+ Revoke FS block 1498
+ Revoke FS block 0
+ Revoke FS block 1434
+ Revoke FS block 0
+ Revoke FS block 1499
+ Revoke FS block 0
+ Revoke FS block 1435
+ Revoke FS block 0
+ Revoke FS block 1500
+ Revoke FS block 0
+ Revoke FS block 1501
+ Revoke FS block 0
+ Revoke FS block 1502
+ Revoke FS block 0
+ Revoke FS block 1503
+ Revoke FS block 0
+ Revoke FS block 1504
+ Revoke FS block 0
+ Revoke FS block 1505
+ Revoke FS block 0
+ Revoke FS block 1506
+ Revoke FS block 0
+ Revoke FS block 1442
+ Revoke FS block 0
+ Revoke FS block 1507
+ Revoke FS block 0
+ Revoke FS block 1508
+ Revoke FS block 0
+ Revoke FS block 1444
+ Revoke FS block 0
+ Revoke FS block 1509
+ Revoke FS block 0
+ Revoke FS block 1445
+ Revoke FS block 0
+ Revoke FS block 1510
+ Revoke FS block 0
+ Revoke FS block 1511
+ Revoke FS block 0
+ Revoke FS block 1512
+ Revoke FS block 0
+ Revoke FS block 1513
+ Revoke FS block 0
+ Revoke FS block 1449
+ Revoke FS block 0
+ Revoke FS block 1514
+ Revoke FS block 0
+ Revoke FS block 1515
+ Revoke FS block 0
+ Revoke FS block 1516
+ Revoke FS block 0
+ Revoke FS block 1517
+ Revoke FS block 0
+ Revoke FS block 1453
+ Revoke FS block 0
+ Revoke FS block 1518
+ Revoke FS block 0
+ Revoke FS block 1519
+ Revoke FS block 0
+ Revoke FS block 1520
+ Revoke FS block 0
+ Revoke FS block 1456
+ Revoke FS block 0
+ Revoke FS block 1521
+ Revoke FS block 0
+ Revoke FS block 1457
+ Revoke FS block 0
+ Revoke FS block 1522
+ Revoke FS block 0
+ Revoke FS block 1458
+ Revoke FS block 0
+ Revoke FS block 1523
+ Revoke FS block 0
+ Revoke FS block 1459
+ Revoke FS block 0
+ Revoke FS block 1524
+ Revoke FS block 0
+ Revoke FS block 1460
+ Revoke FS block 0
+ Revoke FS block 1525
+ Revoke FS block 0
+ Revoke FS block 1461
+ Revoke FS block 0
+ Revoke FS block 1526
+ Revoke FS block 0
+ Revoke FS block 1462
+ Revoke FS block 0
+ Revoke FS block 1527
+ Revoke FS block 0
+ Revoke FS block 1463
+ Revoke FS block 0
+ Revoke FS block 1528
+ Revoke FS block 0
+ Revoke FS block 1464
+ Revoke FS block 0
+ Revoke FS block 1529
+ Revoke FS block 0
+ Revoke FS block 1465
+ Revoke FS block 0
+ Revoke FS block 1530
+ Revoke FS block 0
+ Revoke FS block 1466
+ Revoke FS block 0
+ Revoke FS block 1531
+ Revoke FS block 0
+ Revoke FS block 1467
+ Revoke FS block 0
+ Revoke FS block 1532
+ Revoke FS block 0
+ Revoke FS block 1468
+ Revoke FS block 0
+ Revoke FS block 1533
+ Revoke FS block 0
+ Revoke FS block 1469
+ Revoke FS block 0
+ Revoke FS block 1534
+ Revoke FS block 0
+ Revoke FS block 1470
+ Revoke FS block 0
+ Revoke FS block 1535
+ Revoke FS block 0
+ Revoke FS block 1471
+Found expected sequence 32, type 1 (descriptor block) at block 68
+Dumping descriptor block, sequence 32, at block 68:
+ FS block 802 logged at journal block 69 (flags 0x0)
+ FS block 803 logged at journal block 70 (flags 0x2)
+ FS block 131 logged at journal block 71 (flags 0x2)
+ FS block 2 logged at journal block 72 (flags 0x2)
+ FS block 1 logged at journal block 73 (flags 0x2)
+ FS block 147 logged at journal block 74 (flags 0x2)
+ FS block 783 logged at journal block 75 (flags 0x2)
+ FS block 130 logged at journal block 76 (flags 0x2)
+ FS block 807 logged at journal block 77 (flags 0x2)
+ FS block 808 logged at journal block 78 (flags 0x2)
+ FS block 788 logged at journal block 79 (flags 0x2)
+ FS block 789 logged at journal block 80 (flags 0x2)
+ FS block 785 logged at journal block 81 (flags 0x2)
+ FS block 786 logged at journal block 82 (flags 0x2)
+ FS block 787 logged at journal block 83 (flags 0x2)
+ FS block 798 logged at journal block 84 (flags 0x2)
+ FS block 799 logged at journal block 85 (flags 0x2)
+ FS block 800 logged at journal block 86 (flags 0x2)
+ FS block 801 logged at journal block 87 (flags 0x2)
+ FS block 812 logged at journal block 88 (flags 0x2)
+ FS block 813 logged at journal block 89 (flags 0x2)
+ FS block 790 logged at journal block 90 (flags 0x2)
+ FS block 132 logged at journal block 91 (flags 0x2)
+ FS block 162 logged at journal block 92 (flags 0x2)
+ FS block 815 logged at journal block 93 (flags 0x2)
+ FS block 819 logged at journal block 94 (flags 0x2)
+ FS block 820 logged at journal block 95 (flags 0x2)
+ FS block 838 logged at journal block 96 (flags 0x2)
+ FS block 839 logged at journal block 97 (flags 0x2)
+ FS block 836 logged at journal block 98 (flags 0x2)
+ FS block 837 logged at journal block 99 (flags 0x2)
+ FS block 829 logged at journal block 100 (flags 0x2)
+ FS block 830 logged at journal block 101 (flags 0x2)
+ FS block 823 logged at journal block 102 (flags 0x2)
+ FS block 824 logged at journal block 103 (flags 0x2)
+ FS block 826 logged at journal block 104 (flags 0x2)
+ FS block 827 logged at journal block 105 (flags 0x2)
+ FS block 817 logged at journal block 106 (flags 0x2)
+ FS block 818 logged at journal block 107 (flags 0x2)
+ FS block 828 logged at journal block 108 (flags 0x2)
+ FS block 816 logged at journal block 109 (flags 0x2)
+ FS block 841 logged at journal block 110 (flags 0x2)
+ FS block 842 logged at journal block 111 (flags 0x2)
+ FS block 832 logged at journal block 112 (flags 0x2)
+ FS block 833 logged at journal block 113 (flags 0x2)
+ FS block 843 logged at journal block 114 (flags 0x2)
+ FS block 846 logged at journal block 115 (flags 0x2)
+ FS block 847 logged at journal block 116 (flags 0x2)
+ FS block 825 logged at journal block 117 (flags 0x2)
+ FS block 848 logged at journal block 118 (flags 0x2)
+ FS block 844 logged at journal block 119 (flags 0x2)
+ FS block 834 logged at journal block 120 (flags 0x2)
+ FS block 835 logged at journal block 121 (flags 0x2)
+ FS block 840 logged at journal block 122 (flags 0x2)
+ FS block 821 logged at journal block 123 (flags 0x2)
+ FS block 822 logged at journal block 124 (flags 0x2)
+ FS block 831 logged at journal block 125 (flags 0x2)
+ FS block 845 logged at journal block 126 (flags 0x2)
+ FS block 852 logged at journal block 127 (flags 0x2)
+ FS block 853 logged at journal block 128 (flags 0x2)
+ FS block 871 logged at journal block 129 (flags 0x2)
+ FS block 872 logged at journal block 130 (flags 0x2)
+ FS block 868 logged at journal block 131 (flags 0x2)
+ FS block 869 logged at journal block 132 (flags 0x2)
+ FS block 870 logged at journal block 133 (flags 0x2)
+ FS block 862 logged at journal block 134 (flags 0x2)
+ FS block 863 logged at journal block 135 (flags 0x2)
+ FS block 856 logged at journal block 136 (flags 0x2)
+ FS block 857 logged at journal block 137 (flags 0x2)
+ FS block 858 logged at journal block 138 (flags 0x2)
+ FS block 859 logged at journal block 139 (flags 0x2)
+ FS block 849 logged at journal block 140 (flags 0x2)
+ FS block 850 logged at journal block 141 (flags 0x2)
+ FS block 851 logged at journal block 142 (flags 0x2)
+ FS block 860 logged at journal block 143 (flags 0x2)
+ FS block 861 logged at journal block 144 (flags 0x2)
+ FS block 873 logged at journal block 145 (flags 0x2)
+ FS block 874 logged at journal block 146 (flags 0x2)
+ FS block 864 logged at journal block 147 (flags 0x2)
+ FS block 865 logged at journal block 148 (flags 0x2)
+ FS block 866 logged at journal block 149 (flags 0xa)
+Found expected sequence 32, type 1 (descriptor block) at block 150
+Dumping descriptor block, sequence 32, at block 150:
+ FS block 875 logged at journal block 151 (flags 0x0)
+ FS block 876 logged at journal block 152 (flags 0x2)
+ FS block 878 logged at journal block 153 (flags 0x2)
+ FS block 879 logged at journal block 154 (flags 0x2)
+ FS block 880 logged at journal block 155 (flags 0x2)
+ FS block 881 logged at journal block 156 (flags 0x2)
+ FS block 877 logged at journal block 157 (flags 0x2)
+ FS block 867 logged at journal block 158 (flags 0x2)
+ FS block 854 logged at journal block 159 (flags 0x2)
+ FS block 855 logged at journal block 160 (flags 0x2)
+ FS block 885 logged at journal block 161 (flags 0x2)
+ FS block 886 logged at journal block 162 (flags 0x2)
+ FS block 903 logged at journal block 163 (flags 0x2)
+ FS block 904 logged at journal block 164 (flags 0x2)
+ FS block 901 logged at journal block 165 (flags 0x2)
+ FS block 902 logged at journal block 166 (flags 0x2)
+ FS block 895 logged at journal block 167 (flags 0x2)
+ FS block 896 logged at journal block 168 (flags 0x2)
+ FS block 888 logged at journal block 169 (flags 0x2)
+ FS block 889 logged at journal block 170 (flags 0x2)
+ FS block 891 logged at journal block 171 (flags 0x2)
+ FS block 892 logged at journal block 172 (flags 0x2)
+ FS block 882 logged at journal block 173 (flags 0x2)
+ FS block 883 logged at journal block 174 (flags 0x2)
+ FS block 893 logged at journal block 175 (flags 0x2)
+ FS block 906 logged at journal block 176 (flags 0x2)
+ FS block 907 logged at journal block 177 (flags 0x2)
+ FS block 897 logged at journal block 178 (flags 0x2)
+ FS block 898 logged at journal block 179 (flags 0x2)
+ FS block 908 logged at journal block 180 (flags 0x2)
+ FS block 911 logged at journal block 181 (flags 0x2)
+ FS block 912 logged at journal block 182 (flags 0x2)
+ FS block 890 logged at journal block 183 (flags 0x2)
+ FS block 913 logged at journal block 184 (flags 0x2)
+ FS block 894 logged at journal block 185 (flags 0x2)
+ FS block 909 logged at journal block 186 (flags 0x2)
+ FS block 900 logged at journal block 187 (flags 0x2)
+ FS block 905 logged at journal block 188 (flags 0x2)
+ FS block 887 logged at journal block 189 (flags 0x2)
+ FS block 884 logged at journal block 190 (flags 0x2)
+ FS block 899 logged at journal block 191 (flags 0x2)
+ FS block 910 logged at journal block 192 (flags 0x2)
+ FS block 917 logged at journal block 193 (flags 0x2)
+ FS block 918 logged at journal block 194 (flags 0x2)
+ FS block 1537 logged at journal block 195 (flags 0x2)
+ FS block 936 logged at journal block 196 (flags 0x2)
+ FS block 937 logged at journal block 197 (flags 0x2)
+ FS block 933 logged at journal block 198 (flags 0x2)
+ FS block 1554 logged at journal block 199 (flags 0x2)
+ FS block 934 logged at journal block 200 (flags 0xa)
+Found expected sequence 32, type 2 (commit block) at block 201
+Found expected sequence 33, type 5 (revoke table) at block 202
+Dumping revoke block, sequence 33, at block 202:
+ Revoke FS block 0
+ Revoke FS block 1600
+ Revoke FS block 0
+ Revoke FS block 1601
+ Revoke FS block 0
+ Revoke FS block 1537
+ Revoke FS block 0
+ Revoke FS block 1602
+ Revoke FS block 0
+ Revoke FS block 1538
+ Revoke FS block 0
+ Revoke FS block 1603
+ Revoke FS block 0
+ Revoke FS block 1539
+ Revoke FS block 0
+ Revoke FS block 1604
+ Revoke FS block 0
+ Revoke FS block 1540
+ Revoke FS block 0
+ Revoke FS block 1605
+ Revoke FS block 0
+ Revoke FS block 1606
+ Revoke FS block 0
+ Revoke FS block 1542
+ Revoke FS block 0
+ Revoke FS block 1607
+ Revoke FS block 0
+ Revoke FS block 1543
+ Revoke FS block 0
+ Revoke FS block 1608
+ Revoke FS block 0
+ Revoke FS block 1544
+ Revoke FS block 0
+ Revoke FS block 1609
+ Revoke FS block 0
+ Revoke FS block 1545
+ Revoke FS block 0
+ Revoke FS block 1610
+ Revoke FS block 0
+ Revoke FS block 1546
+ Revoke FS block 0
+ Revoke FS block 1611
+ Revoke FS block 0
+ Revoke FS block 1547
+ Revoke FS block 0
+ Revoke FS block 1612
+ Revoke FS block 0
+ Revoke FS block 1548
+ Revoke FS block 0
+ Revoke FS block 1613
+ Revoke FS block 0
+ Revoke FS block 1549
+ Revoke FS block 0
+ Revoke FS block 1614
+ Revoke FS block 0
+ Revoke FS block 1550
+ Revoke FS block 0
+ Revoke FS block 1615
+ Revoke FS block 0
+ Revoke FS block 1551
+ Revoke FS block 0
+ Revoke FS block 1616
+ Revoke FS block 0
+ Revoke FS block 1552
+ Revoke FS block 0
+ Revoke FS block 1617
+ Revoke FS block 0
+ Revoke FS block 1553
+ Revoke FS block 0
+ Revoke FS block 1554
+ Revoke FS block 0
+ Revoke FS block 1555
+ Revoke FS block 0
+ Revoke FS block 1557
+ Revoke FS block 0
+ Revoke FS block 1558
+ Revoke FS block 0
+ Revoke FS block 1559
+ Revoke FS block 0
+ Revoke FS block 1560
+ Revoke FS block 0
+ Revoke FS block 1561
+ Revoke FS block 0
+ Revoke FS block 1562
+ Revoke FS block 0
+ Revoke FS block 1563
+ Revoke FS block 0
+ Revoke FS block 1564
+ Revoke FS block 0
+ Revoke FS block 1565
+ Revoke FS block 0
+ Revoke FS block 1566
+ Revoke FS block 0
+ Revoke FS block 1567
+ Revoke FS block 0
+ Revoke FS block 1568
+ Revoke FS block 0
+ Revoke FS block 1569
+ Revoke FS block 0
+ Revoke FS block 1570
+ Revoke FS block 0
+ Revoke FS block 1571
+ Revoke FS block 0
+ Revoke FS block 1572
+ Revoke FS block 0
+ Revoke FS block 1573
+ Revoke FS block 0
+ Revoke FS block 1574
+ Revoke FS block 0
+ Revoke FS block 1575
+ Revoke FS block 0
+ Revoke FS block 1576
+ Revoke FS block 0
+ Revoke FS block 1577
+ Revoke FS block 0
+ Revoke FS block 1578
+ Revoke FS block 0
+ Revoke FS block 1579
+ Revoke FS block 0
+ Revoke FS block 1580
+ Revoke FS block 0
+ Revoke FS block 1581
+ Revoke FS block 0
+ Revoke FS block 1582
+ Revoke FS block 0
+ Revoke FS block 1583
+ Revoke FS block 0
+ Revoke FS block 1584
+ Revoke FS block 0
+ Revoke FS block 1585
+ Revoke FS block 0
+ Revoke FS block 1586
+ Revoke FS block 0
+ Revoke FS block 1587
+ Revoke FS block 0
+ Revoke FS block 1588
+ Revoke FS block 0
+ Revoke FS block 1589
+ Revoke FS block 0
+ Revoke FS block 1590
+ Revoke FS block 0
+ Revoke FS block 1591
+ Revoke FS block 0
+ Revoke FS block 1592
+ Revoke FS block 0
+ Revoke FS block 1593
+ Revoke FS block 0
+ Revoke FS block 1594
+ Revoke FS block 0
+ Revoke FS block 1595
+ Revoke FS block 0
+ Revoke FS block 1596
+ Revoke FS block 0
+ Revoke FS block 1597
+ Revoke FS block 0
+ Revoke FS block 1598
+ Revoke FS block 0
+ Revoke FS block 1599
+Found expected sequence 33, type 1 (descriptor block) at block 203
+Dumping descriptor block, sequence 33, at block 203:
+ FS block 933 logged at journal block 204 (flags 0x0)
+ FS block 1 logged at journal block 205 (flags 0x2)
+ FS block 935 logged at journal block 206 (flags 0x2)
+ FS block 131 logged at journal block 207 (flags 0x2)
+ FS block 2 logged at journal block 208 (flags 0x2)
+ FS block 147 logged at journal block 209 (flags 0x2)
+ FS block 934 logged at journal block 210 (flags 0x2)
+ FS block 913 logged at journal block 211 (flags 0x2)
+ FS block 130 logged at journal block 212 (flags 0x2)
+ FS block 936 logged at journal block 213 (flags 0x2)
+ FS block 927 logged at journal block 214 (flags 0x2)
+ FS block 928 logged at journal block 215 (flags 0x2)
+ FS block 921 logged at journal block 216 (flags 0x2)
+ FS block 922 logged at journal block 217 (flags 0x2)
+ FS block 923 logged at journal block 218 (flags 0x2)
+ FS block 924 logged at journal block 219 (flags 0x2)
+ FS block 925 logged at journal block 220 (flags 0x2)
+ FS block 915 logged at journal block 221 (flags 0x2)
+ FS block 916 logged at journal block 222 (flags 0x2)
+ FS block 926 logged at journal block 223 (flags 0x2)
+ FS block 914 logged at journal block 224 (flags 0x2)
+ FS block 938 logged at journal block 225 (flags 0x2)
+ FS block 939 logged at journal block 226 (flags 0x2)
+ FS block 940 logged at journal block 227 (flags 0x2)
+ FS block 930 logged at journal block 228 (flags 0x2)
+ FS block 931 logged at journal block 229 (flags 0x2)
+ FS block 941 logged at journal block 230 (flags 0x2)
+ FS block 943 logged at journal block 231 (flags 0x2)
+ FS block 944 logged at journal block 232 (flags 0x2)
+ FS block 945 logged at journal block 233 (flags 0x2)
+ FS block 946 logged at journal block 234 (flags 0x2)
+ FS block 942 logged at journal block 235 (flags 0x2)
+ FS block 932 logged at journal block 236 (flags 0x2)
+ FS block 937 logged at journal block 237 (flags 0x2)
+ FS block 918 logged at journal block 238 (flags 0x2)
+ FS block 919 logged at journal block 239 (flags 0x2)
+ FS block 920 logged at journal block 240 (flags 0x2)
+ FS block 917 logged at journal block 241 (flags 0x2)
+ FS block 929 logged at journal block 242 (flags 0x2)
+ FS block 132 logged at journal block 243 (flags 0x2)
+ FS block 162 logged at journal block 244 (flags 0x2)
+ FS block 950 logged at journal block 245 (flags 0x2)
+ FS block 951 logged at journal block 246 (flags 0x2)
+ FS block 969 logged at journal block 247 (flags 0x2)
+ FS block 970 logged at journal block 248 (flags 0x2)
+ FS block 966 logged at journal block 249 (flags 0x2)
+ FS block 967 logged at journal block 250 (flags 0x2)
+ FS block 968 logged at journal block 251 (flags 0x2)
+ FS block 960 logged at journal block 252 (flags 0x2)
+ FS block 961 logged at journal block 253 (flags 0x2)
+ FS block 954 logged at journal block 254 (flags 0x2)
+ FS block 955 logged at journal block 255 (flags 0x2)
+ FS block 956 logged at journal block 256 (flags 0x2)
+ FS block 957 logged at journal block 257 (flags 0x2)
+ FS block 947 logged at journal block 258 (flags 0x2)
+ FS block 948 logged at journal block 259 (flags 0x2)
+ FS block 958 logged at journal block 260 (flags 0x2)
+ FS block 971 logged at journal block 261 (flags 0x2)
+ FS block 972 logged at journal block 262 (flags 0x2)
+ FS block 962 logged at journal block 263 (flags 0x2)
+ FS block 963 logged at journal block 264 (flags 0x2)
+ FS block 973 logged at journal block 265 (flags 0x2)
+ FS block 976 logged at journal block 266 (flags 0x2)
+ FS block 977 logged at journal block 267 (flags 0x2)
+ FS block 978 logged at journal block 268 (flags 0x2)
+ FS block 959 logged at journal block 269 (flags 0x2)
+ FS block 974 logged at journal block 270 (flags 0x2)
+ FS block 975 logged at journal block 271 (flags 0x2)
+ FS block 965 logged at journal block 272 (flags 0x2)
+ FS block 952 logged at journal block 273 (flags 0x2)
+ FS block 949 logged at journal block 274 (flags 0x2)
+ FS block 964 logged at journal block 275 (flags 0x2)
+ FS block 953 logged at journal block 276 (flags 0x2)
+ FS block 979 logged at journal block 277 (flags 0x2)
+ FS block 982 logged at journal block 278 (flags 0x2)
+ FS block 983 logged at journal block 279 (flags 0x2)
+ FS block 984 logged at journal block 280 (flags 0x2)
+ FS block 1001 logged at journal block 281 (flags 0x2)
+ FS block 1002 logged at journal block 282 (flags 0x2)
+ FS block 999 logged at journal block 283 (flags 0x2)
+ FS block 1000 logged at journal block 284 (flags 0xa)
+Found expected sequence 33, type 1 (descriptor block) at block 285
+Dumping descriptor block, sequence 33, at block 285:
+ FS block 992 logged at journal block 286 (flags 0x0)
+ FS block 993 logged at journal block 287 (flags 0x2)
+ FS block 994 logged at journal block 288 (flags 0x2)
+ FS block 986 logged at journal block 289 (flags 0x2)
+ FS block 987 logged at journal block 290 (flags 0x2)
+ FS block 989 logged at journal block 291 (flags 0x2)
+ FS block 990 logged at journal block 292 (flags 0x2)
+ FS block 980 logged at journal block 293 (flags 0x2)
+ FS block 981 logged at journal block 294 (flags 0x2)
+ FS block 991 logged at journal block 295 (flags 0x2)
+ FS block 1004 logged at journal block 296 (flags 0x2)
+ FS block 1005 logged at journal block 297 (flags 0x2)
+ FS block 995 logged at journal block 298 (flags 0x2)
+ FS block 996 logged at journal block 299 (flags 0x2)
+ FS block 1006 logged at journal block 300 (flags 0x2)
+ FS block 1009 logged at journal block 301 (flags 0x2)
+ FS block 1010 logged at journal block 302 (flags 0x2)
+ FS block 988 logged at journal block 303 (flags 0x2)
+ FS block 1011 logged at journal block 304 (flags 0x2)
+ FS block 1007 logged at journal block 305 (flags 0x2)
+ FS block 997 logged at journal block 306 (flags 0x2)
+ FS block 998 logged at journal block 307 (flags 0x2)
+ FS block 1003 logged at journal block 308 (flags 0x2)
+ FS block 985 logged at journal block 309 (flags 0x2)
+ FS block 1008 logged at journal block 310 (flags 0x2)
+ FS block 146 logged at journal block 311 (flags 0x2)
+ FS block 163 logged at journal block 312 (flags 0x2)
+ FS block 145 logged at journal block 313 (flags 0x2)
+ FS block 148 logged at journal block 314 (flags 0x2)
+ FS block 164 logged at journal block 315 (flags 0x2)
+ FS block 161 logged at journal block 316 (flags 0x2)
+ FS block 165 logged at journal block 317 (flags 0x2)
+ FS block 674 logged at journal block 318 (flags 0x2)
+ FS block 1541 logged at journal block 319 (flags 0x2)
+ FS block 166 logged at journal block 320 (flags 0x2)
+ FS block 167 logged at journal block 321 (flags 0x2)
+ FS block 1556 logged at journal block 322 (flags 0x2)
+ FS block 168 logged at journal block 323 (flags 0x2)
+ FS block 1618 logged at journal block 324 (flags 0x2)
+ FS block 169 logged at journal block 325 (flags 0x2)
+ FS block 1187 logged at journal block 326 (flags 0x2)
+ FS block 170 logged at journal block 327 (flags 0x2)
+ FS block 1188 logged at journal block 328 (flags 0x2)
+ FS block 171 logged at journal block 329 (flags 0x2)
+ FS block 1619 logged at journal block 330 (flags 0x2)
+ FS block 172 logged at journal block 331 (flags 0x2)
+ FS block 1620 logged at journal block 332 (flags 0x2)
+ FS block 173 logged at journal block 333 (flags 0x2)
+ FS block 149 logged at journal block 334 (flags 0x2)
+ FS block 174 logged at journal block 335 (flags 0x2)
+ FS block 675 logged at journal block 336 (flags 0x2)
+ FS block 150 logged at journal block 337 (flags 0x2)
+ FS block 175 logged at journal block 338 (flags 0x2)
+ FS block 176 logged at journal block 339 (flags 0x2)
+ FS block 151 logged at journal block 340 (flags 0x2)
+ FS block 177 logged at journal block 341 (flags 0x2)
+ FS block 152 logged at journal block 342 (flags 0x2)
+ FS block 178 logged at journal block 343 (flags 0x2)
+ FS block 1189 logged at journal block 344 (flags 0x2)
+ FS block 179 logged at journal block 345 (flags 0x2)
+ FS block 1190 logged at journal block 346 (flags 0x2)
+ FS block 180 logged at journal block 347 (flags 0x2)
+ FS block 1191 logged at journal block 348 (flags 0x2)
+ FS block 181 logged at journal block 349 (flags 0x2)
+ FS block 1192 logged at journal block 350 (flags 0x2)
+ FS block 182 logged at journal block 351 (flags 0x2)
+ FS block 1621 logged at journal block 352 (flags 0x2)
+ FS block 183 logged at journal block 353 (flags 0x2)
+ FS block 676 logged at journal block 354 (flags 0x2)
+ FS block 1622 logged at journal block 355 (flags 0x2)
+ FS block 184 logged at journal block 356 (flags 0x2)
+ FS block 185 logged at journal block 357 (flags 0x2)
+ FS block 1623 logged at journal block 358 (flags 0x2)
+ FS block 186 logged at journal block 359 (flags 0x2)
+ FS block 1624 logged at journal block 360 (flags 0x2)
+ FS block 187 logged at journal block 361 (flags 0x2)
+ FS block 153 logged at journal block 362 (flags 0x2)
+ FS block 188 logged at journal block 363 (flags 0x2)
+ FS block 154 logged at journal block 364 (flags 0x2)
+ FS block 189 logged at journal block 365 (flags 0x2)
+ FS block 155 logged at journal block 366 (flags 0xa)
+Found expected sequence 33, type 1 (descriptor block) at block 367
+Dumping descriptor block, sequence 33, at block 367:
+ FS block 190 logged at journal block 368 (flags 0x0)
+ FS block 156 logged at journal block 369 (flags 0x2)
+ FS block 191 logged at journal block 370 (flags 0x2)
+ FS block 157 logged at journal block 371 (flags 0x2)
+ FS block 192 logged at journal block 372 (flags 0x2)
+ FS block 677 logged at journal block 373 (flags 0x2)
+ FS block 158 logged at journal block 374 (flags 0x2)
+ FS block 159 logged at journal block 375 (flags 0x2)
+ FS block 193 logged at journal block 376 (flags 0x2)
+ FS block 194 logged at journal block 377 (flags 0x2)
+ FS block 160 logged at journal block 378 (flags 0x2)
+ FS block 195 logged at journal block 379 (flags 0x2)
+ FS block 1193 logged at journal block 380 (flags 0x2)
+ FS block 196 logged at journal block 381 (flags 0x2)
+ FS block 1194 logged at journal block 382 (flags 0x2)
+ FS block 197 logged at journal block 383 (flags 0x2)
+ FS block 1195 logged at journal block 384 (flags 0x2)
+ FS block 198 logged at journal block 385 (flags 0x2)
+ FS block 1196 logged at journal block 386 (flags 0x2)
+ FS block 199 logged at journal block 387 (flags 0x2)
+ FS block 1197 logged at journal block 388 (flags 0x2)
+ FS block 200 logged at journal block 389 (flags 0x2)
+ FS block 678 logged at journal block 390 (flags 0x2)
+ FS block 1198 logged at journal block 391 (flags 0x2)
+ FS block 201 logged at journal block 392 (flags 0x2)
+ FS block 1199 logged at journal block 393 (flags 0x2)
+ FS block 202 logged at journal block 394 (flags 0x2)
+ FS block 203 logged at journal block 395 (flags 0x2)
+ FS block 1200 logged at journal block 396 (flags 0x2)
+ FS block 204 logged at journal block 397 (flags 0x2)
+ FS block 1625 logged at journal block 398 (flags 0x2)
+ FS block 205 logged at journal block 399 (flags 0x2)
+ FS block 1626 logged at journal block 400 (flags 0x2)
+ FS block 206 logged at journal block 401 (flags 0x2)
+ FS block 1627 logged at journal block 402 (flags 0x2)
+ FS block 207 logged at journal block 403 (flags 0x2)
+ FS block 1628 logged at journal block 404 (flags 0x2)
+ FS block 208 logged at journal block 405 (flags 0x2)
+ FS block 1629 logged at journal block 406 (flags 0x2)
+ FS block 209 logged at journal block 407 (flags 0x2)
+ FS block 679 logged at journal block 408 (flags 0x2)
+ FS block 1630 logged at journal block 409 (flags 0x2)
+ FS block 210 logged at journal block 410 (flags 0x2)
+ FS block 1631 logged at journal block 411 (flags 0x2)
+ FS block 211 logged at journal block 412 (flags 0x2)
+ FS block 212 logged at journal block 413 (flags 0x2)
+ FS block 1632 logged at journal block 414 (flags 0x2)
+ FS block 213 logged at journal block 415 (flags 0x2)
+ FS block 1201 logged at journal block 416 (flags 0x2)
+ FS block 214 logged at journal block 417 (flags 0x2)
+ FS block 1202 logged at journal block 418 (flags 0x2)
+ FS block 215 logged at journal block 419 (flags 0x2)
+ FS block 1203 logged at journal block 420 (flags 0xa)
+Found expected sequence 33, type 2 (commit block) at block 421
+Found expected sequence 34, type 1 (descriptor block) at block 422
+Dumping descriptor block, sequence 34, at block 422:
+ FS block 146 logged at journal block 423 (flags 0x0)
+ FS block 2 logged at journal block 424 (flags 0x2)
+ FS block 215 logged at journal block 425 (flags 0x2)
+ FS block 679 logged at journal block 426 (flags 0x2)
+ FS block 1203 logged at journal block 427 (flags 0x2)
+ FS block 131 logged at journal block 428 (flags 0x2)
+ FS block 216 logged at journal block 429 (flags 0x2)
+ FS block 147 logged at journal block 430 (flags 0x2)
+ FS block 130 logged at journal block 431 (flags 0x2)
+ FS block 1204 logged at journal block 432 (flags 0x2)
+ FS block 677 logged at journal block 433 (flags 0x2)
+ FS block 158 logged at journal block 434 (flags 0x2)
+ FS block 217 logged at journal block 435 (flags 0x2)
+ FS block 1542 logged at journal block 436 (flags 0x2)
+ FS block 218 logged at journal block 437 (flags 0x2)
+ FS block 680 logged at journal block 438 (flags 0x2)
+ FS block 1555 logged at journal block 439 (flags 0x2)
+ FS block 219 logged at journal block 440 (flags 0x2)
+ FS block 1543 logged at journal block 441 (flags 0x2)
+ FS block 220 logged at journal block 442 (flags 0x2)
+ FS block 221 logged at journal block 443 (flags 0x2)
+ FS block 1544 logged at journal block 444 (flags 0x2)
+ FS block 222 logged at journal block 445 (flags 0x2)
+ FS block 1553 logged at journal block 446 (flags 0x2)
+ FS block 162 logged at journal block 447 (flags 0x2)
+ FS block 132 logged at journal block 448 (flags 0x2)
+ FS block 1554 logged at journal block 449 (flags 0x2)
+ FS block 223 logged at journal block 450 (flags 0x2)
+ FS block 1617 logged at journal block 451 (flags 0x2)
+ FS block 224 logged at journal block 452 (flags 0x2)
+ FS block 1205 logged at journal block 453 (flags 0x2)
+ FS block 225 logged at journal block 454 (flags 0x2)
+ FS block 1206 logged at journal block 455 (flags 0x2)
+ FS block 226 logged at journal block 456 (flags 0x2)
+ FS block 681 logged at journal block 457 (flags 0x2)
+ FS block 1207 logged at journal block 458 (flags 0x2)
+ FS block 227 logged at journal block 459 (flags 0x2)
+ FS block 1208 logged at journal block 460 (flags 0x2)
+ FS block 228 logged at journal block 461 (flags 0x2)
+ FS block 1537 logged at journal block 462 (flags 0x2)
+ FS block 229 logged at journal block 463 (flags 0x2)
+ FS block 230 logged at journal block 464 (flags 0x2)
+ FS block 1538 logged at journal block 465 (flags 0x2)
+ FS block 231 logged at journal block 466 (flags 0x2)
+ FS block 1539 logged at journal block 467 (flags 0x2)
+ FS block 232 logged at journal block 468 (flags 0x2)
+ FS block 1540 logged at journal block 469 (flags 0x2)
+ FS block 233 logged at journal block 470 (flags 0x2)
+ FS block 1557 logged at journal block 471 (flags 0x2)
+ FS block 234 logged at journal block 472 (flags 0x2)
+ FS block 1558 logged at journal block 473 (flags 0x2)
+ FS block 235 logged at journal block 474 (flags 0x2)
+ FS block 682 logged at journal block 475 (flags 0x2)
+ FS block 1559 logged at journal block 476 (flags 0x2)
+ FS block 236 logged at journal block 477 (flags 0x2)
+ FS block 1560 logged at journal block 478 (flags 0x2)
+ FS block 237 logged at journal block 479 (flags 0x2)
+ FS block 1209 logged at journal block 480 (flags 0x2)
+ FS block 238 logged at journal block 481 (flags 0x2)
+ FS block 239 logged at journal block 482 (flags 0x2)
+ FS block 1210 logged at journal block 483 (flags 0x2)
+ FS block 240 logged at journal block 484 (flags 0x2)
+ FS block 1211 logged at journal block 485 (flags 0x2)
+ FS block 241 logged at journal block 486 (flags 0x2)
+ FS block 1212 logged at journal block 487 (flags 0x2)
+ FS block 242 logged at journal block 488 (flags 0x2)
+ FS block 1213 logged at journal block 489 (flags 0x2)
+ FS block 243 logged at journal block 490 (flags 0x2)
+ FS block 1214 logged at journal block 491 (flags 0x2)
+ FS block 244 logged at journal block 492 (flags 0x2)
+ FS block 683 logged at journal block 493 (flags 0x2)
+ FS block 1215 logged at journal block 494 (flags 0x2)
+ FS block 245 logged at journal block 495 (flags 0x2)
+ FS block 1216 logged at journal block 496 (flags 0x2)
+ FS block 246 logged at journal block 497 (flags 0x2)
+ FS block 1545 logged at journal block 498 (flags 0x2)
+ FS block 247 logged at journal block 499 (flags 0x2)
+ FS block 248 logged at journal block 500 (flags 0x2)
+ FS block 1546 logged at journal block 501 (flags 0x2)
+ FS block 249 logged at journal block 502 (flags 0x2)
+ FS block 1547 logged at journal block 503 (flags 0xa)
+Found expected sequence 34, type 1 (descriptor block) at block 504
+Dumping descriptor block, sequence 34, at block 504:
+ FS block 250 logged at journal block 505 (flags 0x0)
+ FS block 1548 logged at journal block 506 (flags 0x2)
+ FS block 251 logged at journal block 507 (flags 0x2)
+ FS block 1549 logged at journal block 508 (flags 0x2)
+ FS block 1550 logged at journal block 509 (flags 0x2)
+ FS block 252 logged at journal block 510 (flags 0x2)
+ FS block 684 logged at journal block 511 (flags 0x2)
+ FS block 1551 logged at journal block 512 (flags 0x2)
+ FS block 253 logged at journal block 513 (flags 0x2)
+ FS block 1552 logged at journal block 514 (flags 0x2)
+ FS block 254 logged at journal block 515 (flags 0x2)
+ FS block 1561 logged at journal block 516 (flags 0x2)
+ FS block 255 logged at journal block 517 (flags 0x2)
+ FS block 1562 logged at journal block 518 (flags 0x2)
+ FS block 256 logged at journal block 519 (flags 0x2)
+ FS block 257 logged at journal block 520 (flags 0x2)
+ FS block 1563 logged at journal block 521 (flags 0x2)
+ FS block 258 logged at journal block 522 (flags 0x2)
+ FS block 1564 logged at journal block 523 (flags 0x2)
+ FS block 259 logged at journal block 524 (flags 0x2)
+ FS block 1565 logged at journal block 525 (flags 0x2)
+ FS block 260 logged at journal block 526 (flags 0x2)
+ FS block 1566 logged at journal block 527 (flags 0x2)
+ FS block 261 logged at journal block 528 (flags 0x2)
+ FS block 685 logged at journal block 529 (flags 0x2)
+ FS block 1567 logged at journal block 530 (flags 0x2)
+ FS block 262 logged at journal block 531 (flags 0x2)
+ FS block 1568 logged at journal block 532 (flags 0x2)
+ FS block 263 logged at journal block 533 (flags 0x2)
+ FS block 1601 logged at journal block 534 (flags 0x2)
+ FS block 264 logged at journal block 535 (flags 0x2)
+ FS block 1602 logged at journal block 536 (flags 0x2)
+ FS block 265 logged at journal block 537 (flags 0x2)
+ FS block 266 logged at journal block 538 (flags 0x2)
+ FS block 1603 logged at journal block 539 (flags 0x2)
+ FS block 267 logged at journal block 540 (flags 0x2)
+ FS block 1604 logged at journal block 541 (flags 0x2)
+ FS block 268 logged at journal block 542 (flags 0x2)
+ FS block 1605 logged at journal block 543 (flags 0x2)
+ FS block 269 logged at journal block 544 (flags 0x2)
+ FS block 1606 logged at journal block 545 (flags 0x2)
+ FS block 270 logged at journal block 546 (flags 0x2)
+ FS block 686 logged at journal block 547 (flags 0x2)
+ FS block 1607 logged at journal block 548 (flags 0x2)
+ FS block 271 logged at journal block 549 (flags 0x2)
+ FS block 1608 logged at journal block 550 (flags 0x2)
+ FS block 272 logged at journal block 551 (flags 0x2)
+ FS block 1609 logged at journal block 552 (flags 0x2)
+ FS block 273 logged at journal block 553 (flags 0x2)
+ FS block 1610 logged at journal block 554 (flags 0x2)
+ FS block 274 logged at journal block 555 (flags 0x2)
+ FS block 275 logged at journal block 556 (flags 0x2)
+ FS block 1611 logged at journal block 557 (flags 0x2)
+ FS block 276 logged at journal block 558 (flags 0x2)
+ FS block 1612 logged at journal block 559 (flags 0x2)
+ FS block 277 logged at journal block 560 (flags 0x2)
+ FS block 1613 logged at journal block 561 (flags 0x2)
+ FS block 278 logged at journal block 562 (flags 0x2)
+ FS block 1614 logged at journal block 563 (flags 0x2)
+ FS block 279 logged at journal block 564 (flags 0x2)
+ FS block 687 logged at journal block 565 (flags 0x2)
+ FS block 1615 logged at journal block 566 (flags 0x2)
+ FS block 280 logged at journal block 567 (flags 0x2)
+ FS block 1616 logged at journal block 568 (flags 0x2)
+ FS block 1569 logged at journal block 569 (flags 0x2)
+ FS block 281 logged at journal block 570 (flags 0x2)
+ FS block 1570 logged at journal block 571 (flags 0x2)
+ FS block 282 logged at journal block 572 (flags 0x2)
+ FS block 1571 logged at journal block 573 (flags 0x2)
+ FS block 283 logged at journal block 574 (flags 0x2)
+ FS block 284 logged at journal block 575 (flags 0x2)
+ FS block 1572 logged at journal block 576 (flags 0x2)
+ FS block 285 logged at journal block 577 (flags 0x2)
+ FS block 1573 logged at journal block 578 (flags 0x2)
+ FS block 286 logged at journal block 579 (flags 0x2)
+ FS block 1574 logged at journal block 580 (flags 0x2)
+ FS block 287 logged at journal block 581 (flags 0x2)
+ FS block 688 logged at journal block 582 (flags 0x2)
+ FS block 1575 logged at journal block 583 (flags 0x2)
+ FS block 288 logged at journal block 584 (flags 0x2)
+ FS block 1576 logged at journal block 585 (flags 0xa)
+Found expected sequence 34, type 1 (descriptor block) at block 586
+Dumping descriptor block, sequence 34, at block 586:
+ FS block 289 logged at journal block 587 (flags 0x0)
+ FS block 1577 logged at journal block 588 (flags 0x2)
+ FS block 290 logged at journal block 589 (flags 0x2)
+ FS block 1578 logged at journal block 590 (flags 0x2)
+ FS block 291 logged at journal block 591 (flags 0x2)
+ FS block 1579 logged at journal block 592 (flags 0x2)
+ FS block 292 logged at journal block 593 (flags 0x2)
+ FS block 293 logged at journal block 594 (flags 0x2)
+ FS block 1580 logged at journal block 595 (flags 0x2)
+ FS block 294 logged at journal block 596 (flags 0x2)
+ FS block 1581 logged at journal block 597 (flags 0x2)
+ FS block 295 logged at journal block 598 (flags 0x2)
+ FS block 1582 logged at journal block 599 (flags 0x2)
+ FS block 296 logged at journal block 600 (flags 0x2)
+ FS block 689 logged at journal block 601 (flags 0x2)
+ FS block 1583 logged at journal block 602 (flags 0x2)
+ FS block 297 logged at journal block 603 (flags 0x2)
+ FS block 1584 logged at journal block 604 (flags 0x2)
+ FS block 298 logged at journal block 605 (flags 0x2)
+ FS block 1585 logged at journal block 606 (flags 0x2)
+ FS block 299 logged at journal block 607 (flags 0x2)
+ FS block 1586 logged at journal block 608 (flags 0x2)
+ FS block 300 logged at journal block 609 (flags 0x2)
+ FS block 1587 logged at journal block 610 (flags 0x2)
+ FS block 301 logged at journal block 611 (flags 0x2)
+ FS block 302 logged at journal block 612 (flags 0x2)
+ FS block 1588 logged at journal block 613 (flags 0x2)
+ FS block 303 logged at journal block 614 (flags 0x2)
+ FS block 1589 logged at journal block 615 (flags 0x2)
+ FS block 304 logged at journal block 616 (flags 0x2)
+ FS block 1590 logged at journal block 617 (flags 0x2)
+ FS block 305 logged at journal block 618 (flags 0x2)
+ FS block 690 logged at journal block 619 (flags 0x2)
+ FS block 1591 logged at journal block 620 (flags 0x2)
+ FS block 306 logged at journal block 621 (flags 0x2)
+ FS block 1592 logged at journal block 622 (flags 0x2)
+ FS block 307 logged at journal block 623 (flags 0x2)
+ FS block 1593 logged at journal block 624 (flags 0x2)
+ FS block 308 logged at journal block 625 (flags 0x2)
+ FS block 1594 logged at journal block 626 (flags 0x2)
+ FS block 309 logged at journal block 627 (flags 0x2)
+ FS block 1595 logged at journal block 628 (flags 0x2)
+ FS block 1596 logged at journal block 629 (flags 0x2)
+ FS block 310 logged at journal block 630 (flags 0x2)
+ FS block 311 logged at journal block 631 (flags 0x2)
+ FS block 1597 logged at journal block 632 (flags 0x2)
+ FS block 312 logged at journal block 633 (flags 0x2)
+ FS block 1598 logged at journal block 634 (flags 0x2)
+ FS block 313 logged at journal block 635 (flags 0x2)
+ FS block 691 logged at journal block 636 (flags 0x2)
+ FS block 1599 logged at journal block 637 (flags 0x2)
+ FS block 314 logged at journal block 638 (flags 0x2)
+ FS block 1600 logged at journal block 639 (flags 0xa)
+Found expected sequence 34, type 2 (commit block) at block 640
+No magic number at block 641: end of journal.
diff --git a/tests/f_jnl_64bit/expect.1 b/tests/f_jnl_64bit/expect.1
new file mode 100644
index 00000000..e360e2fe
--- /dev/null
+++ b/tests/f_jnl_64bit/expect.1
@@ -0,0 +1,16 @@
+test_filesys: recovering journal
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+Free blocks count wrong (14059, counted=12712).
+Fix? yes
+
+Free inodes count wrong (8181, counted=6834).
+Fix? yes
+
+
+test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
+test_filesys: 1358/8192 files (0.0% non-contiguous), 3672/16384 blocks
+Exit status is 1
diff --git a/tests/f_jnl_64bit/expect.2 b/tests/f_jnl_64bit/expect.2
new file mode 100644
index 00000000..93cb7300
--- /dev/null
+++ b/tests/f_jnl_64bit/expect.2
@@ -0,0 +1,7 @@
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+test_filesys: 1358/8192 files (0.0% non-contiguous), 3672/16384 blocks
+Exit status is 0
diff --git a/tests/f_jnl_64bit/image.gz b/tests/f_jnl_64bit/image.gz
new file mode 100644
index 00000000..9758f903
--- /dev/null
+++ b/tests/f_jnl_64bit/image.gz
Binary files differ
diff --git a/tests/f_jnl_64bit/name b/tests/f_jnl_64bit/name
new file mode 100644
index 00000000..2c8dd15f
--- /dev/null
+++ b/tests/f_jnl_64bit/name
@@ -0,0 +1 @@
+on-disk 64-bit journal format
diff --git a/tests/f_jnl_64bit/script b/tests/f_jnl_64bit/script
new file mode 100644
index 00000000..9fb4366d
--- /dev/null
+++ b/tests/f_jnl_64bit/script
@@ -0,0 +1,4 @@
+PREP_CMD='$DEBUGFS -R "logdump -a" $TMPFILE 2>&1 | sed -f $cmd_dir/filter.sed > $test_name.0.log'
+PASS_ZERO=true
+
+. $cmd_dir/run_e2fsck
diff --git a/tests/f_jnl_errno/expect.0 b/tests/f_jnl_errno/expect.0
new file mode 100644
index 00000000..6dad72a1
--- /dev/null
+++ b/tests/f_jnl_errno/expect.0
@@ -0,0 +1,47 @@
+Filesystem volume name: <none>
+Last mounted on: <not available>
+Filesystem magic number: 0xEF53
+Filesystem revision #: 1 (dynamic)
+Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
+Default mount options: user_xattr acl
+Filesystem state: clean
+Errors behavior: Remount read-only
+Filesystem OS type: Linux
+Inode count: 2048
+Block count: 8192
+Reserved block count: 409
+Free blocks: 6862
+Free inodes: 2037
+First block: 1
+Block size: 1024
+Fragment size: 1024
+Reserved GDT blocks: 31
+Blocks per group: 8192
+Fragments per group: 8192
+Inodes per group: 2048
+Inode blocks per group: 256
+Flex block group size: 16
+Mount count: 0
+Check interval: 0 (<none>)
+Reserved blocks uid: 0
+Reserved blocks gid: 0
+First inode: 11
+Inode size: 128
+Journal inode: 8
+Default directory hash: half_md4
+Journal backup: inode blocks
+Journal features: (none)
+Journal size: 1024k
+Journal length: 1024
+Journal sequence: 0x00000005
+Journal start: 0
+
+
+Group 0: (Blocks 1-8191) [ITABLE_ZEROED]
+ Primary superblock at 1, Group descriptors at 2-2
+ Reserved GDT blocks at 3-33
+ Block bitmap at 34 (+33), Inode bitmap at 50 (+49)
+ Inode table at 66-321 (+65)
+ 6862 free blocks, 2037 free inodes, 2 directories, 2037 unused inodes
+ Free blocks: 1330-8191
+ Free inodes: 12-2048
diff --git a/tests/f_jnl_errno/expect.1 b/tests/f_jnl_errno/expect.1
new file mode 100644
index 00000000..c5729512
--- /dev/null
+++ b/tests/f_jnl_errno/expect.1
@@ -0,0 +1,9 @@
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+
+test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
+test_filesys: 11/2048 files (9.1% non-contiguous), 1330/8192 blocks
+Exit status is 1
diff --git a/tests/f_jnl_errno/expect.2 b/tests/f_jnl_errno/expect.2
new file mode 100644
index 00000000..db16a759
--- /dev/null
+++ b/tests/f_jnl_errno/expect.2
@@ -0,0 +1,7 @@
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+test_filesys: 11/2048 files (9.1% non-contiguous), 1330/8192 blocks
+Exit status is 0
diff --git a/tests/f_jnl_errno/image.gz b/tests/f_jnl_errno/image.gz
new file mode 100644
index 00000000..c55c775d
--- /dev/null
+++ b/tests/f_jnl_errno/image.gz
Binary files differ
diff --git a/tests/f_jnl_errno/name b/tests/f_jnl_errno/name
new file mode 100644
index 00000000..e5f64d6d
--- /dev/null
+++ b/tests/f_jnl_errno/name
@@ -0,0 +1 @@
+journal s_errno handling
diff --git a/tests/f_jnl_errno/script b/tests/f_jnl_errno/script
new file mode 100644
index 00000000..ef5006a8
--- /dev/null
+++ b/tests/f_jnl_errno/script
@@ -0,0 +1,4 @@
+AFTER_CMD='$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter.sed > $test_name.0.log'
+PASS_ZERO=true
+
+. $cmd_dir/run_e2fsck
diff --git a/tests/f_mmp/script b/tests/f_mmp/script
index 4aca4475..d921672e 100644
--- a/tests/f_mmp/script
+++ b/tests/f_mmp/script
@@ -1,13 +1,12 @@
FSCK_OPT=-yf
-TMPFILE=test.img
-rm -f $test_name.failed $test_name.ok
+TMPFILE=$test_name.tmp
> $TMPFILE
stat -f $TMPFILE | grep -q "Type: tmpfs"
-if [ $? == 0 ]; then
+if [ $? = 0 ]; then
rm -f $TMPFILE
- echo "skipped for tmpfs (no O_DIRECT support)"
+ echo "$test_name: $test_description: skipped for tmpfs (no O_DIRECT)"
return 0
fi
@@ -16,14 +15,22 @@ $MKE2FS -q -F -o Linux -b 4096 -O mmp -E mmp_update_interval=1 $TMPFILE 100 >> $
status=$?
if [ "$status" != 0 ] ; then
echo "mke2fs -O mmp failed" > $test_name.failed
- echo "failed"
+ echo "$test_name: $test_description: failed"
return $status
fi
+kill_debugfs() {
+ trap 0
+ PID=$(ps -o pid,command | grep -v awk |
+ awk "/debugfs -w $TMPFILE/ { print \$1 }")
+ [ "x$PID" != "x" ] && kill -9 $PID
+}
+
# this will cause debugfs to create the $test_name.mark file once it has
# passed the MMP startup, then continue reading input until it is killed
MARKFILE=$test_name.new
rm -f $MARKFILE
+trap kill_debugfs EXIT
echo "set mmp sequence to EXT2_MMP_SEQ_FSCK..." >> $test_name.log
( { echo dump_mmp; echo "dump_inode <2> $MARKFILE"; cat /dev/zero; } |
$DEBUGFS -w $TMPFILE >> $test_name.log 2>&1 & ) > /dev/null 2>&1 &
@@ -33,15 +40,15 @@ while [ ! -e $MARKFILE ]; do
done
rm -f $MARKFILE
echo "kill debugfs abruptly (simulates e2fsck failure) ..." >> $test_name.log
-killall -9 debugfs >> $test_name.log
+kill_debugfs
echo "e2fsck (should fail mmp_seq = EXT2_MMP_SEQ_FSCK) ..." >> $test_name.log
$FSCK $FSCK_OPT $TMPFILE >> $test_name.log 2>&1
status=$?
-if [ "$status" == 0 ] ; then
+if [ "$status" = 0 ] ; then
echo "e2fsck with MMP as EXT2_MMP_SEQ_FSCK ran!" > $test_name.failed
- echo "failed"
+ echo "$test_name: $test_description: failed"
return 1
fi
@@ -50,7 +57,7 @@ $TUNE2FS -f -E clear_mmp $TMPFILE >> $test_name.log 2>&1
status=$?
if [ "$status" != 0 ] ; then
echo "tune2fs clearing EXT2_MMP_SEQ_FSCK failed" > $test_name.failed
- echo "failed"
+ echo "$test_name: $test_description: failed"
return 1
fi
@@ -59,9 +66,9 @@ $FSCK $FSCK_OPT $TMPFILE >> $test_name.log 2>&1
status=$?
if [ "$status" != 0 ] ; then
echo "e2fsck after clearing EXT2_MMP_SEQ_FSCK failed"> $test_name.failed
- echo "failed"
+ echo "$test_name: $test_description: failed"
return $status
fi
-echo "ok"
+echo "$test_name: $test_description: ok"
rm -f $TMPFILE
diff --git a/tests/f_mmp_garbage/script b/tests/f_mmp_garbage/script
index 8b5a22a2..02cc12a4 100644
--- a/tests/f_mmp_garbage/script
+++ b/tests/f_mmp_garbage/script
@@ -1,13 +1,12 @@
FSCK_OPT=-yf
-TMPFILE=test.img
-rm -f $test_name.failed $test_name.ok
+TMPFILE=$test_name.tmp
> $TMPFILE
stat -f $TMPFILE | grep -q "Type: tmpfs"
-if [ $? == 0 ] ; then
+if [ $? = 0 ] ; then
rm -f $TMPFILE
- echo "skipped for tmpfs (no O_DIRECT support)"
+ echo "$test_name: $test_description: skipped for tmpfs (no O_DIRECT)"
return 0
fi
@@ -16,7 +15,7 @@ $MKE2FS -q -F -o Linux -b 4096 -O mmp -E mmp_update_interval=1 $TMPFILE 100 >> $
status=$?
if [ "$status" != 0 ] ; then
echo "mke2fs -O mmp failed" > $test_name.failed
- echo "failed"
+ echo "$test_name: $test_description: failed"
return $status
fi
diff --git a/tests/f_orphan_extents_inode/expect.1 b/tests/f_orphan_extents_inode/expect.1
new file mode 100644
index 00000000..2eaab78a
--- /dev/null
+++ b/tests/f_orphan_extents_inode/expect.1
@@ -0,0 +1,10 @@
+Truncating orphaned inode 12 (uid=0, gid=0, mode=0100644, size=0)
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+
+test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
+test_filesys: 12/16 files (0.0% non-contiguous), 21/100 blocks
+Exit status is 1
diff --git a/tests/f_orphan_extents_inode/expect.2 b/tests/f_orphan_extents_inode/expect.2
new file mode 100644
index 00000000..4ee5d96a
--- /dev/null
+++ b/tests/f_orphan_extents_inode/expect.2
@@ -0,0 +1,7 @@
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+test_filesys: 12/16 files (0.0% non-contiguous), 21/100 blocks
+Exit status is 0
diff --git a/tests/f_orphan_extents_inode/image.gz b/tests/f_orphan_extents_inode/image.gz
new file mode 100644
index 00000000..6c57fef5
--- /dev/null
+++ b/tests/f_orphan_extents_inode/image.gz
Binary files differ
diff --git a/tests/f_orphan_extents_inode/name b/tests/f_orphan_extents_inode/name
new file mode 100644
index 00000000..fc48ec2a
--- /dev/null
+++ b/tests/f_orphan_extents_inode/name
@@ -0,0 +1 @@
+truncating an orphaned extent-mapped inode
diff --git a/tests/f_orphan_indirect_inode/expect.1 b/tests/f_orphan_indirect_inode/expect.1
new file mode 100644
index 00000000..814a6888
--- /dev/null
+++ b/tests/f_orphan_indirect_inode/expect.1
@@ -0,0 +1,3 @@
+test_filesys: Truncating orphaned inode 12 (uid=0, gid=0, mode=0100644, size=0)
+test_filesys: clean, 12/16 files, 21/100 blocks
+Exit status is 0
diff --git a/tests/f_orphan_indirect_inode/expect.2 b/tests/f_orphan_indirect_inode/expect.2
new file mode 100644
index 00000000..4ee5d96a
--- /dev/null
+++ b/tests/f_orphan_indirect_inode/expect.2
@@ -0,0 +1,7 @@
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+test_filesys: 12/16 files (0.0% non-contiguous), 21/100 blocks
+Exit status is 0
diff --git a/tests/f_orphan_indirect_inode/image.gz b/tests/f_orphan_indirect_inode/image.gz
new file mode 100644
index 00000000..54b39094
--- /dev/null
+++ b/tests/f_orphan_indirect_inode/image.gz
Binary files differ
diff --git a/tests/f_orphan_indirect_inode/name b/tests/f_orphan_indirect_inode/name
new file mode 100644
index 00000000..04ccb312
--- /dev/null
+++ b/tests/f_orphan_indirect_inode/name
@@ -0,0 +1 @@
+truncating an orphaned inode in preen mode
diff --git a/tests/f_orphan_indirect_inode/script b/tests/f_orphan_indirect_inode/script
new file mode 100644
index 00000000..ea3b93a3
--- /dev/null
+++ b/tests/f_orphan_indirect_inode/script
@@ -0,0 +1,2 @@
+FSCK_OPT=-p
+. $cmd_dir/run_e2fsck
diff --git a/tests/f_preen/expect.1 b/tests/f_preen/expect.1
index c65209dd..dd20572a 100644
--- a/tests/f_preen/expect.1
+++ b/tests/f_preen/expect.1
@@ -1,3 +1,4 @@
+test_filesys: Note: if several inode or block bitmap blocks or part
of the inode table require relocation, you may wish to try
running e2fsck with the '-b 8193' option first. The problem
may lie only with the primary block group descriptors, and
diff --git a/tests/f_quota/debugfs-cmds b/tests/f_quota/debugfs-cmds
new file mode 100644
index 00000000..112a3ff1
--- /dev/null
+++ b/tests/f_quota/debugfs-cmds
@@ -0,0 +1,7 @@
+list_quota user
+list_quota group
+get_quota user 0
+get_quota user 100
+get_quota user 34
+get_quota group 0
+
diff --git a/tests/f_quota/expect.0 b/tests/f_quota/expect.0
new file mode 100644
index 00000000..c0ad63dd
--- /dev/null
+++ b/tests/f_quota/expect.0
@@ -0,0 +1,21 @@
+debugfs: list_quota user
+ user id blocks quota limit inodes quota limit
+ 0 13312 0 0 2 0 0
+ 34 1024 0 0 1 0 0
+ 100 2048 32 50 2 20 30
+debugfs: list_quota group
+group id blocks quota limit inodes quota limit
+ 0 16384 0 0 5 0 0
+debugfs: get_quota user 0
+ user id blocks quota limit inodes quota limit
+ 0 13312 0 0 2 0 0
+debugfs: get_quota user 100
+ user id blocks quota limit inodes quota limit
+ 100 2048 32 50 2 20 30
+debugfs: get_quota user 34
+ user id blocks quota limit inodes quota limit
+ 34 1024 0 0 1 0 0
+debugfs: get_quota group 0
+group id blocks quota limit inodes quota limit
+ 0 16384 0 0 5 0 0
+debugfs:
diff --git a/tests/f_quota/expect.1 b/tests/f_quota/expect.1
new file mode 100644
index 00000000..0b3b4cf6
--- /dev/null
+++ b/tests/f_quota/expect.1
@@ -0,0 +1,13 @@
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+[QUOTA WARNING] Usage inconsistent for ID 0:actual (13312, 2) != expected (14336, 3)
+[QUOTA WARNING] Usage inconsistent for ID 100:actual (2048, 2) != expected (1024, 1)
+Update quota info for quota type 0? yes
+
+
+test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
+test_filesys: 14/16 files (14.3% non-contiguous), 36/100 blocks
+Exit status is 1
diff --git a/tests/f_quota/expect.2 b/tests/f_quota/expect.2
new file mode 100644
index 00000000..bfc558d9
--- /dev/null
+++ b/tests/f_quota/expect.2
@@ -0,0 +1,7 @@
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+test_filesys: 14/16 files (14.3% non-contiguous), 36/100 blocks
+Exit status is 0
diff --git a/tests/f_quota/image.gz b/tests/f_quota/image.gz
new file mode 100644
index 00000000..9cea6556
--- /dev/null
+++ b/tests/f_quota/image.gz
Binary files differ
diff --git a/tests/f_quota/name b/tests/f_quota/name
new file mode 100644
index 00000000..27ea8baa
--- /dev/null
+++ b/tests/f_quota/name
@@ -0,0 +1 @@
+fix incorrect usage stats in quota
diff --git a/tests/f_quota/script b/tests/f_quota/script
new file mode 100644
index 00000000..bf25e071
--- /dev/null
+++ b/tests/f_quota/script
@@ -0,0 +1,4 @@
+AFTER_CMD='$DEBUGFS -f $test_dir/debugfs-cmds $TMPFILE 2>&1 | sed -f $cmd_dir/filter.sed > $test_name.0.log'
+PASS_ZERO=true
+
+. $cmd_dir/run_e2fsck
diff --git a/tests/f_rehash_dir/name b/tests/f_rehash_dir/name
new file mode 100644
index 00000000..a7a869a4
--- /dev/null
+++ b/tests/f_rehash_dir/name
@@ -0,0 +1 @@
+optimize htree directories
diff --git a/tests/f_resize_inode/expect b/tests/f_resize_inode/expect
index 84618d4d..db57ed65 100644
--- a/tests/f_resize_inode/expect
+++ b/tests/f_resize_inode/expect
@@ -1,22 +1,11 @@
mke2fs -F -O resize_inode -o Linux -b 1024 -g 1024 test.img 16384
-Filesystem label=
-OS type: Linux
-Block size=1024 (log=0)
-Fragment size=1024 (log=0)
-Stride=0 blocks, Stripe width=0 blocks
-4096 inodes, 16384 blocks
-819 blocks (5.00%) reserved for the super user
-First data block=1
-Maximum filesystem blocks=8421376
-16 block groups
-1024 blocks per group, 1024 fragments per group
-256 inodes per group
+Creating filesystem with 16384 1k blocks and 4096 inodes
Superblock backups stored on blocks:
1025, 3073, 5121, 7169, 9217
-Allocating group tables: 0/16 1/16 2/16 3/16 4/16 5/16 6/16 7/16 8/16 9/1610/1611/1612/1613/1614/1615/16 done
-Writing inode tables: 0/16 1/16 2/16 3/16 4/16 5/16 6/16 7/16 8/16 9/1610/1611/1612/1613/1614/1615/16 done
-Writing superblocks and filesystem accounting information: 0/16 1/16 2/16 3/16 4/16 5/16 6/16 7/16 8/16 9/1610/1611/1612/1613/1614/1615/16 done
+Allocating group tables: done
+Writing inode tables: done
+Writing superblocks and filesystem accounting information: done
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
diff --git a/tests/f_resize_inode/script b/tests/f_resize_inode/script
index ca934e9e..190871b4 100644
--- a/tests/f_resize_inode/script
+++ b/tests/f_resize_inode/script
@@ -1,10 +1,10 @@
if test -x $DEBUGFS_EXE; then
-printf "e2fsck with resize_inode: "
+test_description="e2fsck with resize_inode"
FSCK_OPT=-yf
OUT=$test_name.log
if [ -f $test_dir/expect.gz ]; then
- EXP=tmp_expect
+ EXP=$test_name.tmp
gunzip < $test_dir/expect.gz > $EXP1
else
EXP=$test_dir/expect
@@ -15,15 +15,13 @@ cp /dev/null $OUT
dd if=/dev/zero of=$TMPFILE bs=1k count=512 > /dev/null 2>&1
echo mke2fs -F -O resize_inode -o Linux -b 1024 -g 1024 test.img 16384 > $OUT
-$MKE2FS -F -O resize_inode -o Linux -b 1024 -g 1024 $TMPFILE 16384 2>&1 \
- | sed -e '1d' | grep -v "automatically checked" |
- grep -v 'Discarding device blocks' |
- grep -v "whichever comes first" >> $OUT
+$MKE2FS -F -O resize_inode -o Linux -b 1024 -g 1024 $TMPFILE 16384 2>&1 |
+ sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" >> $OUT
$FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1
status=$?
echo Exit status is $status >> $OUT.new
-sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT
+sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT.new >> $OUT
rm -f $OUT.new
echo ----------------------------------------------- >> $OUT
@@ -33,18 +31,18 @@ echo "debugfs -R ''set_inode_field <7> block[2] 42'' -w test.img" > $OUT.new
$DEBUGFS -R "set_inode_field <7> block[2] 42" -w $TMPFILE >> $OUT.new 2>&1
status=$?
echo Exit status is $status >> $OUT.new
-sed -e '2d' $OUT.new >> $OUT
+sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
$FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1
status=$?
echo Exit status is $status >> $OUT.new
-sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT
+sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
rm -f $OUT.new
$FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1
status=$?
echo Exit status is $status >> $OUT.new
-sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT
+sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
rm -f $OUT.new
echo ----------------------------------------------- >> $OUT
@@ -54,18 +52,18 @@ echo "debugfs -R ''clri <7>'' -w test.img" > $OUT.new
$DEBUGFS -R "clri <7>" -w $TMPFILE >> $OUT.new 2>&1
status=$?
echo Exit status is $status >> $OUT.new
-sed -e '2d' $OUT.new >> $OUT
+sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
$FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1
status=$?
echo Exit status is $status >> $OUT.new
-sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT
+sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
rm -f $OUT.new
$FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1
status=$?
echo Exit status is $status >> $OUT.new
-sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT
+sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
rm -f $OUT.new
echo ----------------------------------------------- >> $OUT
@@ -75,18 +73,18 @@ echo "debugfs -R ''set_inode_field <7> bmap[524] 57'' -w test.img" > $OUT.new
$DEBUGFS -R "set_inode_field <7> bmap[524] 57" -w $TMPFILE >> $OUT.new 2>&1
status=$?
echo Exit status is $status >> $OUT.new
-sed -e '2d' $OUT.new >> $OUT
+sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
$FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1
status=$?
echo Exit status is $status >> $OUT.new
-sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT
+sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
rm -f $OUT.new
$FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1
status=$?
echo Exit status is $status >> $OUT.new
-sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT
+sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
rm -f $OUT.new
echo ----------------------------------------------- >> $OUT
@@ -96,12 +94,12 @@ echo "debugfs -R ''set_super_value reserved_gdt_blocks 15679'' -w test.img" > $O
$DEBUGFS -R "set_super_value reserved_gdt_blocks 15679" -w $TMPFILE >> $OUT.new 2>&1
status=$?
echo Exit status is $status >> $OUT.new
-sed -e '2d' $OUT.new >> $OUT
+sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
$FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1
status=$?
echo Exit status is $status >> $OUT.new
-sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT
+sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
rm -f $OUT.new
echo ----------------------------------------------- >> $OUT
@@ -111,30 +109,29 @@ echo "debugfs -R ''set_super_value reserved_gdt_blocks 32'' -w test.img" > $OUT.
$DEBUGFS -R "set_super_value reserved_gdt_blocks 32" -w $TMPFILE >> $OUT.new 2>&1
status=$?
echo Exit status is $status >> $OUT.new
-sed -e '2d' $OUT.new >> $OUT
+sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
$FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1
status=$?
echo Exit status is $status >> $OUT.new
-sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT
+sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
rm -f $OUT.new
$FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1
status=$?
echo Exit status is $status >> $OUT.new
-sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT
+sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
rm -f $OUT.new
-rm -f $test_name.ok $test_name.failed
cmp -s $OUT $EXP
status=$?
if [ "$status" = 0 ] ; then
- echo "ok"
+ echo "$test_name: $test_description: ok"
touch $test_name.ok
else
- echo "failed"
+ echo "$test_name: $test_description: failed"
diff $DIFF_OPTS $EXP $OUT > $test_name.failed
rm -f tmp_expect
fi
@@ -142,6 +139,5 @@ fi
unset IMAGE FSCK_OPT OUT EXP
else #if test -x $DEBUGFS_EXE; then
- rm -f $test_name.ok $test_name.failed
- echo "skipped"
+ echo "$test_name: $test_description: skipped"
fi
diff --git a/tests/f_toobig_extent_dir/expect.1 b/tests/f_toobig_extent_dir/expect.1
new file mode 100644
index 00000000..610ca3f0
--- /dev/null
+++ b/tests/f_toobig_extent_dir/expect.1
@@ -0,0 +1,12 @@
+Pass 1: Checking inodes, blocks, and sizes
+Inode 12 is too big. Truncate? yes
+
+Block #4294967281 (90) causes directory to be too big. CLEARED.
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+
+test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
+test_filesys: 12/56 files (0.0% non-contiguous), 28/400 blocks
+Exit status is 1
diff --git a/tests/f_toobig_extent_dir/expect.2 b/tests/f_toobig_extent_dir/expect.2
new file mode 100644
index 00000000..c0256452
--- /dev/null
+++ b/tests/f_toobig_extent_dir/expect.2
@@ -0,0 +1,7 @@
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+test_filesys: 12/56 files (0.0% non-contiguous), 28/400 blocks
+Exit status is 0
diff --git a/tests/f_toobig_extent_dir/image.gz b/tests/f_toobig_extent_dir/image.gz
new file mode 100644
index 00000000..622f65a0
--- /dev/null
+++ b/tests/f_toobig_extent_dir/image.gz
Binary files differ
diff --git a/tests/f_toobig_extent_dir/name b/tests/f_toobig_extent_dir/name
new file mode 100644
index 00000000..d7453ad3
--- /dev/null
+++ b/tests/f_toobig_extent_dir/name
@@ -0,0 +1 @@
+directory with a very large lblk in extent
diff --git a/tests/f_uninit_ext_past_eof/expect.1 b/tests/f_uninit_ext_past_eof/expect.1
new file mode 100644
index 00000000..762159c9
--- /dev/null
+++ b/tests/f_uninit_ext_past_eof/expect.1
@@ -0,0 +1,7 @@
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+test_filesys: 12/1024 files (16.7% non-contiguous), 1227/4096 blocks
+Exit status is 0
diff --git a/tests/f_uninit_ext_past_eof/expect.2 b/tests/f_uninit_ext_past_eof/expect.2
new file mode 100644
index 00000000..762159c9
--- /dev/null
+++ b/tests/f_uninit_ext_past_eof/expect.2
@@ -0,0 +1,7 @@
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+test_filesys: 12/1024 files (16.7% non-contiguous), 1227/4096 blocks
+Exit status is 0
diff --git a/tests/f_uninit_ext_past_eof/image.gz b/tests/f_uninit_ext_past_eof/image.gz
new file mode 100644
index 00000000..0b691580
--- /dev/null
+++ b/tests/f_uninit_ext_past_eof/image.gz
Binary files differ
diff --git a/tests/f_uninit_ext_past_eof/name b/tests/f_uninit_ext_past_eof/name
new file mode 100644
index 00000000..9e0c6e02
--- /dev/null
+++ b/tests/f_uninit_ext_past_eof/name
@@ -0,0 +1 @@
+fallocated extents after i_size
diff --git a/tests/f_uninit_ext_past_eof2/expect.1 b/tests/f_uninit_ext_past_eof2/expect.1
new file mode 100644
index 00000000..eb8248e4
--- /dev/null
+++ b/tests/f_uninit_ext_past_eof2/expect.1
@@ -0,0 +1,7 @@
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+test_filesys: 12/16 files (8.3% non-contiguous), 70/100 blocks
+Exit status is 0
diff --git a/tests/f_uninit_ext_past_eof2/expect.2 b/tests/f_uninit_ext_past_eof2/expect.2
new file mode 100644
index 00000000..eb8248e4
--- /dev/null
+++ b/tests/f_uninit_ext_past_eof2/expect.2
@@ -0,0 +1,7 @@
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+test_filesys: 12/16 files (8.3% non-contiguous), 70/100 blocks
+Exit status is 0
diff --git a/tests/f_uninit_ext_past_eof2/image.gz b/tests/f_uninit_ext_past_eof2/image.gz
new file mode 100644
index 00000000..c739e499
--- /dev/null
+++ b/tests/f_uninit_ext_past_eof2/image.gz
Binary files differ
diff --git a/tests/f_uninit_ext_past_eof2/name b/tests/f_uninit_ext_past_eof2/name
new file mode 100644
index 00000000..352a0f56
--- /dev/null
+++ b/tests/f_uninit_ext_past_eof2/name
@@ -0,0 +1 @@
+fallocated extents after nonzero i_size and total extents > 4
diff --git a/tests/f_uninit_last_uninit/script b/tests/f_uninit_last_uninit/script
index 4fcab1b3..2fe4f3a0 100644
--- a/tests/f_uninit_last_uninit/script
+++ b/tests/f_uninit_last_uninit/script
@@ -22,6 +22,5 @@ export E2FSCK_TIME
unset E2FSCK_TIME
else #if test -x $DEBUGFS_EXE; then
- rm -f $test_name.ok $test_name.failed
- echo "skipped"
+ echo "$test_name: $test_description: skipped"
fi
diff --git a/tests/f_unused_itable/name b/tests/f_unused_itable/name
index 39b68d64..e129137c 100644
--- a/tests/f_unused_itable/name
+++ b/tests/f_unused_itable/name
@@ -1 +1 @@
-Invalid bg_unused_itable shouldn't move files to lost+found
+Don't move files to lost+found for bg_unused_itable
diff --git a/tests/f_zero_xattr/expect.1 b/tests/f_zero_xattr/expect.1
new file mode 100644
index 00000000..0733af6e
--- /dev/null
+++ b/tests/f_zero_xattr/expect.1
@@ -0,0 +1,7 @@
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+test_filesys: 12/24 files (0.0% non-contiguous), 25/200 blocks
+Exit status is 0
diff --git a/tests/f_zero_xattr/image.gz b/tests/f_zero_xattr/image.gz
new file mode 100644
index 00000000..40055520
--- /dev/null
+++ b/tests/f_zero_xattr/image.gz
Binary files differ
diff --git a/tests/f_zero_xattr/name b/tests/f_zero_xattr/name
new file mode 100644
index 00000000..52aab152
--- /dev/null
+++ b/tests/f_zero_xattr/name
@@ -0,0 +1 @@
+zero length extended attribute in in-inode xattr
diff --git a/tests/f_zero_xattr/script b/tests/f_zero_xattr/script
new file mode 100644
index 00000000..8ab2b9c6
--- /dev/null
+++ b/tests/f_zero_xattr/script
@@ -0,0 +1,2 @@
+ONE_PASS_ONLY="true"
+. $cmd_dir/run_e2fsck
diff --git a/tests/filter_dumpe2fs b/tests/filter.sed
index 75442178..91b956b7 100644
--- a/tests/filter_dumpe2fs
+++ b/tests/filter.sed
@@ -1,14 +1,19 @@
-1s/^.*$//
-/^Filesystem UUID:/d
+/^[dbgumpe2fsckrsiz]* [1-9]\.[0-9]*[.-][^ ]* ([0-9]*-[A-Za-z]*-[0-9]*)/d
+s/\\015//g
+/automatically checked/d
+/^Directory Hash Seed:/d
+/Discarding device blocks/d
/^Filesystem created:/d
/^Filesystem flags:/d
+/^Filesystem UUID:/d
+/^JFS DEBUG:/d
/^Last write time:/d
/^Last mount time:/d
/^Last checked:/d
-/^Directory Hash Seed:/d
-/^Next check after:/d
-/^Maximum mount count:/d
/^Lifetime writes:/d
+/^Maximum mount count:/d
+/^Next check after:/d
/Reserved blocks uid:/s/ (user .*)//
/Reserved blocks gid:/s/ (group .*)//
+/whichever comes first/d
/^ Checksum /d
diff --git a/tests/i_e2image/script b/tests/i_e2image/script
index 9c6ae2af..adf59a46 100644
--- a/tests/i_e2image/script
+++ b/tests/i_e2image/script
@@ -1,4 +1,4 @@
-printf "Create/convert raw and qcow2 disk images: "
+test_description="create/convert raw/qcow2 images"
if test -x $E2IMAGE_EXE; then
ORIG_IMAGES="image1024.orig image2048.orig image4096.orig"
@@ -8,7 +8,7 @@ QCOW2_IMG=_image.qcow2
QCOW2_TO_RAW=_image.qcow2.raw
OUT=$test_name.log
MD5=$SRCDIR/$test_name/$test_name.md5
-MD5_TMP=$test_name.md5tmp
+MD5_TMP=$test_name.md5.tmp
rm -f $test_name/_image.* $MD5_TMP $OUT >/dev/null 2>&1
@@ -20,6 +20,7 @@ for i in $ORIG_IMAGES; do
bunzip2 < $SRCDIR/$ORIG_IMG.bz2 > $i
md5sum $i >> $MD5_TMP
+ rm -f $RAW_IMG
echo "e2image -r $ORIG_IMG $RAW_IMG"
$E2IMAGE -r $i $RAW_IMG
md5sum $RAW_IMG >> $MD5_TMP
@@ -28,6 +29,7 @@ for i in $ORIG_IMAGES; do
$E2IMAGE -Q $i $QCOW2_IMG
md5sum $QCOW2_IMG >> $MD5_TMP
+ rm -f $QCOW2_TO_RAW
echo "e2image -r $QCOW2_IMG $QCOW2_TO_RAW"
$E2IMAGE -r $i $QCOW2_TO_RAW
md5sum $QCOW2_TO_RAW >> $MD5_TMP
@@ -43,18 +45,15 @@ echo "" >> $OUT
diff $MD5 $MD5_TMP >> $OUT 2>&1
if [ $? -eq 0 ]; then
- echo "ok"
+ echo "$test_name: $test_description: ok"
touch $test_name.ok
- rm -f $test_name.failed
else
- rm -f $test_name.ok
ln -f $test_name.log $test_name.failed
- echo "failed"
+ echo "$test_name: $test_description: failed"
fi
rm -f _image.* $MD5_TMP >/dev/null 2>&1
else #if test -x $E2IMAGE_EXE; then
- rm -f $test_name.ok $test_name.failed
- echo "skipped"
+ echo "$test_name: $test_description: skipped"
fi
diff --git a/tests/m_bigjournal/expect.1 b/tests/m_bigjournal/expect.1
index ad4a0351..b45d02c0 100644
--- a/tests/m_bigjournal/expect.1
+++ b/tests/m_bigjournal/expect.1
@@ -1,5 +1,4 @@
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
-
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
@@ -7,7 +6,6 @@ Pass 4: Checking reference counts
Pass 5: Checking group summary information
test_filesys: 11/1344 files (0.0% non-contiguous), 1286989/2750000 blocks
Exit status is 0
-
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem magic number: 0xEF53
@@ -57,7 +55,7 @@ Group 0: (Blocks 0-32767)
31836 free blocks, 5 free inodes, 2 directories, 5 unused inodes
Free blocks: 764-1184, 1269-1696, 1781-32767
Free inodes: 12-16
-Group 1: (Blocks 32768-65535) [INODE_UNINIT]
+Group 1: (Blocks 32768-65535) [INODE_UNINIT, BLOCK_UNINIT]
Backup superblock at 32768, Group descriptors at 32769-32769
Reserved GDT blocks at 32770-33440
Block bitmap at 674 (bg #0 + 674), Inode bitmap at 1186 (bg #0 + 1186)
@@ -71,7 +69,7 @@ Group 2: (Blocks 65536-98303) [INODE_UNINIT, BLOCK_UNINIT]
32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes
Free blocks: 65536-98303
Free inodes: 33-48
-Group 3: (Blocks 98304-131071) [INODE_UNINIT]
+Group 3: (Blocks 98304-131071) [INODE_UNINIT, BLOCK_UNINIT]
Backup superblock at 98304, Group descriptors at 98305-98305
Reserved GDT blocks at 98306-98976
Block bitmap at 676 (bg #0 + 676), Inode bitmap at 1188 (bg #0 + 1188)
@@ -85,7 +83,7 @@ Group 4: (Blocks 131072-163839) [INODE_UNINIT, BLOCK_UNINIT]
32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes
Free blocks: 131072-163839
Free inodes: 65-80
-Group 5: (Blocks 163840-196607) [INODE_UNINIT]
+Group 5: (Blocks 163840-196607) [INODE_UNINIT, BLOCK_UNINIT]
Backup superblock at 163840, Group descriptors at 163841-163841
Reserved GDT blocks at 163842-164512
Block bitmap at 678 (bg #0 + 678), Inode bitmap at 1190 (bg #0 + 1190)
@@ -99,7 +97,7 @@ Group 6: (Blocks 196608-229375) [INODE_UNINIT, BLOCK_UNINIT]
32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes
Free blocks: 196608-229375
Free inodes: 97-112
-Group 7: (Blocks 229376-262143) [INODE_UNINIT]
+Group 7: (Blocks 229376-262143) [INODE_UNINIT, BLOCK_UNINIT]
Backup superblock at 229376, Group descriptors at 229377-229377
Reserved GDT blocks at 229378-230048
Block bitmap at 680 (bg #0 + 680), Inode bitmap at 1192 (bg #0 + 1192)
@@ -113,7 +111,7 @@ Group 8: (Blocks 262144-294911) [INODE_UNINIT, BLOCK_UNINIT]
32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes
Free blocks: 262144-294911
Free inodes: 129-144
-Group 9: (Blocks 294912-327679) [INODE_UNINIT]
+Group 9: (Blocks 294912-327679) [INODE_UNINIT, BLOCK_UNINIT]
Backup superblock at 294912, Group descriptors at 294913-294913
Reserved GDT blocks at 294914-295584
Block bitmap at 682 (bg #0 + 682), Inode bitmap at 1194 (bg #0 + 1194)
@@ -211,7 +209,7 @@ Group 24: (Blocks 786432-819199) [INODE_UNINIT, BLOCK_UNINIT]
32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes
Free blocks: 786432-819199
Free inodes: 385-400
-Group 25: (Blocks 819200-851967) [INODE_UNINIT]
+Group 25: (Blocks 819200-851967) [INODE_UNINIT, BLOCK_UNINIT]
Backup superblock at 819200, Group descriptors at 819201-819201
Reserved GDT blocks at 819202-819872
Block bitmap at 698 (bg #0 + 698), Inode bitmap at 1210 (bg #0 + 1210)
@@ -225,7 +223,7 @@ Group 26: (Blocks 851968-884735) [INODE_UNINIT, BLOCK_UNINIT]
32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes
Free blocks: 851968-884735
Free inodes: 417-432
-Group 27: (Blocks 884736-917503) [INODE_UNINIT]
+Group 27: (Blocks 884736-917503) [INODE_UNINIT, BLOCK_UNINIT]
Backup superblock at 884736, Group descriptors at 884737-884737
Reserved GDT blocks at 884738-885408
Block bitmap at 700 (bg #0 + 700), Inode bitmap at 1212 (bg #0 + 1212)
@@ -553,7 +551,7 @@ Group 80: (Blocks 2621440-2654207) [INODE_UNINIT, BLOCK_UNINIT]
32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes
Free blocks: 2621440-2654207
Free inodes: 1281-1296
-Group 81: (Blocks 2654208-2686975) [INODE_UNINIT]
+Group 81: (Blocks 2654208-2686975) [INODE_UNINIT, BLOCK_UNINIT]
Backup superblock at 2654208, Group descriptors at 2654209-2654209
Reserved GDT blocks at 2654210-2654880
Block bitmap at 754 (bg #0 + 754), Inode bitmap at 1266 (bg #0 + 1266)
diff --git a/tests/m_bigjournal/script b/tests/m_bigjournal/script
index 1e21fdfe..4c1ed9a8 100644
--- a/tests/m_bigjournal/script
+++ b/tests/m_bigjournal/script
@@ -1,4 +1,8 @@
DESCRIPTION="journal over 4GB in size"
FS_SIZE=11000000
MKE2FS_OPTS="-t ext4 -G 512 -N 1280 -J size=5000 -q -E lazy_journal_init,lazy_itable_init,nodiscard"
+if [ $(uname -s) = "Darwin" ]; then
+ echo "$test_name: $DESCRIPTION: skipped for HFS+ (no sparse files)"
+ return 0
+fi
. $cmd_dir/run_mke2fs
diff --git a/tests/m_dasd_bs/expect.1 b/tests/m_dasd_bs/expect.1
index 31db54b7..75a401d3 100644
--- a/tests/m_dasd_bs/expect.1
+++ b/tests/m_dasd_bs/expect.1
@@ -1,24 +1,12 @@
-Filesystem label=
-OS type: Linux
-Block size=2048 (log=1)
-Fragment size=2048 (log=1)
-Stride=0 blocks, Stripe width=0 blocks
-16384 inodes, 32768 blocks
-1638 blocks (5.00%) reserved for the super user
-First data block=0
-Maximum filesystem blocks=33554432
-2 block groups
-16384 blocks per group, 16384 fragments per group
-8192 inodes per group
+Creating filesystem with 32768 2k blocks and 16384 inodes
Superblock backups stored on blocks:
16384
-Allocating group tables: 0/21/2 done
-Writing inode tables: 0/21/2 done
-Writing superblocks and filesystem accounting information: 0/21/2 done
+Allocating group tables: done
+Writing inode tables: done
+Writing superblocks and filesystem accounting information: done
Filesystem features: ext_attr resize_inode dir_index filetype sparse_super
-
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
@@ -26,7 +14,6 @@ Pass 4: Checking reference counts
Pass 5: Checking group summary information
test_filesys: 11/16384 files (0.0% non-contiguous), 1104/32768 blocks
Exit status is 0
-
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem magic number: 0xEF53
diff --git a/tests/m_desc_size_128/expect.1 b/tests/m_desc_size_128/expect.1
new file mode 100644
index 00000000..5a7da87b
--- /dev/null
+++ b/tests/m_desc_size_128/expect.1
@@ -0,0 +1,838 @@
+Creating filesystem with 131072 1k blocks and 8192 inodes
+Superblock backups stored on blocks:
+ 1025, 3073, 5121, 7169, 9217, 25601, 27649, 50177, 82945, 128001
+
+Allocating group tables: done
+Writing inode tables: done
+Writing superblocks and filesystem accounting information: done
+
+Filesystem features: ext_attr resize_inode dir_index filetype extent 64bit sparse_super
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+test_filesys: 11/8192 files (0.0% non-contiguous), 4298/131072 blocks
+Exit status is 0
+Filesystem volume name: <none>
+Last mounted on: <not available>
+Filesystem magic number: 0xEF53
+Filesystem revision #: 1 (dynamic)
+Filesystem features: ext_attr resize_inode dir_index filetype extent 64bit sparse_super
+Default mount options: (none)
+Filesystem state: clean
+Errors behavior: Continue
+Filesystem OS type: Linux
+Inode count: 8192
+Block count: 131072
+Reserved block count: 6553
+Free blocks: 126774
+Free inodes: 8181
+First block: 1
+Block size: 1024
+Fragment size: 1024
+Group descriptor size: 128
+Reserved GDT blocks: 256
+Blocks per group: 1024
+Fragments per group: 1024
+Inodes per group: 64
+Inode blocks per group: 8
+Mount count: 0
+Check interval: 15552000 (6 months)
+Reserved blocks uid: 0
+Reserved blocks gid: 0
+First inode: 11
+Inode size: 128
+Default directory hash: half_md4
+
+
+Group 0: (Blocks 1-1024)
+ Primary superblock at 1, Group descriptors at 2-17
+ Reserved GDT blocks at 18-273
+ Block bitmap at 274 (+273), Inode bitmap at 275 (+274)
+ Inode table at 276-283 (+275)
+ 727 free blocks, 53 free inodes, 2 directories
+ Free blocks: 298-1024
+ Free inodes: 12-64
+Group 1: (Blocks 1025-2048)
+ Backup superblock at 1025, Group descriptors at 1026-1041
+ Reserved GDT blocks at 1042-1297
+ Block bitmap at 1298 (+273), Inode bitmap at 1299 (+274)
+ Inode table at 1300-1307 (+275)
+ 741 free blocks, 64 free inodes, 0 directories
+ Free blocks: 1308-2048
+ Free inodes: 65-128
+Group 2: (Blocks 2049-3072)
+ Block bitmap at 2049 (+0), Inode bitmap at 2050 (+1)
+ Inode table at 2051-2058 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 2059-3072
+ Free inodes: 129-192
+Group 3: (Blocks 3073-4096)
+ Backup superblock at 3073, Group descriptors at 3074-3089
+ Reserved GDT blocks at 3090-3345
+ Block bitmap at 3346 (+273), Inode bitmap at 3347 (+274)
+ Inode table at 3348-3355 (+275)
+ 741 free blocks, 64 free inodes, 0 directories
+ Free blocks: 3356-4096
+ Free inodes: 193-256
+Group 4: (Blocks 4097-5120)
+ Block bitmap at 4097 (+0), Inode bitmap at 4098 (+1)
+ Inode table at 4099-4106 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 4107-5120
+ Free inodes: 257-320
+Group 5: (Blocks 5121-6144)
+ Backup superblock at 5121, Group descriptors at 5122-5137
+ Reserved GDT blocks at 5138-5393
+ Block bitmap at 5394 (+273), Inode bitmap at 5395 (+274)
+ Inode table at 5396-5403 (+275)
+ 741 free blocks, 64 free inodes, 0 directories
+ Free blocks: 5404-6144
+ Free inodes: 321-384
+Group 6: (Blocks 6145-7168)
+ Block bitmap at 6145 (+0), Inode bitmap at 6146 (+1)
+ Inode table at 6147-6154 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 6155-7168
+ Free inodes: 385-448
+Group 7: (Blocks 7169-8192)
+ Backup superblock at 7169, Group descriptors at 7170-7185
+ Reserved GDT blocks at 7186-7441
+ Block bitmap at 7442 (+273), Inode bitmap at 7443 (+274)
+ Inode table at 7444-7451 (+275)
+ 741 free blocks, 64 free inodes, 0 directories
+ Free blocks: 7452-8192
+ Free inodes: 449-512
+Group 8: (Blocks 8193-9216)
+ Block bitmap at 8193 (+0), Inode bitmap at 8194 (+1)
+ Inode table at 8195-8202 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 8203-9216
+ Free inodes: 513-576
+Group 9: (Blocks 9217-10240)
+ Backup superblock at 9217, Group descriptors at 9218-9233
+ Reserved GDT blocks at 9234-9489
+ Block bitmap at 9490 (+273), Inode bitmap at 9491 (+274)
+ Inode table at 9492-9499 (+275)
+ 741 free blocks, 64 free inodes, 0 directories
+ Free blocks: 9500-10240
+ Free inodes: 577-640
+Group 10: (Blocks 10241-11264)
+ Block bitmap at 10241 (+0), Inode bitmap at 10242 (+1)
+ Inode table at 10243-10250 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 10251-11264
+ Free inodes: 641-704
+Group 11: (Blocks 11265-12288)
+ Block bitmap at 11265 (+0), Inode bitmap at 11266 (+1)
+ Inode table at 11267-11274 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 11275-12288
+ Free inodes: 705-768
+Group 12: (Blocks 12289-13312)
+ Block bitmap at 12289 (+0), Inode bitmap at 12290 (+1)
+ Inode table at 12291-12298 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 12299-13312
+ Free inodes: 769-832
+Group 13: (Blocks 13313-14336)
+ Block bitmap at 13313 (+0), Inode bitmap at 13314 (+1)
+ Inode table at 13315-13322 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 13323-14336
+ Free inodes: 833-896
+Group 14: (Blocks 14337-15360)
+ Block bitmap at 14337 (+0), Inode bitmap at 14338 (+1)
+ Inode table at 14339-14346 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 14347-15360
+ Free inodes: 897-960
+Group 15: (Blocks 15361-16384)
+ Block bitmap at 15361 (+0), Inode bitmap at 15362 (+1)
+ Inode table at 15363-15370 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 15371-16384
+ Free inodes: 961-1024
+Group 16: (Blocks 16385-17408)
+ Block bitmap at 16385 (+0), Inode bitmap at 16386 (+1)
+ Inode table at 16387-16394 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 16395-17408
+ Free inodes: 1025-1088
+Group 17: (Blocks 17409-18432)
+ Block bitmap at 17409 (+0), Inode bitmap at 17410 (+1)
+ Inode table at 17411-17418 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 17419-18432
+ Free inodes: 1089-1152
+Group 18: (Blocks 18433-19456)
+ Block bitmap at 18433 (+0), Inode bitmap at 18434 (+1)
+ Inode table at 18435-18442 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 18443-19456
+ Free inodes: 1153-1216
+Group 19: (Blocks 19457-20480)
+ Block bitmap at 19457 (+0), Inode bitmap at 19458 (+1)
+ Inode table at 19459-19466 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 19467-20480
+ Free inodes: 1217-1280
+Group 20: (Blocks 20481-21504)
+ Block bitmap at 20481 (+0), Inode bitmap at 20482 (+1)
+ Inode table at 20483-20490 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 20491-21504
+ Free inodes: 1281-1344
+Group 21: (Blocks 21505-22528)
+ Block bitmap at 21505 (+0), Inode bitmap at 21506 (+1)
+ Inode table at 21507-21514 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 21515-22528
+ Free inodes: 1345-1408
+Group 22: (Blocks 22529-23552)
+ Block bitmap at 22529 (+0), Inode bitmap at 22530 (+1)
+ Inode table at 22531-22538 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 22539-23552
+ Free inodes: 1409-1472
+Group 23: (Blocks 23553-24576)
+ Block bitmap at 23553 (+0), Inode bitmap at 23554 (+1)
+ Inode table at 23555-23562 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 23563-24576
+ Free inodes: 1473-1536
+Group 24: (Blocks 24577-25600)
+ Block bitmap at 24577 (+0), Inode bitmap at 24578 (+1)
+ Inode table at 24579-24586 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 24587-25600
+ Free inodes: 1537-1600
+Group 25: (Blocks 25601-26624)
+ Backup superblock at 25601, Group descriptors at 25602-25617
+ Reserved GDT blocks at 25618-25873
+ Block bitmap at 25874 (+273), Inode bitmap at 25875 (+274)
+ Inode table at 25876-25883 (+275)
+ 741 free blocks, 64 free inodes, 0 directories
+ Free blocks: 25884-26624
+ Free inodes: 1601-1664
+Group 26: (Blocks 26625-27648)
+ Block bitmap at 26625 (+0), Inode bitmap at 26626 (+1)
+ Inode table at 26627-26634 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 26635-27648
+ Free inodes: 1665-1728
+Group 27: (Blocks 27649-28672)
+ Backup superblock at 27649, Group descriptors at 27650-27665
+ Reserved GDT blocks at 27666-27921
+ Block bitmap at 27922 (+273), Inode bitmap at 27923 (+274)
+ Inode table at 27924-27931 (+275)
+ 741 free blocks, 64 free inodes, 0 directories
+ Free blocks: 27932-28672
+ Free inodes: 1729-1792
+Group 28: (Blocks 28673-29696)
+ Block bitmap at 28673 (+0), Inode bitmap at 28674 (+1)
+ Inode table at 28675-28682 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 28683-29696
+ Free inodes: 1793-1856
+Group 29: (Blocks 29697-30720)
+ Block bitmap at 29697 (+0), Inode bitmap at 29698 (+1)
+ Inode table at 29699-29706 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 29707-30720
+ Free inodes: 1857-1920
+Group 30: (Blocks 30721-31744)
+ Block bitmap at 30721 (+0), Inode bitmap at 30722 (+1)
+ Inode table at 30723-30730 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 30731-31744
+ Free inodes: 1921-1984
+Group 31: (Blocks 31745-32768)
+ Block bitmap at 31745 (+0), Inode bitmap at 31746 (+1)
+ Inode table at 31747-31754 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 31755-32768
+ Free inodes: 1985-2048
+Group 32: (Blocks 32769-33792)
+ Block bitmap at 32769 (+0), Inode bitmap at 32770 (+1)
+ Inode table at 32771-32778 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 32779-33792
+ Free inodes: 2049-2112
+Group 33: (Blocks 33793-34816)
+ Block bitmap at 33793 (+0), Inode bitmap at 33794 (+1)
+ Inode table at 33795-33802 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 33803-34816
+ Free inodes: 2113-2176
+Group 34: (Blocks 34817-35840)
+ Block bitmap at 34817 (+0), Inode bitmap at 34818 (+1)
+ Inode table at 34819-34826 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 34827-35840
+ Free inodes: 2177-2240
+Group 35: (Blocks 35841-36864)
+ Block bitmap at 35841 (+0), Inode bitmap at 35842 (+1)
+ Inode table at 35843-35850 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 35851-36864
+ Free inodes: 2241-2304
+Group 36: (Blocks 36865-37888)
+ Block bitmap at 36865 (+0), Inode bitmap at 36866 (+1)
+ Inode table at 36867-36874 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 36875-37888
+ Free inodes: 2305-2368
+Group 37: (Blocks 37889-38912)
+ Block bitmap at 37889 (+0), Inode bitmap at 37890 (+1)
+ Inode table at 37891-37898 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 37899-38912
+ Free inodes: 2369-2432
+Group 38: (Blocks 38913-39936)
+ Block bitmap at 38913 (+0), Inode bitmap at 38914 (+1)
+ Inode table at 38915-38922 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 38923-39936
+ Free inodes: 2433-2496
+Group 39: (Blocks 39937-40960)
+ Block bitmap at 39937 (+0), Inode bitmap at 39938 (+1)
+ Inode table at 39939-39946 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 39947-40960
+ Free inodes: 2497-2560
+Group 40: (Blocks 40961-41984)
+ Block bitmap at 40961 (+0), Inode bitmap at 40962 (+1)
+ Inode table at 40963-40970 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 40971-41984
+ Free inodes: 2561-2624
+Group 41: (Blocks 41985-43008)
+ Block bitmap at 41985 (+0), Inode bitmap at 41986 (+1)
+ Inode table at 41987-41994 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 41995-43008
+ Free inodes: 2625-2688
+Group 42: (Blocks 43009-44032)
+ Block bitmap at 43009 (+0), Inode bitmap at 43010 (+1)
+ Inode table at 43011-43018 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 43019-44032
+ Free inodes: 2689-2752
+Group 43: (Blocks 44033-45056)
+ Block bitmap at 44033 (+0), Inode bitmap at 44034 (+1)
+ Inode table at 44035-44042 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 44043-45056
+ Free inodes: 2753-2816
+Group 44: (Blocks 45057-46080)
+ Block bitmap at 45057 (+0), Inode bitmap at 45058 (+1)
+ Inode table at 45059-45066 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 45067-46080
+ Free inodes: 2817-2880
+Group 45: (Blocks 46081-47104)
+ Block bitmap at 46081 (+0), Inode bitmap at 46082 (+1)
+ Inode table at 46083-46090 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 46091-47104
+ Free inodes: 2881-2944
+Group 46: (Blocks 47105-48128)
+ Block bitmap at 47105 (+0), Inode bitmap at 47106 (+1)
+ Inode table at 47107-47114 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 47115-48128
+ Free inodes: 2945-3008
+Group 47: (Blocks 48129-49152)
+ Block bitmap at 48129 (+0), Inode bitmap at 48130 (+1)
+ Inode table at 48131-48138 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 48139-49152
+ Free inodes: 3009-3072
+Group 48: (Blocks 49153-50176)
+ Block bitmap at 49153 (+0), Inode bitmap at 49154 (+1)
+ Inode table at 49155-49162 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 49163-50176
+ Free inodes: 3073-3136
+Group 49: (Blocks 50177-51200)
+ Backup superblock at 50177, Group descriptors at 50178-50193
+ Reserved GDT blocks at 50194-50449
+ Block bitmap at 50450 (+273), Inode bitmap at 50451 (+274)
+ Inode table at 50452-50459 (+275)
+ 741 free blocks, 64 free inodes, 0 directories
+ Free blocks: 50460-51200
+ Free inodes: 3137-3200
+Group 50: (Blocks 51201-52224)
+ Block bitmap at 51201 (+0), Inode bitmap at 51202 (+1)
+ Inode table at 51203-51210 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 51211-52224
+ Free inodes: 3201-3264
+Group 51: (Blocks 52225-53248)
+ Block bitmap at 52225 (+0), Inode bitmap at 52226 (+1)
+ Inode table at 52227-52234 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 52235-53248
+ Free inodes: 3265-3328
+Group 52: (Blocks 53249-54272)
+ Block bitmap at 53249 (+0), Inode bitmap at 53250 (+1)
+ Inode table at 53251-53258 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 53259-54272
+ Free inodes: 3329-3392
+Group 53: (Blocks 54273-55296)
+ Block bitmap at 54273 (+0), Inode bitmap at 54274 (+1)
+ Inode table at 54275-54282 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 54283-55296
+ Free inodes: 3393-3456
+Group 54: (Blocks 55297-56320)
+ Block bitmap at 55297 (+0), Inode bitmap at 55298 (+1)
+ Inode table at 55299-55306 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 55307-56320
+ Free inodes: 3457-3520
+Group 55: (Blocks 56321-57344)
+ Block bitmap at 56321 (+0), Inode bitmap at 56322 (+1)
+ Inode table at 56323-56330 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 56331-57344
+ Free inodes: 3521-3584
+Group 56: (Blocks 57345-58368)
+ Block bitmap at 57345 (+0), Inode bitmap at 57346 (+1)
+ Inode table at 57347-57354 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 57355-58368
+ Free inodes: 3585-3648
+Group 57: (Blocks 58369-59392)
+ Block bitmap at 58369 (+0), Inode bitmap at 58370 (+1)
+ Inode table at 58371-58378 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 58379-59392
+ Free inodes: 3649-3712
+Group 58: (Blocks 59393-60416)
+ Block bitmap at 59393 (+0), Inode bitmap at 59394 (+1)
+ Inode table at 59395-59402 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 59403-60416
+ Free inodes: 3713-3776
+Group 59: (Blocks 60417-61440)
+ Block bitmap at 60417 (+0), Inode bitmap at 60418 (+1)
+ Inode table at 60419-60426 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 60427-61440
+ Free inodes: 3777-3840
+Group 60: (Blocks 61441-62464)
+ Block bitmap at 61441 (+0), Inode bitmap at 61442 (+1)
+ Inode table at 61443-61450 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 61451-62464
+ Free inodes: 3841-3904
+Group 61: (Blocks 62465-63488)
+ Block bitmap at 62465 (+0), Inode bitmap at 62466 (+1)
+ Inode table at 62467-62474 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 62475-63488
+ Free inodes: 3905-3968
+Group 62: (Blocks 63489-64512)
+ Block bitmap at 63489 (+0), Inode bitmap at 63490 (+1)
+ Inode table at 63491-63498 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 63499-64512
+ Free inodes: 3969-4032
+Group 63: (Blocks 64513-65536)
+ Block bitmap at 64513 (+0), Inode bitmap at 64514 (+1)
+ Inode table at 64515-64522 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 64523-65536
+ Free inodes: 4033-4096
+Group 64: (Blocks 65537-66560)
+ Block bitmap at 65537 (+0), Inode bitmap at 65538 (+1)
+ Inode table at 65539-65546 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 65547-66560
+ Free inodes: 4097-4160
+Group 65: (Blocks 66561-67584)
+ Block bitmap at 66561 (+0), Inode bitmap at 66562 (+1)
+ Inode table at 66563-66570 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 66571-67584
+ Free inodes: 4161-4224
+Group 66: (Blocks 67585-68608)
+ Block bitmap at 67585 (+0), Inode bitmap at 67586 (+1)
+ Inode table at 67587-67594 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 67595-68608
+ Free inodes: 4225-4288
+Group 67: (Blocks 68609-69632)
+ Block bitmap at 68609 (+0), Inode bitmap at 68610 (+1)
+ Inode table at 68611-68618 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 68619-69632
+ Free inodes: 4289-4352
+Group 68: (Blocks 69633-70656)
+ Block bitmap at 69633 (+0), Inode bitmap at 69634 (+1)
+ Inode table at 69635-69642 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 69643-70656
+ Free inodes: 4353-4416
+Group 69: (Blocks 70657-71680)
+ Block bitmap at 70657 (+0), Inode bitmap at 70658 (+1)
+ Inode table at 70659-70666 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 70667-71680
+ Free inodes: 4417-4480
+Group 70: (Blocks 71681-72704)
+ Block bitmap at 71681 (+0), Inode bitmap at 71682 (+1)
+ Inode table at 71683-71690 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 71691-72704
+ Free inodes: 4481-4544
+Group 71: (Blocks 72705-73728)
+ Block bitmap at 72705 (+0), Inode bitmap at 72706 (+1)
+ Inode table at 72707-72714 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 72715-73728
+ Free inodes: 4545-4608
+Group 72: (Blocks 73729-74752)
+ Block bitmap at 73729 (+0), Inode bitmap at 73730 (+1)
+ Inode table at 73731-73738 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 73739-74752
+ Free inodes: 4609-4672
+Group 73: (Blocks 74753-75776)
+ Block bitmap at 74753 (+0), Inode bitmap at 74754 (+1)
+ Inode table at 74755-74762 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 74763-75776
+ Free inodes: 4673-4736
+Group 74: (Blocks 75777-76800)
+ Block bitmap at 75777 (+0), Inode bitmap at 75778 (+1)
+ Inode table at 75779-75786 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 75787-76800
+ Free inodes: 4737-4800
+Group 75: (Blocks 76801-77824)
+ Block bitmap at 76801 (+0), Inode bitmap at 76802 (+1)
+ Inode table at 76803-76810 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 76811-77824
+ Free inodes: 4801-4864
+Group 76: (Blocks 77825-78848)
+ Block bitmap at 77825 (+0), Inode bitmap at 77826 (+1)
+ Inode table at 77827-77834 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 77835-78848
+ Free inodes: 4865-4928
+Group 77: (Blocks 78849-79872)
+ Block bitmap at 78849 (+0), Inode bitmap at 78850 (+1)
+ Inode table at 78851-78858 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 78859-79872
+ Free inodes: 4929-4992
+Group 78: (Blocks 79873-80896)
+ Block bitmap at 79873 (+0), Inode bitmap at 79874 (+1)
+ Inode table at 79875-79882 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 79883-80896
+ Free inodes: 4993-5056
+Group 79: (Blocks 80897-81920)
+ Block bitmap at 80897 (+0), Inode bitmap at 80898 (+1)
+ Inode table at 80899-80906 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 80907-81920
+ Free inodes: 5057-5120
+Group 80: (Blocks 81921-82944)
+ Block bitmap at 81921 (+0), Inode bitmap at 81922 (+1)
+ Inode table at 81923-81930 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 81931-82944
+ Free inodes: 5121-5184
+Group 81: (Blocks 82945-83968)
+ Backup superblock at 82945, Group descriptors at 82946-82961
+ Reserved GDT blocks at 82962-83217
+ Block bitmap at 83218 (+273), Inode bitmap at 83219 (+274)
+ Inode table at 83220-83227 (+275)
+ 741 free blocks, 64 free inodes, 0 directories
+ Free blocks: 83228-83968
+ Free inodes: 5185-5248
+Group 82: (Blocks 83969-84992)
+ Block bitmap at 83969 (+0), Inode bitmap at 83970 (+1)
+ Inode table at 83971-83978 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 83979-84992
+ Free inodes: 5249-5312
+Group 83: (Blocks 84993-86016)
+ Block bitmap at 84993 (+0), Inode bitmap at 84994 (+1)
+ Inode table at 84995-85002 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 85003-86016
+ Free inodes: 5313-5376
+Group 84: (Blocks 86017-87040)
+ Block bitmap at 86017 (+0), Inode bitmap at 86018 (+1)
+ Inode table at 86019-86026 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 86027-87040
+ Free inodes: 5377-5440
+Group 85: (Blocks 87041-88064)
+ Block bitmap at 87041 (+0), Inode bitmap at 87042 (+1)
+ Inode table at 87043-87050 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 87051-88064
+ Free inodes: 5441-5504
+Group 86: (Blocks 88065-89088)
+ Block bitmap at 88065 (+0), Inode bitmap at 88066 (+1)
+ Inode table at 88067-88074 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 88075-89088
+ Free inodes: 5505-5568
+Group 87: (Blocks 89089-90112)
+ Block bitmap at 89089 (+0), Inode bitmap at 89090 (+1)
+ Inode table at 89091-89098 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 89099-90112
+ Free inodes: 5569-5632
+Group 88: (Blocks 90113-91136)
+ Block bitmap at 90113 (+0), Inode bitmap at 90114 (+1)
+ Inode table at 90115-90122 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 90123-91136
+ Free inodes: 5633-5696
+Group 89: (Blocks 91137-92160)
+ Block bitmap at 91137 (+0), Inode bitmap at 91138 (+1)
+ Inode table at 91139-91146 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 91147-92160
+ Free inodes: 5697-5760
+Group 90: (Blocks 92161-93184)
+ Block bitmap at 92161 (+0), Inode bitmap at 92162 (+1)
+ Inode table at 92163-92170 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 92171-93184
+ Free inodes: 5761-5824
+Group 91: (Blocks 93185-94208)
+ Block bitmap at 93185 (+0), Inode bitmap at 93186 (+1)
+ Inode table at 93187-93194 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 93195-94208
+ Free inodes: 5825-5888
+Group 92: (Blocks 94209-95232)
+ Block bitmap at 94209 (+0), Inode bitmap at 94210 (+1)
+ Inode table at 94211-94218 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 94219-95232
+ Free inodes: 5889-5952
+Group 93: (Blocks 95233-96256)
+ Block bitmap at 95233 (+0), Inode bitmap at 95234 (+1)
+ Inode table at 95235-95242 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 95243-96256
+ Free inodes: 5953-6016
+Group 94: (Blocks 96257-97280)
+ Block bitmap at 96257 (+0), Inode bitmap at 96258 (+1)
+ Inode table at 96259-96266 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 96267-97280
+ Free inodes: 6017-6080
+Group 95: (Blocks 97281-98304)
+ Block bitmap at 97281 (+0), Inode bitmap at 97282 (+1)
+ Inode table at 97283-97290 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 97291-98304
+ Free inodes: 6081-6144
+Group 96: (Blocks 98305-99328)
+ Block bitmap at 98305 (+0), Inode bitmap at 98306 (+1)
+ Inode table at 98307-98314 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 98315-99328
+ Free inodes: 6145-6208
+Group 97: (Blocks 99329-100352)
+ Block bitmap at 99329 (+0), Inode bitmap at 99330 (+1)
+ Inode table at 99331-99338 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 99339-100352
+ Free inodes: 6209-6272
+Group 98: (Blocks 100353-101376)
+ Block bitmap at 100353 (+0), Inode bitmap at 100354 (+1)
+ Inode table at 100355-100362 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 100363-101376
+ Free inodes: 6273-6336
+Group 99: (Blocks 101377-102400)
+ Block bitmap at 101377 (+0), Inode bitmap at 101378 (+1)
+ Inode table at 101379-101386 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 101387-102400
+ Free inodes: 6337-6400
+Group 100: (Blocks 102401-103424)
+ Block bitmap at 102401 (+0), Inode bitmap at 102402 (+1)
+ Inode table at 102403-102410 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 102411-103424
+ Free inodes: 6401-6464
+Group 101: (Blocks 103425-104448)
+ Block bitmap at 103425 (+0), Inode bitmap at 103426 (+1)
+ Inode table at 103427-103434 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 103435-104448
+ Free inodes: 6465-6528
+Group 102: (Blocks 104449-105472)
+ Block bitmap at 104449 (+0), Inode bitmap at 104450 (+1)
+ Inode table at 104451-104458 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 104459-105472
+ Free inodes: 6529-6592
+Group 103: (Blocks 105473-106496)
+ Block bitmap at 105473 (+0), Inode bitmap at 105474 (+1)
+ Inode table at 105475-105482 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 105483-106496
+ Free inodes: 6593-6656
+Group 104: (Blocks 106497-107520)
+ Block bitmap at 106497 (+0), Inode bitmap at 106498 (+1)
+ Inode table at 106499-106506 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 106507-107520
+ Free inodes: 6657-6720
+Group 105: (Blocks 107521-108544)
+ Block bitmap at 107521 (+0), Inode bitmap at 107522 (+1)
+ Inode table at 107523-107530 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 107531-108544
+ Free inodes: 6721-6784
+Group 106: (Blocks 108545-109568)
+ Block bitmap at 108545 (+0), Inode bitmap at 108546 (+1)
+ Inode table at 108547-108554 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 108555-109568
+ Free inodes: 6785-6848
+Group 107: (Blocks 109569-110592)
+ Block bitmap at 109569 (+0), Inode bitmap at 109570 (+1)
+ Inode table at 109571-109578 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 109579-110592
+ Free inodes: 6849-6912
+Group 108: (Blocks 110593-111616)
+ Block bitmap at 110593 (+0), Inode bitmap at 110594 (+1)
+ Inode table at 110595-110602 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 110603-111616
+ Free inodes: 6913-6976
+Group 109: (Blocks 111617-112640)
+ Block bitmap at 111617 (+0), Inode bitmap at 111618 (+1)
+ Inode table at 111619-111626 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 111627-112640
+ Free inodes: 6977-7040
+Group 110: (Blocks 112641-113664)
+ Block bitmap at 112641 (+0), Inode bitmap at 112642 (+1)
+ Inode table at 112643-112650 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 112651-113664
+ Free inodes: 7041-7104
+Group 111: (Blocks 113665-114688)
+ Block bitmap at 113665 (+0), Inode bitmap at 113666 (+1)
+ Inode table at 113667-113674 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 113675-114688
+ Free inodes: 7105-7168
+Group 112: (Blocks 114689-115712)
+ Block bitmap at 114689 (+0), Inode bitmap at 114690 (+1)
+ Inode table at 114691-114698 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 114699-115712
+ Free inodes: 7169-7232
+Group 113: (Blocks 115713-116736)
+ Block bitmap at 115713 (+0), Inode bitmap at 115714 (+1)
+ Inode table at 115715-115722 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 115723-116736
+ Free inodes: 7233-7296
+Group 114: (Blocks 116737-117760)
+ Block bitmap at 116737 (+0), Inode bitmap at 116738 (+1)
+ Inode table at 116739-116746 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 116747-117760
+ Free inodes: 7297-7360
+Group 115: (Blocks 117761-118784)
+ Block bitmap at 117761 (+0), Inode bitmap at 117762 (+1)
+ Inode table at 117763-117770 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 117771-118784
+ Free inodes: 7361-7424
+Group 116: (Blocks 118785-119808)
+ Block bitmap at 118785 (+0), Inode bitmap at 118786 (+1)
+ Inode table at 118787-118794 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 118795-119808
+ Free inodes: 7425-7488
+Group 117: (Blocks 119809-120832)
+ Block bitmap at 119809 (+0), Inode bitmap at 119810 (+1)
+ Inode table at 119811-119818 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 119819-120832
+ Free inodes: 7489-7552
+Group 118: (Blocks 120833-121856)
+ Block bitmap at 120833 (+0), Inode bitmap at 120834 (+1)
+ Inode table at 120835-120842 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 120843-121856
+ Free inodes: 7553-7616
+Group 119: (Blocks 121857-122880)
+ Block bitmap at 121857 (+0), Inode bitmap at 121858 (+1)
+ Inode table at 121859-121866 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 121867-122880
+ Free inodes: 7617-7680
+Group 120: (Blocks 122881-123904)
+ Block bitmap at 122881 (+0), Inode bitmap at 122882 (+1)
+ Inode table at 122883-122890 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 122891-123904
+ Free inodes: 7681-7744
+Group 121: (Blocks 123905-124928)
+ Block bitmap at 123905 (+0), Inode bitmap at 123906 (+1)
+ Inode table at 123907-123914 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 123915-124928
+ Free inodes: 7745-7808
+Group 122: (Blocks 124929-125952)
+ Block bitmap at 124929 (+0), Inode bitmap at 124930 (+1)
+ Inode table at 124931-124938 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 124939-125952
+ Free inodes: 7809-7872
+Group 123: (Blocks 125953-126976)
+ Block bitmap at 125953 (+0), Inode bitmap at 125954 (+1)
+ Inode table at 125955-125962 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 125963-126976
+ Free inodes: 7873-7936
+Group 124: (Blocks 126977-128000)
+ Block bitmap at 126977 (+0), Inode bitmap at 126978 (+1)
+ Inode table at 126979-126986 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 126987-128000
+ Free inodes: 7937-8000
+Group 125: (Blocks 128001-129024)
+ Backup superblock at 128001, Group descriptors at 128002-128017
+ Reserved GDT blocks at 128018-128273
+ Block bitmap at 128274 (+273), Inode bitmap at 128275 (+274)
+ Inode table at 128276-128283 (+275)
+ 741 free blocks, 64 free inodes, 0 directories
+ Free blocks: 128284-129024
+ Free inodes: 8001-8064
+Group 126: (Blocks 129025-130048)
+ Block bitmap at 129025 (+0), Inode bitmap at 129026 (+1)
+ Inode table at 129027-129034 (+2)
+ 1014 free blocks, 64 free inodes, 0 directories
+ Free blocks: 129035-130048
+ Free inodes: 8065-8128
+Group 127: (Blocks 130049-131071)
+ Block bitmap at 130049 (+0), Inode bitmap at 130050 (+1)
+ Inode table at 130051-130058 (+2)
+ 1013 free blocks, 64 free inodes, 0 directories
+ Free blocks: 130059-131071
+ Free inodes: 8129-8192
diff --git a/tests/m_desc_size_128/script b/tests/m_desc_size_128/script
new file mode 100644
index 00000000..de3def94
--- /dev/null
+++ b/tests/m_desc_size_128/script
@@ -0,0 +1,4 @@
+DESCRIPTION="enable 128-byte group descriptor on mkfs"
+FS_SIZE=131072
+MKE2FS_OPTS="-b 1024 -O 64bit,extents -g 1024 -N 8192 -E desc_size=128"
+. $cmd_dir/run_mke2fs
diff --git a/tests/m_extent_journal/expect.1 b/tests/m_extent_journal/expect.1
index a8c5b63c..34e8a80d 100644
--- a/tests/m_extent_journal/expect.1
+++ b/tests/m_extent_journal/expect.1
@@ -1,25 +1,13 @@
-Filesystem label=
-OS type: Linux
-Block size=1024 (log=0)
-Fragment size=1024 (log=0)
-Stride=0 blocks, Stripe width=0 blocks
-16384 inodes, 65536 blocks
-3276 blocks (5.00%) reserved for the super user
-First data block=1
-Maximum filesystem blocks=67108864
-8 block groups
-8192 blocks per group, 8192 fragments per group
-2048 inodes per group
+Creating filesystem with 65536 1k blocks and 16384 inodes
Superblock backups stored on blocks:
8193, 24577, 40961, 57345
-Allocating group tables: 0/81/82/83/84/85/86/87/8 done
-Writing inode tables: 0/81/82/83/84/85/86/87/8 done
+Allocating group tables: done
+Writing inode tables: done
Creating journal (4096 blocks): done
-Writing superblocks and filesystem accounting information: 0/81/82/83/84/85/86/87/8 done
+Writing superblocks and filesystem accounting information: done
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent sparse_super
-
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
@@ -27,7 +15,6 @@ Pass 4: Checking reference counts
Pass 5: Checking group summary information
test_filesys: 11/16384 files (0.0% non-contiguous), 7460/65536 blocks
Exit status is 0
-
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem magic number: 0xEF53
diff --git a/tests/m_large_file/expect.1 b/tests/m_large_file/expect.1
index 2b40c84c..8ab2711a 100644
--- a/tests/m_large_file/expect.1
+++ b/tests/m_large_file/expect.1
@@ -1,22 +1,10 @@
-Filesystem label=
-OS type: Linux
-Block size=4096 (log=2)
-Fragment size=4096 (log=2)
-Stride=0 blocks, Stripe width=0 blocks
-64 inodes, 16384 blocks
-819 blocks (5.00%) reserved for the super user
-First data block=0
-Maximum filesystem blocks=16777216
-1 block group
-32768 blocks per group, 32768 fragments per group
-64 inodes per group
+Creating filesystem with 16384 4k blocks and 64 inodes
-Allocating group tables: 0/1 done
-Writing inode tables: 0/1 done
-Writing superblocks and filesystem accounting information: 0/1 done
+Allocating group tables: done
+Writing inode tables: done
+Writing superblocks and filesystem accounting information: done
Filesystem features: ext_attr resize_inode dir_index filetype sparse_super large_file
-
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
@@ -24,7 +12,6 @@ Pass 4: Checking reference counts
Pass 5: Checking group summary information
test_filesys: 11/64 files (0.0% non-contiguous), 17/16384 blocks
Exit status is 0
-
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem magic number: 0xEF53
diff --git a/tests/m_meta_bg/expect.1 b/tests/m_meta_bg/expect.1
index f1c9cef1..7df4230c 100644
--- a/tests/m_meta_bg/expect.1
+++ b/tests/m_meta_bg/expect.1
@@ -1,23 +1,12 @@
-Filesystem label=
-OS type: Linux
-Block size=1024 (log=0)
-Fragment size=1024 (log=0)
-Stride=0 blocks, Stripe width=0 blocks
-32768 inodes, 131072 blocks
-6553 blocks (5.00%) reserved for the super user
-First data block=1
-128 block groups
-1024 blocks per group, 1024 fragments per group
-256 inodes per group
+Creating filesystem with 131072 1k blocks and 32768 inodes
Superblock backups stored on blocks:
1025, 3073, 5121, 7169, 9217, 25601, 27649, 50177, 82945, 128001
-Allocating group tables: 0/128 1/128 2/128 3/128 4/128 5/128 6/128 7/128 8/128 9/128 10/128 11/128 12/128 13/128 14/128 15/128 16/128 17/128 18/128 19/128 20/128 21/128 22/128 23/128 24/128 25/128 26/128 27/128 28/128 29/128 30/128 31/128 32/128 33/128 34/128 35/128 36/128 37/128 38/128 39/128 40/128 41/128 42/128 43/128 44/128 45/128 46/128 47/128 48/128 49/128 50/128 51/128 52/128 53/128 54/128 55/128 56/128 57/128 58/128 59/128 60/128 61/128 62/128 63/128 64/128 65/128 66/128 67/128 68/128 69/128 70/128 71/128 72/128 73/128 74/128 75/128 76/128 77/128 78/128 79/128 80/128 81/128 82/128 83/128 84/128 85/128 86/128 87/128 88/128 89/128 90/128 91/128 92/128 93/128 94/128 95/128 96/128 97/128 98/128 99/128100/128101/128102/128103/128104/128105/128106/128107/128108/128109/128110/128111/128112/128113/128114/128115/128116/128117/128118/128119/128120/128121/128122/128123/128124/128125/128126/128127/128 done
-Writing inode tables: 0/128 1/128 2/128 3/128 4/128 5/128 6/128 7/128 8/128 9/128 10/128 11/128 12/128 13/128 14/128 15/128 16/128 17/128 18/128 19/128 20/128 21/128 22/128 23/128 24/128 25/128 26/128 27/128 28/128 29/128 30/128 31/128 32/128 33/128 34/128 35/128 36/128 37/128 38/128 39/128 40/128 41/128 42/128 43/128 44/128 45/128 46/128 47/128 48/128 49/128 50/128 51/128 52/128 53/128 54/128 55/128 56/128 57/128 58/128 59/128 60/128 61/128 62/128 63/128 64/128 65/128 66/128 67/128 68/128 69/128 70/128 71/128 72/128 73/128 74/128 75/128 76/128 77/128 78/128 79/128 80/128 81/128 82/128 83/128 84/128 85/128 86/128 87/128 88/128 89/128 90/128 91/128 92/128 93/128 94/128 95/128 96/128 97/128 98/128 99/128100/128101/128102/128103/128104/128105/128106/128107/128108/128109/128110/128111/128112/128113/128114/128115/128116/128117/128118/128119/128120/128121/128122/128123/128124/128125/128126/128127/128 done
-Writing superblocks and filesystem accounting information: 0/128 1/128 2/128 3/128 4/128 5/128 6/128 7/128 8/128 9/128 10/128 11/128 12/128 13/128 14/128 15/128 16/128 17/128 18/128 19/128 20/128 21/128 22/128 23/128 24/128 25/128 26/128 27/128 28/128 29/128 30/128 31/128 32/128 33/128 34/128 35/128 36/128 37/128 38/128 39/128 40/128 41/128 42/128 43/128 44/128 45/128 46/128 47/128 48/128 49/128 50/128 51/128 52/128 53/128 54/128 55/128 56/128 57/128 58/128 59/128 60/128 61/128 62/128 63/128 64/128 65/128 66/128 67/128 68/128 69/128 70/128 71/128 72/128 73/128 74/128 75/128 76/128 77/128 78/128 79/128 80/128 81/128 82/128 83/128 84/128 85/128 86/128 87/128 88/128 89/128 90/128 91/128 92/128 93/128 94/128 95/128 96/128 97/128 98/128 99/128100/128101/128102/128103/128104/128105/128106/128107/128108/128109/128110/128111/128112/128113/128114/128115/128116/128117/128118/128119/128120/128121/128122/128123/128124/128125/128126/128127/128 done
+Allocating group tables: done
+Writing inode tables: done
+Writing superblocks and filesystem accounting information: done
Filesystem features: ext_attr dir_index filetype meta_bg sparse_super
-
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
@@ -25,7 +14,6 @@ Pass 4: Checking reference counts
Pass 5: Checking group summary information
test_filesys: 11/32768 files (0.0% non-contiguous), 4389/131072 blocks
Exit status is 0
-
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem magic number: 0xEF53
diff --git a/tests/m_mkfs_overhead/script b/tests/m_mkfs_overhead/script
index ff461996..c21da0c3 100644
--- a/tests/m_mkfs_overhead/script
+++ b/tests/m_mkfs_overhead/script
@@ -1,4 +1,4 @@
-echo -n "test bg overhead calculation: "
+test_description="test bg overhead calculation"
OUT=$test_name.log
EXP=$test_dir/expect
@@ -12,22 +12,20 @@ export MKE2FS_SKIP_PROGRESS MKE2FS_SKIP_CHECK_MSG
cp /dev/null $OUT
-$MKE2FS -F -o Linux $MKE2FS_OPTS $TMPFILE $FS_SIZE 2>&1 | sed -e 1d | \
- sed -e "s;$TMPFILE;test.img;" | tr -d \\015 > $OUT
+$MKE2FS -F -o Linux $MKE2FS_OPTS $TMPFILE $FS_SIZE 2>&1 |
+ sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" > $OUT
rm -f $TMPFILE
-rm -f $test_name.ok $test_name.failed
cmp -s $OUT $EXP
status1=$?
if [ "$status1" = 0 ] ; then
- echo "ok"
+ echo "$test_name: $test_description: ok"
touch $test_name.ok
else
- echo "failed"
+ echo "$test_name: $test_description: failed"
diff $DIFF_OPTS $EXP $OUT > $test_name.failed
fi
-rm -f tmp_expect
unset OUT EXP DESCRIPTION FS_SIZE MKE2FS_OPTS MKE2FS_SKIP_PROGRESS
diff --git a/tests/m_mmp/expect.1 b/tests/m_mmp/expect.1
index d3319b3f..aec0a841 100644
--- a/tests/m_mmp/expect.1
+++ b/tests/m_mmp/expect.1
@@ -1,25 +1,13 @@
-Filesystem label=
-OS type: Linux
-Block size=4096 (log=2)
-Fragment size=4096 (log=2)
-Stride=0 blocks, Stripe width=0 blocks
-65536 inodes, 65536 blocks
-3276 blocks (5.00%) reserved for the super user
-First data block=0
-Maximum filesystem blocks=67108864
-2 block groups
-32768 blocks per group, 32768 fragments per group
-32768 inodes per group
+Creating filesystem with 65536 4k blocks and 65536 inodes
Superblock backups stored on blocks:
32768
-Allocating group tables: 0/21/2 done
-Writing inode tables: 0/21/2 done
+Allocating group tables: done
+Writing inode tables: done
Multiple mount protection is enabled with update interval 5 seconds.
-Writing superblocks and filesystem accounting information: 0/21/2 done
+Writing superblocks and filesystem accounting information: done
Filesystem features: ext_attr resize_inode dir_index filetype mmp sparse_super large_file
-
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
@@ -27,7 +15,6 @@ Pass 4: Checking reference counts
Pass 5: Checking group summary information
test_filesys: 11/65536 files (0.0% non-contiguous), 2093/65536 blocks
Exit status is 0
-
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem magic number: 0xEF53
diff --git a/tests/m_mmp/script b/tests/m_mmp/script
index b3e206a3..02b0b4b8 100644
--- a/tests/m_mmp/script
+++ b/tests/m_mmp/script
@@ -2,12 +2,12 @@ DESCRIPTION="enable MMP during mke2fs"
FS_SIZE=65536
MKE2FS_DEVICE_SECTSIZE=2048
export MKE2FS_DEVICE_SECTSIZE
-TMPFILE=test.img
+TMPFILE=$test_name.tmp
> $TMPFILE
stat -f $TMPFILE | grep -q "Type: tmpfs"
-if [ $? == 0 ]; then
+if [ $? = 0 ]; then
rm -f $TMPFILE
- echo "skipped for tmpfs (no O_DIRECT support)"
+ echo "$test_name: $test_description: skipped for tmpfs (no O_DIRECT)"
return 0
fi
MKE2FS_OPTS="-b 4096 -O mmp"
diff --git a/tests/m_no_opt/expect.1 b/tests/m_no_opt/expect.1
index 7f3e5aa7..58b311c4 100644
--- a/tests/m_no_opt/expect.1
+++ b/tests/m_no_opt/expect.1
@@ -1,23 +1,12 @@
-Filesystem label=
-OS type: Linux
-Block size=1024 (log=0)
-Fragment size=1024 (log=0)
-Stride=0 blocks, Stripe width=0 blocks
-16384 inodes, 65536 blocks
-3276 blocks (5.00%) reserved for the super user
-First data block=1
-8 block groups
-8192 blocks per group, 8192 fragments per group
-2048 inodes per group
+Creating filesystem with 65536 1k blocks and 16384 inodes
Superblock backups stored on blocks:
8193, 16385, 24577, 32769, 40961, 49153, 57345
-Allocating group tables: 0/81/82/83/84/85/86/87/8 done
-Writing inode tables: 0/81/82/83/84/85/86/87/8 done
-Writing superblocks and filesystem accounting information: 0/81/82/83/84/85/86/87/8 done
+Allocating group tables: done
+Writing inode tables: done
+Writing superblocks and filesystem accounting information: done
Filesystem features:(none)
-
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
@@ -25,7 +14,6 @@ Pass 4: Checking reference counts
Pass 5: Checking group summary information
test_filesys: 11/16384 files (0.0% non-contiguous), 2094/65536 blocks
Exit status is 0
-
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem magic number: 0xEF53
diff --git a/tests/m_quota/expect.1 b/tests/m_quota/expect.1
new file mode 100644
index 00000000..787871cd
--- /dev/null
+++ b/tests/m_quota/expect.1
@@ -0,0 +1,157 @@
+Creating filesystem with 131072 1k blocks and 32768 inodes
+Superblock backups stored on blocks:
+ 8193, 24577, 40961, 57345, 73729
+
+Allocating group tables: done
+Writing inode tables: done
+Writing superblocks and filesystem accounting information: done
+
+Filesystem features: ext_attr resize_inode dir_index filetype sparse_super quota
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+test_filesys: 11/32768 files (18.2% non-contiguous), 5703/131072 blocks
+Exit status is 0
+Filesystem volume name: <none>
+Last mounted on: <not available>
+Filesystem magic number: 0xEF53
+Filesystem revision #: 1 (dynamic)
+Filesystem features: ext_attr resize_inode dir_index filetype sparse_super quota
+Default mount options: (none)
+Filesystem state: clean
+Errors behavior: Continue
+Filesystem OS type: Linux
+Inode count: 32768
+Block count: 131072
+Reserved block count: 6553
+Free blocks: 125369
+Free inodes: 32757
+First block: 1
+Block size: 1024
+Fragment size: 1024
+Reserved GDT blocks: 256
+Blocks per group: 8192
+Fragments per group: 8192
+Inodes per group: 2048
+Inode blocks per group: 256
+Mount count: 0
+Check interval: 15552000 (6 months)
+Reserved blocks uid: 0
+Reserved blocks gid: 0
+First inode: 11
+Inode size: 128
+Default directory hash: half_md4
+User quota inode: 3
+Group quota inode: 4
+
+
+Group 0: (Blocks 1-8192)
+ Primary superblock at 1, Group descriptors at 2-2
+ Reserved GDT blocks at 3-258
+ Block bitmap at 259 (+258), Inode bitmap at 260 (+259)
+ Inode table at 261-516 (+260)
+ 7650 free blocks, 2037 free inodes, 2 directories
+ Free blocks: 543-8192
+ Free inodes: 12-2048
+Group 1: (Blocks 8193-16384)
+ Backup superblock at 8193, Group descriptors at 8194-8194
+ Reserved GDT blocks at 8195-8450
+ Block bitmap at 8451 (+258), Inode bitmap at 8452 (+259)
+ Inode table at 8453-8708 (+260)
+ 7676 free blocks, 2048 free inodes, 0 directories
+ Free blocks: 8709-16384
+ Free inodes: 2049-4096
+Group 2: (Blocks 16385-24576)
+ Block bitmap at 16385 (+0), Inode bitmap at 16386 (+1)
+ Inode table at 16387-16642 (+2)
+ 7934 free blocks, 2048 free inodes, 0 directories
+ Free blocks: 16643-24576
+ Free inodes: 4097-6144
+Group 3: (Blocks 24577-32768)
+ Backup superblock at 24577, Group descriptors at 24578-24578
+ Reserved GDT blocks at 24579-24834
+ Block bitmap at 24835 (+258), Inode bitmap at 24836 (+259)
+ Inode table at 24837-25092 (+260)
+ 7676 free blocks, 2048 free inodes, 0 directories
+ Free blocks: 25093-32768
+ Free inodes: 6145-8192
+Group 4: (Blocks 32769-40960)
+ Block bitmap at 32769 (+0), Inode bitmap at 32770 (+1)
+ Inode table at 32771-33026 (+2)
+ 7934 free blocks, 2048 free inodes, 0 directories
+ Free blocks: 33027-40960
+ Free inodes: 8193-10240
+Group 5: (Blocks 40961-49152)
+ Backup superblock at 40961, Group descriptors at 40962-40962
+ Reserved GDT blocks at 40963-41218
+ Block bitmap at 41219 (+258), Inode bitmap at 41220 (+259)
+ Inode table at 41221-41476 (+260)
+ 7676 free blocks, 2048 free inodes, 0 directories
+ Free blocks: 41477-49152
+ Free inodes: 10241-12288
+Group 6: (Blocks 49153-57344)
+ Block bitmap at 49153 (+0), Inode bitmap at 49154 (+1)
+ Inode table at 49155-49410 (+2)
+ 7934 free blocks, 2048 free inodes, 0 directories
+ Free blocks: 49411-57344
+ Free inodes: 12289-14336
+Group 7: (Blocks 57345-65536)
+ Backup superblock at 57345, Group descriptors at 57346-57346
+ Reserved GDT blocks at 57347-57602
+ Block bitmap at 57603 (+258), Inode bitmap at 57604 (+259)
+ Inode table at 57605-57860 (+260)
+ 7676 free blocks, 2048 free inodes, 0 directories
+ Free blocks: 57861-65536
+ Free inodes: 14337-16384
+Group 8: (Blocks 65537-73728)
+ Block bitmap at 65537 (+0), Inode bitmap at 65538 (+1)
+ Inode table at 65539-65794 (+2)
+ 7934 free blocks, 2048 free inodes, 0 directories
+ Free blocks: 65795-73728
+ Free inodes: 16385-18432
+Group 9: (Blocks 73729-81920)
+ Backup superblock at 73729, Group descriptors at 73730-73730
+ Reserved GDT blocks at 73731-73986
+ Block bitmap at 73987 (+258), Inode bitmap at 73988 (+259)
+ Inode table at 73989-74244 (+260)
+ 7676 free blocks, 2048 free inodes, 0 directories
+ Free blocks: 74245-81920
+ Free inodes: 18433-20480
+Group 10: (Blocks 81921-90112)
+ Block bitmap at 81921 (+0), Inode bitmap at 81922 (+1)
+ Inode table at 81923-82178 (+2)
+ 7934 free blocks, 2048 free inodes, 0 directories
+ Free blocks: 82179-90112
+ Free inodes: 20481-22528
+Group 11: (Blocks 90113-98304)
+ Block bitmap at 90113 (+0), Inode bitmap at 90114 (+1)
+ Inode table at 90115-90370 (+2)
+ 7934 free blocks, 2048 free inodes, 0 directories
+ Free blocks: 90371-98304
+ Free inodes: 22529-24576
+Group 12: (Blocks 98305-106496)
+ Block bitmap at 98305 (+0), Inode bitmap at 98306 (+1)
+ Inode table at 98307-98562 (+2)
+ 7934 free blocks, 2048 free inodes, 0 directories
+ Free blocks: 98563-106496
+ Free inodes: 24577-26624
+Group 13: (Blocks 106497-114688)
+ Block bitmap at 106497 (+0), Inode bitmap at 106498 (+1)
+ Inode table at 106499-106754 (+2)
+ 7934 free blocks, 2048 free inodes, 0 directories
+ Free blocks: 106755-114688
+ Free inodes: 26625-28672
+Group 14: (Blocks 114689-122880)
+ Block bitmap at 114689 (+0), Inode bitmap at 114690 (+1)
+ Inode table at 114691-114946 (+2)
+ 7934 free blocks, 2048 free inodes, 0 directories
+ Free blocks: 114947-122880
+ Free inodes: 28673-30720
+Group 15: (Blocks 122881-131071)
+ Block bitmap at 122881 (+0), Inode bitmap at 122882 (+1)
+ Inode table at 122883-123138 (+2)
+ 7933 free blocks, 2048 free inodes, 0 directories
+ Free blocks: 123139-131071
+ Free inodes: 30721-32768
diff --git a/tests/m_quota/script b/tests/m_quota/script
new file mode 100644
index 00000000..36ab6306
--- /dev/null
+++ b/tests/m_quota/script
@@ -0,0 +1,8 @@
+DESCRIPTION="enable quota feature on mkfs"
+FS_SIZE=131072
+MKE2FS_OPTS="-O quota"
+if [ "$QUOTA" != "y" ]; then
+ echo "$test_name: $DESCRIPTION: skipped"
+ return 0
+fi
+. $cmd_dir/run_mke2fs
diff --git a/tests/m_raid_opt/expect.1 b/tests/m_raid_opt/expect.1
index 0c6acc16..0fccb7ca 100644
--- a/tests/m_raid_opt/expect.1
+++ b/tests/m_raid_opt/expect.1
@@ -1,24 +1,12 @@
-Filesystem label=
-OS type: Linux
-Block size=1024 (log=0)
-Fragment size=1024 (log=0)
-Stride=13 blocks, Stripe width=0 blocks
-32768 inodes, 131072 blocks
-6553 blocks (5.00%) reserved for the super user
-First data block=1
-Maximum filesystem blocks=8519680
-128 block groups
-1024 blocks per group, 1024 fragments per group
-256 inodes per group
+Creating filesystem with 131072 1k blocks and 32768 inodes
Superblock backups stored on blocks:
1025, 3073, 5121, 7169, 9217, 25601, 27649, 50177, 82945, 128001
-Allocating group tables: 0/128 1/128 2/128 3/128 4/128 5/128 6/128 7/128 8/128 9/128 10/128 11/128 12/128 13/128 14/128 15/128 16/128 17/128 18/128 19/128 20/128 21/128 22/128 23/128 24/128 25/128 26/128 27/128 28/128 29/128 30/128 31/128 32/128 33/128 34/128 35/128 36/128 37/128 38/128 39/128 40/128 41/128 42/128 43/128 44/128 45/128 46/128 47/128 48/128 49/128 50/128 51/128 52/128 53/128 54/128 55/128 56/128 57/128 58/128 59/128 60/128 61/128 62/128 63/128 64/128 65/128 66/128 67/128 68/128 69/128 70/128 71/128 72/128 73/128 74/128 75/128 76/128 77/128 78/128 79/128 80/128 81/128 82/128 83/128 84/128 85/128 86/128 87/128 88/128 89/128 90/128 91/128 92/128 93/128 94/128 95/128 96/128 97/128 98/128 99/128100/128101/128102/128103/128104/128105/128106/128107/128108/128109/128110/128111/128112/128113/128114/128115/128116/128117/128118/128119/128120/128121/128122/128123/128124/128125/128126/128127/128 done
-Writing inode tables: 0/128 1/128 2/128 3/128 4/128 5/128 6/128 7/128 8/128 9/128 10/128 11/128 12/128 13/128 14/128 15/128 16/128 17/128 18/128 19/128 20/128 21/128 22/128 23/128 24/128 25/128 26/128 27/128 28/128 29/128 30/128 31/128 32/128 33/128 34/128 35/128 36/128 37/128 38/128 39/128 40/128 41/128 42/128 43/128 44/128 45/128 46/128 47/128 48/128 49/128 50/128 51/128 52/128 53/128 54/128 55/128 56/128 57/128 58/128 59/128 60/128 61/128 62/128 63/128 64/128 65/128 66/128 67/128 68/128 69/128 70/128 71/128 72/128 73/128 74/128 75/128 76/128 77/128 78/128 79/128 80/128 81/128 82/128 83/128 84/128 85/128 86/128 87/128 88/128 89/128 90/128 91/128 92/128 93/128 94/128 95/128 96/128 97/128 98/128 99/128100/128101/128102/128103/128104/128105/128106/128107/128108/128109/128110/128111/128112/128113/128114/128115/128116/128117/128118/128119/128120/128121/128122/128123/128124/128125/128126/128127/128 done
-Writing superblocks and filesystem accounting information: 0/128 1/128 2/128 3/128 4/128 5/128 6/128 7/128 8/128 9/128 10/128 11/128 12/128 13/128 14/128 15/128 16/128 17/128 18/128 19/128 20/128 21/128 22/128 23/128 24/128 25/128 26/128 27/128 28/128 29/128 30/128 31/128 32/128 33/128 34/128 35/128 36/128 37/128 38/128 39/128 40/128 41/128 42/128 43/128 44/128 45/128 46/128 47/128 48/128 49/128 50/128 51/128 52/128 53/128 54/128 55/128 56/128 57/128 58/128 59/128 60/128 61/128 62/128 63/128 64/128 65/128 66/128 67/128 68/128 69/128 70/128 71/128 72/128 73/128 74/128 75/128 76/128 77/128 78/128 79/128 80/128 81/128 82/128 83/128 84/128 85/128 86/128 87/128 88/128 89/128 90/128 91/128 92/128 93/128 94/128 95/128 96/128 97/128 98/128 99/128100/128101/128102/128103/128104/128105/128106/128107/128108/128109/128110/128111/128112/128113/128114/128115/128116/128117/128118/128119/128120/128121/128122/128123/128124/128125/128126/128127/128 done
+Allocating group tables: done
+Writing inode tables: done
+Writing superblocks and filesystem accounting information: done
Filesystem features: ext_attr resize_inode dir_index filetype sparse_super
-
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
@@ -26,7 +14,6 @@ Pass 4: Checking reference counts
Pass 5: Checking group summary information
test_filesys: 11/32768 files (0.0% non-contiguous), 7238/131072 blocks
Exit status is 0
-
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem magic number: 0xEF53
diff --git a/tests/m_raid_opt/script b/tests/m_raid_opt/script
index 1e47cc13..296fe948 100644
--- a/tests/m_raid_opt/script
+++ b/tests/m_raid_opt/script
@@ -1,4 +1,4 @@
DESCRIPTION="raid options"
FS_SIZE=131072
-MKE2FS_OPTS="-R stride=13 -O sparse_super -g 1024"
+MKE2FS_OPTS="-E stride=13 -O sparse_super -g 1024"
. $cmd_dir/run_mke2fs
diff --git a/tests/m_root_owner/expect.1 b/tests/m_root_owner/expect.1
new file mode 100644
index 00000000..cd949938
--- /dev/null
+++ b/tests/m_root_owner/expect.1
@@ -0,0 +1,53 @@
+Creating filesystem with 1024 1k blocks and 128 inodes
+
+Allocating group tables: done
+Writing inode tables: done
+Writing superblocks and filesystem accounting information: done
+
+Filesystem features: ext_attr resize_inode dir_index filetype sparse_super
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+test_filesys: 11/128 files (0.0% non-contiguous), 38/1024 blocks
+Exit status is 0
+Filesystem volume name: <none>
+Last mounted on: <not available>
+Filesystem magic number: 0xEF53
+Filesystem revision #: 1 (dynamic)
+Filesystem features: ext_attr resize_inode dir_index filetype sparse_super
+Default mount options: (none)
+Filesystem state: clean
+Errors behavior: Continue
+Filesystem OS type: Linux
+Inode count: 128
+Block count: 1024
+Reserved block count: 51
+Free blocks: 986
+Free inodes: 117
+First block: 1
+Block size: 1024
+Fragment size: 1024
+Reserved GDT blocks: 3
+Blocks per group: 8192
+Fragments per group: 8192
+Inodes per group: 128
+Inode blocks per group: 16
+Mount count: 0
+Check interval: 15552000 (6 months)
+Reserved blocks uid: 0
+Reserved blocks gid: 0
+First inode: 11
+Inode size: 128
+Default directory hash: half_md4
+
+
+Group 0: (Blocks 1-1023)
+ Primary superblock at 1, Group descriptors at 2-2
+ Reserved GDT blocks at 3-5
+ Block bitmap at 6 (+5), Inode bitmap at 7 (+6)
+ Inode table at 8-23 (+7)
+ 986 free blocks, 117 free inodes, 2 directories
+ Free blocks: 38-1023
+ Free inodes: 12-128
diff --git a/tests/m_root_owner/script b/tests/m_root_owner/script
new file mode 100644
index 00000000..02c5ef62
--- /dev/null
+++ b/tests/m_root_owner/script
@@ -0,0 +1,4 @@
+DESCRIPTION="root directory owner"
+FS_SIZE=1024
+MKE2FS_OPTS="-E root_owner=1234:1234"
+. $cmd_dir/run_mke2fs
diff --git a/tests/m_std/expect.1 b/tests/m_std/expect.1
index d0bf27c8..b05031f8 100644
--- a/tests/m_std/expect.1
+++ b/tests/m_std/expect.1
@@ -1,24 +1,12 @@
-Filesystem label=
-OS type: Linux
-Block size=1024 (log=0)
-Fragment size=1024 (log=0)
-Stride=0 blocks, Stripe width=0 blocks
-16384 inodes, 65536 blocks
-3276 blocks (5.00%) reserved for the super user
-First data block=1
-Maximum filesystem blocks=67108864
-8 block groups
-8192 blocks per group, 8192 fragments per group
-2048 inodes per group
+Creating filesystem with 65536 1k blocks and 16384 inodes
Superblock backups stored on blocks:
8193, 24577, 40961, 57345
-Allocating group tables: 0/81/82/83/84/85/86/87/8 done
-Writing inode tables: 0/81/82/83/84/85/86/87/8 done
-Writing superblocks and filesystem accounting information: 0/81/82/83/84/85/86/87/8 done
+Allocating group tables: done
+Writing inode tables: done
+Writing superblocks and filesystem accounting information: done
Filesystem features: ext_attr resize_inode dir_index filetype sparse_super
-
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
@@ -26,7 +14,6 @@ Pass 4: Checking reference counts
Pass 5: Checking group summary information
test_filesys: 11/16384 files (0.0% non-contiguous), 3364/65536 blocks
Exit status is 0
-
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem magic number: 0xEF53
diff --git a/tests/m_uninit/expect.1 b/tests/m_uninit/expect.1
index a3c059db..e886dfbf 100644
--- a/tests/m_uninit/expect.1
+++ b/tests/m_uninit/expect.1
@@ -1,24 +1,12 @@
-Filesystem label=
-OS type: Linux
-Block size=1024 (log=0)
-Fragment size=1024 (log=0)
-Stride=0 blocks, Stripe width=0 blocks
-32768 inodes, 131072 blocks
-6553 blocks (5.00%) reserved for the super user
-First data block=1
-Maximum filesystem blocks=67371008
-16 block groups
-8192 blocks per group, 8192 fragments per group
-2048 inodes per group
+Creating filesystem with 131072 1k blocks and 32768 inodes
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729
-Allocating group tables: 0/16 1/16 2/16 3/16 4/16 5/16 6/16 7/16 8/16 9/1610/1611/1612/1613/1614/1615/16 done
-Writing inode tables: 0/16 1/16 2/16 3/16 4/16 5/16 6/16 7/16 8/16 9/1610/1611/1612/1613/1614/1615/16 done
-Writing superblocks and filesystem accounting information: 0/16 1/16 2/16 3/16 4/16 5/16 6/16 7/16 8/16 9/1610/1611/1612/1613/1614/1615/16 done
+Allocating group tables: done
+Writing inode tables: done
+Writing superblocks and filesystem accounting information: done
Filesystem features: ext_attr resize_inode dir_index filetype sparse_super uninit_bg
-
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
@@ -26,7 +14,6 @@ Pass 4: Checking reference counts
Pass 5: Checking group summary information
test_filesys: 11/32768 files (0.0% non-contiguous), 5691/131072 blocks
Exit status is 0
-
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem magic number: 0xEF53
@@ -66,7 +53,7 @@ Group 0: (Blocks 1-8192) [ITABLE_ZEROED]
7662 free blocks, 2037 free inodes, 2 directories, 2037 unused inodes
Free blocks: 531-8192
Free inodes: 12-2048
-Group 1: (Blocks 8193-16384) [INODE_UNINIT, ITABLE_ZEROED]
+Group 1: (Blocks 8193-16384) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
Backup superblock at 8193, Group descriptors at 8194-8194
Reserved GDT blocks at 8195-8450
Block bitmap at 8451 (+258), Inode bitmap at 8452 (+259)
@@ -78,9 +65,9 @@ Group 2: (Blocks 16385-24576) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
Block bitmap at 16385 (+0), Inode bitmap at 16386 (+1)
Inode table at 16387-16642 (+2)
7934 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
- Free blocks: 16385-24576
+ Free blocks: 16643-24576
Free inodes: 4097-6144
-Group 3: (Blocks 24577-32768) [INODE_UNINIT, ITABLE_ZEROED]
+Group 3: (Blocks 24577-32768) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
Backup superblock at 24577, Group descriptors at 24578-24578
Reserved GDT blocks at 24579-24834
Block bitmap at 24835 (+258), Inode bitmap at 24836 (+259)
@@ -92,9 +79,9 @@ Group 4: (Blocks 32769-40960) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
Block bitmap at 32769 (+0), Inode bitmap at 32770 (+1)
Inode table at 32771-33026 (+2)
7934 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
- Free blocks: 32769-40960
+ Free blocks: 33027-40960
Free inodes: 8193-10240
-Group 5: (Blocks 40961-49152) [INODE_UNINIT, ITABLE_ZEROED]
+Group 5: (Blocks 40961-49152) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
Backup superblock at 40961, Group descriptors at 40962-40962
Reserved GDT blocks at 40963-41218
Block bitmap at 41219 (+258), Inode bitmap at 41220 (+259)
@@ -106,9 +93,9 @@ Group 6: (Blocks 49153-57344) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
Block bitmap at 49153 (+0), Inode bitmap at 49154 (+1)
Inode table at 49155-49410 (+2)
7934 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
- Free blocks: 49153-57344
+ Free blocks: 49411-57344
Free inodes: 12289-14336
-Group 7: (Blocks 57345-65536) [INODE_UNINIT, ITABLE_ZEROED]
+Group 7: (Blocks 57345-65536) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
Backup superblock at 57345, Group descriptors at 57346-57346
Reserved GDT blocks at 57347-57602
Block bitmap at 57603 (+258), Inode bitmap at 57604 (+259)
@@ -120,9 +107,9 @@ Group 8: (Blocks 65537-73728) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
Block bitmap at 65537 (+0), Inode bitmap at 65538 (+1)
Inode table at 65539-65794 (+2)
7934 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
- Free blocks: 65537-73728
+ Free blocks: 65795-73728
Free inodes: 16385-18432
-Group 9: (Blocks 73729-81920) [INODE_UNINIT, ITABLE_ZEROED]
+Group 9: (Blocks 73729-81920) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
Backup superblock at 73729, Group descriptors at 73730-73730
Reserved GDT blocks at 73731-73986
Block bitmap at 73987 (+258), Inode bitmap at 73988 (+259)
@@ -134,31 +121,31 @@ Group 10: (Blocks 81921-90112) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
Block bitmap at 81921 (+0), Inode bitmap at 81922 (+1)
Inode table at 81923-82178 (+2)
7934 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
- Free blocks: 81921-90112
+ Free blocks: 82179-90112
Free inodes: 20481-22528
Group 11: (Blocks 90113-98304) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
Block bitmap at 90113 (+0), Inode bitmap at 90114 (+1)
Inode table at 90115-90370 (+2)
7934 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
- Free blocks: 90113-98304
+ Free blocks: 90371-98304
Free inodes: 22529-24576
Group 12: (Blocks 98305-106496) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
Block bitmap at 98305 (+0), Inode bitmap at 98306 (+1)
Inode table at 98307-98562 (+2)
7934 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
- Free blocks: 98305-106496
+ Free blocks: 98563-106496
Free inodes: 24577-26624
Group 13: (Blocks 106497-114688) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
Block bitmap at 106497 (+0), Inode bitmap at 106498 (+1)
Inode table at 106499-106754 (+2)
7934 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
- Free blocks: 106497-114688
+ Free blocks: 106755-114688
Free inodes: 26625-28672
Group 14: (Blocks 114689-122880) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
Block bitmap at 114689 (+0), Inode bitmap at 114690 (+1)
Inode table at 114691-114946 (+2)
7934 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
- Free blocks: 114689-122880
+ Free blocks: 114947-122880
Free inodes: 28673-30720
Group 15: (Blocks 122881-131071) [INODE_UNINIT, ITABLE_ZEROED]
Block bitmap at 122881 (+0), Inode bitmap at 122882 (+1)
diff --git a/tests/mke2fs.conf.in b/tests/mke2fs.conf.in
index fbe2e2a7..c06050d8 100644
--- a/tests/mke2fs.conf.in
+++ b/tests/mke2fs.conf.in
@@ -6,6 +6,7 @@
reserved_ratio = 5.0
enable_periodic_fsck = true
lazy_itable_init = false
+ no_discard = true
default_mntopts = ^acl
[fs_types]
diff --git a/tests/progs/Makefile.in b/tests/progs/Makefile.in
index 0e281928..44d04b51 100644
--- a/tests/progs/Makefile.in
+++ b/tests/progs/Makefile.in
@@ -13,7 +13,7 @@ INSTALL = @INSTALL@
MK_CMDS= _SS_DIR_OVERRIDE=../../lib/ss ../../lib/ss/mk_cmds
-PROGS= test_icount
+PROGS= test_icount crcsum
TEST_REL_OBJS= test_rel.o test_rel_cmds.o
@@ -21,12 +21,13 @@ TEST_ICOUNT_OBJS= test_icount.o test_icount_cmds.o
SRCS= $(srcdir)/test_rel.c
-LIBS= $(LIBEXT2FS) $(LIBSS) $(LIBCOM_ERR)
+LIBS= $(LIBEXT2FS) $(LIBSS) $(LIBCOM_ERR) $(SYSLIBS)
DEPLIBS= $(LIBEXT2FS) $(DEPLIBSS) $(DEPLIBCOM_ERR)
.c.o:
$(E) " CC $<"
$(Q) $(CC) -c $(ALL_CFLAGS) $< -o $@
+ $(Q) $(CHECK_CMD) $(ALL_CFLAGS) $<
all:: $(PROGS)
@@ -34,6 +35,10 @@ test_rel: $(TEST_REL_OBJS) $(DEPLIBS)
$(E) " LD $@"
$(Q) $(LD) $(ALL_LDFLAGS) -o test_rel $(TEST_REL_OBJS) $(LIBS)
+crcsum: crcsum.o $(DEPLIBS)
+ $(E) " LD $@"
+ $(Q) $(LD) $(ALL_LDFLAGS) -o crcsum crcsum.o $(LIBS)
+
test_rel_cmds.c: test_rel_cmds.ct
$(E) " MK_CMDS $@"
$(Q) $(MK_CMDS) $(srcdir)/test_rel_cmds.ct
@@ -46,7 +51,7 @@ test_icount_cmds.c: test_icount_cmds.ct
$(E) " MK_CMDS $@"
$(Q) $(MK_CMDS) $(srcdir)/test_icount_cmds.ct
-clean:
+clean::
$(RM) -f $(PROGS) test_rel_cmds.c test_icount_cmds.c \
\#* *.s *.o *.a *~ core
diff --git a/tests/progs/crcsum.c b/tests/progs/crcsum.c
new file mode 100644
index 00000000..9794e103
--- /dev/null
+++ b/tests/progs/crcsum.c
@@ -0,0 +1,68 @@
+/*
+ * crcsum.c
+ *
+ * Copyright (C) 2013 Theodore Ts'o.
+ *
+ * %Begin-Header%
+ * This file may be redistributed under the terms of the GNU Public
+ * License.
+ * %End-Header%
+ */
+
+#include "config.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdint.h>
+#include <string.h>
+#include <unistd.h>
+#ifdef HAVE_GETOPT_H
+#include <getopt.h>
+#endif
+#include <fcntl.h>
+
+#include "et/com_err.h"
+#include "ss/ss.h"
+#include "ext2fs/ext2fs.h"
+
+
+int main(int argc, char **argv)
+{
+ int c;
+ uint32_t crc = ~0;
+ uint32_t (*csum_func)(uint32_t crc, unsigned char const *p,
+ size_t len);
+ FILE *f;
+
+ csum_func = ext2fs_crc32c_le;
+
+ while ((c = getopt (argc, argv, "h")) != EOF) {
+ switch (c) {
+ case 'h':
+ default:
+ com_err(argv[0], 0, "Usage: crcsum [file]\n");
+ return 1;
+ }
+ }
+
+ if (optind == argc)
+ f = stdin;
+ else {
+ f = fopen(argv[optind], "r");
+ if (!f) {
+ com_err(argv[0], errno, "while trying to open %s\n",
+ argv[optind]);
+ exit(1);
+ }
+ }
+
+ while (!feof(f)) {
+ unsigned char buf[4096];
+
+ int c = fread(buf, 1, sizeof(buf), f);
+
+ if (c)
+ crc = csum_func(crc, buf, c);
+ }
+ printf("%u\n", crc);
+ return 0;
+}
diff --git a/tests/r_1024_small_bg/script b/tests/r_1024_small_bg/script
new file mode 100644
index 00000000..2038cb96
--- /dev/null
+++ b/tests/r_1024_small_bg/script
@@ -0,0 +1,31 @@
+if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then
+
+test_description="ext2 1024 blocksize with small block groups"
+FEATURES="-t ext2 -O ^resize_inode -b 1024 -g 1024"
+SIZE_1=64M
+SIZE_2=2G
+LOG=$test_name.log
+E2FSCK=../e2fsck/e2fsck
+
+
+. $cmd_dir/scripts/resize_test
+
+resize_test
+RC=$?
+if [ $RC -eq 0 ]; then
+ echo "$test_name: $test_description: ok"
+ touch $test_name.ok
+elif [ $RC -eq 111 ]; then
+ echo "$test_name: $test_description: skipped"
+ touch $test_name.ok
+else
+ echo "$test_name: $test_description: failed"
+ ln $LOG $test_name.failed
+fi
+
+unset FEATURES SIZE_1 SIZE_2 LOG E2FSCK
+
+else #if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then
+ echo "$test_name: $test_description: skipped"
+fi
+
diff --git a/tests/r_64bit_big_expand/script b/tests/r_64bit_big_expand/script
new file mode 100644
index 00000000..6716f3c6
--- /dev/null
+++ b/tests/r_64bit_big_expand/script
@@ -0,0 +1,31 @@
+if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then
+
+test_description="very large fs growth using ext4 w/64bit"
+FEATURES="-t ext4 -O 64bit"
+SIZE_1=512M
+SIZE_2=2T
+LOG=$test_name.log
+E2FSCK=../e2fsck/e2fsck
+
+
+. $cmd_dir/scripts/resize_test
+
+resize_test
+RC=$?
+if [ $RC -eq 0 ]; then
+ echo "$test_name: $test_description: ok"
+ touch $test_name.ok
+elif [ $RC -eq 111 ]; then
+ echo "$test_name: $test_description: skipped"
+ touch $test_name.ok
+else
+ echo "$test_name: $test_description: failed"
+ ln $LOG $test_name.failed
+fi
+
+unset FEATURES SIZE_1 SIZE_2 LOG E2FSCK
+
+else #if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then
+ echo "$test_name: $test_description: skipped"
+fi
+
diff --git a/tests/r_bigalloc_big_expand/script b/tests/r_bigalloc_big_expand/script
new file mode 100644
index 00000000..511733b6
--- /dev/null
+++ b/tests/r_bigalloc_big_expand/script
@@ -0,0 +1,31 @@
+if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then
+
+test_description="ext4 with bigalloc"
+FEATURES="-t ext4 -O bigalloc"
+SIZE_1=512M
+SIZE_2=2T
+LOG=$test_name.log
+E2FSCK=../e2fsck/e2fsck
+RESIZE2FS_OPTS=-f
+
+. $cmd_dir/scripts/resize_test
+
+resize_test
+RC=$?
+if [ $RC -eq 0 ]; then
+ echo "$test_name: $test_description: ok"
+ touch $test_name.ok
+elif [ $RC -eq 111 ]; then
+ echo "$test_name: $test_description: skipped"
+ touch $test_name.ok
+else
+ echo "$test_name: $test_description: failed"
+ ln $LOG $test_name.failed
+fi
+
+unset FEATURES SIZE_1 SIZE_2 LOG E2FSCK
+
+else #if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then
+ echo "$test_name: $test_description: skipped"
+fi
+
diff --git a/tests/r_ext4_big_expand/script b/tests/r_ext4_big_expand/script
new file mode 100644
index 00000000..b4a6f6e3
--- /dev/null
+++ b/tests/r_ext4_big_expand/script
@@ -0,0 +1,31 @@
+if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then
+
+test_description="very large fs growth using ext4"
+FEATURES="-t ext4"
+SIZE_1=512M
+SIZE_2=2T
+LOG=$test_name.log
+E2FSCK=../e2fsck/e2fsck
+
+
+. $cmd_dir/scripts/resize_test
+
+resize_test
+RC=$?
+if [ $RC -eq 0 ]; then
+ echo "$test_name: $test_description: ok"
+ touch $test_name.ok
+elif [ $RC -eq 111 ]; then
+ echo "$test_name: $test_description: skipped"
+ touch $test_name.ok
+else
+ echo "$test_name: $test_description: failed"
+ ln $LOG $test_name.failed
+fi
+
+unset FEATURES SIZE_1 SIZE_2 LOG E2FSCK
+
+else #if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then
+ echo "$test_name: $test_description: skipped"
+fi
+
diff --git a/tests/r_ext4_small_bg/script b/tests/r_ext4_small_bg/script
new file mode 100644
index 00000000..cdc6e4a3
--- /dev/null
+++ b/tests/r_ext4_small_bg/script
@@ -0,0 +1,31 @@
+if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then
+
+test_description="ext4 1024 blocksize with small block groups"
+FEATURES="-t ext4 -O ^resize_inode -b 1024 -g 512"
+SIZE_1=64M
+SIZE_2=2G
+LOG=$test_name.log
+E2FSCK=../e2fsck/e2fsck
+
+
+. $cmd_dir/scripts/resize_test
+
+resize_test
+RC=$?
+if [ $RC -eq 0 ]; then
+ echo "$test_name: $test_description: ok"
+ touch $test_name.ok
+elif [ $RC -eq 111 ]; then
+ echo "$test_name: $test_description: skipped"
+ touch $test_name.ok
+else
+ echo "$test_name: $test_description: failed"
+ ln $LOG $test_name.failed
+fi
+
+unset FEATURES SIZE_1 SIZE_2 LOG E2FSCK
+
+else #if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then
+ echo "$test_name: $test_description: skipped"
+fi
+
diff --git a/tests/r_inline_xattr/script b/tests/r_inline_xattr/script
index e4e0f536..d8825872 100644
--- a/tests/r_inline_xattr/script
+++ b/tests/r_inline_xattr/script
@@ -20,7 +20,7 @@ echo "resize2fs test.img 5M" >> $OUT
$RESIZE2FS $TMPFILE 5M 2>&1 >> $OUT.new 2>&1
status=$?
echo Exit status is $status >> $OUT.new
-sed -e '1d' $OUT.new | sed -e "s;$TMPFILE;test.img;" >> $OUT
+sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT.new >> $OUT
# Look at inline extended attribute in resized fs
echo "debugfs -R ''stat file'' test.img 2>&1 | grep ''^Inode\|in inode body\|name = ''" >> $OUT
@@ -34,22 +34,20 @@ rm $TMPFILE $OUT.new
# Do the verification
#
-rm -f $test_name.ok $test_name.failed
cmp -s $OUT $EXP
status=$?
if [ "$status" = 0 ] ; then
- echo "ok"
+ echo "$test_name: $test_description: ok"
touch $test_name.ok
else
- echo "failed"
+ 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
- rm -f $test_name.ok $test_name.failed
- echo "skipped"
+ echo "$test_name: $test_description: skipped"
fi
diff --git a/tests/r_min_itable/expect b/tests/r_min_itable/expect
new file mode 100644
index 00000000..2d8ecb45
--- /dev/null
+++ b/tests/r_min_itable/expect
@@ -0,0 +1,15 @@
+resize2fs test
+resize2fs -M test.img
+Resizing the filesystem on test.img to 1124 (1k) blocks.
+The filesystem on test.img is now 1124 blocks long.
+
+Exit status is 0
+
+fsck -yf -N test_filesys test.img
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+test_filesys: 13/512 files (0.0% non-contiguous), 1120/1124 blocks
+Exit status is 0
diff --git a/tests/r_min_itable/image.gz b/tests/r_min_itable/image.gz
new file mode 100644
index 00000000..7c40c566
--- /dev/null
+++ b/tests/r_min_itable/image.gz
Binary files differ
diff --git a/tests/r_min_itable/name b/tests/r_min_itable/name
new file mode 100644
index 00000000..841b0437
--- /dev/null
+++ b/tests/r_min_itable/name
@@ -0,0 +1 @@
+resize2fs -M with inode table in middle of last block group
diff --git a/tests/r_min_itable/script b/tests/r_min_itable/script
new file mode 100644
index 00000000..beb6cf9c
--- /dev/null
+++ b/tests/r_min_itable/script
@@ -0,0 +1,45 @@
+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
+
+echo " " >> $OUT.new
+echo fsck $FSCK_OPT -N test_filesys test.img >> $OUT.new
+$FSCK $FSCK_OPT -N test_filesys $TMPFILE >> $OUT.new 2>&1
+echo Exit status is $status >> $OUT.new
+
+sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT.new >> $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
+
diff --git a/tests/r_move_itable/expect b/tests/r_move_itable/expect
index 195bb114..b4b089bf 100644
--- a/tests/r_move_itable/expect
+++ b/tests/r_move_itable/expect
@@ -13,7 +13,6 @@ Pass 5: Checking group summary information
test_filesys: 11/1248 files (0.0% non-contiguous), 1281/9985 blocks
Exit status is 0
dumpe2fs test.img
-
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem magic number: 0xEF53
@@ -312,7 +311,6 @@ Pass 5: Checking group summary information
test_filesys: 11/2496 files (0.0% non-contiguous), 1644/19969 blocks
Exit status is 0
dumpe2fs test.img
-
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem magic number: 0xEF53
@@ -847,7 +845,6 @@ Pass 5: Checking group summary information
test_filesys: 11/3744 files (0.0% non-contiguous), 2007/29953 blocks
Exit status is 0
dumpe2fs test.img
-
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem magic number: 0xEF53
@@ -1618,7 +1615,6 @@ Pass 5: Checking group summary information
test_filesys: 11/5024 files (0.0% non-contiguous), 2376/40000 blocks
Exit status is 0
dumpe2fs test.img
-
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem magic number: 0xEF53
diff --git a/tests/r_move_itable/script b/tests/r_move_itable/script
index 56a861b0..e5678882 100644
--- a/tests/r_move_itable/script
+++ b/tests/r_move_itable/script
@@ -3,7 +3,7 @@ if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then
FSCK_OPT=-yf
OUT=$test_name.log
if [ -f $test_dir/expect.gz ]; then
- EXP=tmp_expect
+ EXP=$test_name.tmp
gunzip < $test_dir/expect.gz > $EXP1
else
EXP=$test_dir/expect
@@ -14,18 +14,17 @@ cp /dev/null $OUT
dd if=/dev/zero of=$TMPFILE bs=1k count=512 > /dev/null 2>&1
echo mke2fs -q -F -o Linux -b 1024 -g 256 test.img 1024 > $OUT
-$MKE2FS -q -F -o Linux -b 1024 -g 256 $TMPFILE 1024 2>&1 \
- | sed -e '1d' | grep -v "automatically checked" |
- grep -v "whichever comes first" >> $OUT
+$MKE2FS -q -F -o Linux -b 1024 -g 256 $TMPFILE 1024 2>&1 |
+ sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" >> $OUT
echo resize2fs -p test.img 10000 >> $OUT
-$RESIZE2FS -p $TMPFILE 10000 2>&1 | sed -e '1d' | \
- sed -e "s;$TMPFILE;test.img;" >> $OUT
+$RESIZE2FS -p $TMPFILE 10000 2>&1 |
+ sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" >> $OUT
$FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1
status=$?
echo Exit status is $status >> $OUT.new
-sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT
+sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT.new >> $OUT
rm -f $OUT.new
$DEBUGFS -R "set_super_value lastcheck 0" -w $TMPFILE >/dev/null 2>&1
@@ -34,18 +33,18 @@ $DEBUGFS -R "set_super_value mkfs_time 0" -w $TMPFILE >/dev/null 2>&1
$TUNE2FS -c 20 -U clear $TMPFILE >/dev/null 2>&1
echo dumpe2fs test.img >> $OUT
-$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter_dumpe2fs >> $OUT
+$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter.sed >> $OUT
echo "--------------------------------" >> $OUT
echo resize2fs -p test.img 20000 >> $OUT
-$RESIZE2FS -p $TMPFILE 20000 2>&1 | sed -e '1d' | \
- sed -e "s;$TMPFILE;test.img;" >> $OUT
+$RESIZE2FS -p $TMPFILE 20000 2>&1 |
+ sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" >> $OUT
$FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1
status=$?
echo Exit status is $status >> $OUT.new
-sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT
+sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT.new >> $OUT
rm -f $OUT.new
$DEBUGFS -R "set_super_value lastcheck 0" -w $TMPFILE >/dev/null 2>&1
@@ -54,18 +53,18 @@ $DEBUGFS -R "set_super_value mkfs_time 0" -w $TMPFILE >/dev/null 2>&1
$TUNE2FS -c 20 -U clear $TMPFILE >/dev/null 2>&1
echo dumpe2fs test.img >> $OUT
-$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter_dumpe2fs >> $OUT
+$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter.sed >> $OUT
echo "--------------------------------" >> $OUT
echo resize2fs -p test.img 30000 >> $OUT
-$RESIZE2FS -p $TMPFILE 30000 2>&1 | sed -e '1d' | \
- sed -e "s;$TMPFILE;test.img;" >> $OUT
+$RESIZE2FS -p $TMPFILE 30000 2>&1 |
+ sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" >> $OUT
$FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1
status=$?
echo Exit status is $status >> $OUT.new
-sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT
+sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT.new >> $OUT
rm -f $OUT.new
$DEBUGFS -R "set_super_value lastcheck 0" -w $TMPFILE >/dev/null 2>&1
@@ -74,18 +73,18 @@ $DEBUGFS -R "set_super_value mkfs_time 0" -w $TMPFILE >/dev/null 2>&1
$TUNE2FS -c 20 -U clear $TMPFILE >/dev/null 2>&1
echo dumpe2fs test.img >> $OUT
-$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter_dumpe2fs >> $OUT
+$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter.sed >> $OUT
echo "--------------------------------" >> $OUT
echo resize2fs -p test.img 40000 >> $OUT
-$RESIZE2FS -p $TMPFILE 40000 2>&1 | sed -e '1d' | \
- sed -e "s;$TMPFILE;test.img;" >> $OUT
+$RESIZE2FS -p $TMPFILE 40000 2>&1 |
+ sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" >> $OUT
$FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1
status=$?
echo Exit status is $status >> $OUT.new
-sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT
+sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT.new >> $OUT
rm -f $OUT.new
$DEBUGFS -R "set_super_value lastcheck 0" -w $TMPFILE >/dev/null 2>&1
@@ -94,25 +93,24 @@ $DEBUGFS -R "set_super_value mkfs_time 0" -w $TMPFILE >/dev/null 2>&1
$TUNE2FS -c 20 -U clear $TMPFILE >/dev/null 2>&1
echo dumpe2fs test.img >> $OUT
-$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter_dumpe2fs >> $OUT
+$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter.sed >> $OUT
-rm -f $test_name.ok $test_name.failed $TMPFILE
+rm -f $TMPFILE
cmp -s $OUT $EXP
status=$?
if [ "$status" = 0 ] ; then
- echo "ok"
+ echo "$test_name: $test_description: ok"
touch $test_name.ok
else
- echo "failed"
+ echo "$test_name: $test_description: failed"
diff $DIFF_OPTS $EXP $OUT > $test_name.failed
- rm -f tmp_expect
+ rm -f $test_name.tmp
fi
unset IMAGE FSCK_OPT OUT EXP
else #if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then
- rm -f $test_name.ok $test_name.failed
- echo "skipped"
+ echo "$test_name: $test_description: skipped"
fi
diff --git a/tests/r_resize_inode/expect b/tests/r_resize_inode/expect
index f9f79c46..786fe133 100644
--- a/tests/r_resize_inode/expect
+++ b/tests/r_resize_inode/expect
@@ -11,7 +11,6 @@ Pass 5: Checking group summary information
test_filesys: 11/16384 files (0.0% non-contiguous), 4513/65536 blocks
Exit status is 0
dumpe2fs test.img
-
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem magic number: 0xEF53
@@ -459,7 +458,6 @@ Pass 5: Checking group summary information
test_filesys: 11/4096 files (0.0% non-contiguous), 2107/16384 blocks
Exit status is 0
dumpe2fs test.img
-
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem magic number: 0xEF53
@@ -614,7 +612,6 @@ Pass 5: Checking group summary information
test_filesys: 11/41472 files (0.0% non-contiguous), 8361/165536 blocks
Exit status is 0
dumpe2fs test.img
-
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem magic number: 0xEF53
diff --git a/tests/r_resize_inode/script b/tests/r_resize_inode/script
index c8db1279..0f121383 100644
--- a/tests/r_resize_inode/script
+++ b/tests/r_resize_inode/script
@@ -3,7 +3,7 @@ if test -x $RESIZE2FS_EXE; then
FSCK_OPT=-yf
OUT=$test_name.log
if [ -f $test_dir/expect.gz ]; then
- EXP=tmp_expect
+ EXP=$test_name.tmp
gunzip < $test_dir/expect.gz > $EXP1
else
EXP=$test_dir/expect
@@ -14,18 +14,17 @@ cp /dev/null $OUT
dd if=/dev/zero of=$TMPFILE bs=1k count=512 > /dev/null 2>&1
echo mke2fs -q -F -O resize_inode -o Linux -b 1024 -g 1024 test.img 16384 > $OUT
-$MKE2FS -q -F -O resize_inode -o Linux -b 1024 -g 1024 $TMPFILE 16384 2>&1 \
- | sed -e '1d' | grep -v "automatically checked" |
- grep -v "whichever comes first" >> $OUT
+$MKE2FS -q -F -O resize_inode -o Linux -b 1024 -g 1024 $TMPFILE 16384 2>&1 |
+ sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" >> $OUT
echo resize2fs test.img 65536 >> $OUT
-$RESIZE2FS $TMPFILE 65536 2>&1 | sed -e '1d' | \
- sed -e "s;$TMPFILE;test.img;" >> $OUT
+$RESIZE2FS $TMPFILE 65536 2>&1 |
+ sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" >> $OUT
$FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1
status=$?
echo Exit status is $status >> $OUT.new
-sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT
+sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT.new >> $OUT
rm -f $OUT.new
$DEBUGFS -R "set_super_value lastcheck 0" -w $TMPFILE >/dev/null 2>&1
@@ -34,25 +33,24 @@ $DEBUGFS -R "set_super_value mkfs_time 0" -w $TMPFILE >/dev/null 2>&1
$TUNE2FS -c 20 -U clear $TMPFILE >/dev/null 2>&1
echo dumpe2fs test.img >> $OUT
-$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter_dumpe2fs >> $OUT
+$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter.sed >> $OUT
echo "--------------------------------" >> $OUT
dd if=/dev/zero of=$TMPFILE bs=1k count=512 > /dev/null 2>&1
echo mke2fs -q -F -O resize_inode -o Linux -b 1024 -g 1024 test.img 65536 >> $OUT
-$MKE2FS -q -F -O resize_inode -o Linux -b 1024 -g 1024 $TMPFILE 65536 2>&1 \
- | sed -e '1d' | grep -v "automatically checked" |
- grep -v "whichever comes first" >> $OUT
+$MKE2FS -q -F -O resize_inode -o Linux -b 1024 -g 1024 $TMPFILE 65536 2>&1 |
+ sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" >> $OUT
echo resize2fs test.img 16384 >> $OUT
-$RESIZE2FS $TMPFILE 16384 2>&1 | sed -e '1d' | \
- sed -e "s;$TMPFILE;test.img;" >> $OUT
+$RESIZE2FS $TMPFILE 16384 2>&1 |
+ sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" >> $OUT
$FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1
status=$?
echo Exit status is $status >> $OUT.new
-sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT
+sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT.new >> $OUT
rm -f $OUT.new
$DEBUGFS -R "set_super_value lastcheck 0" -w $TMPFILE >/dev/null 2>&1
@@ -61,18 +59,18 @@ $DEBUGFS -R "set_super_value mkfs_time 0" -w $TMPFILE >/dev/null 2>&1
$TUNE2FS -c 20 -U clear $TMPFILE >/dev/null 2>&1
echo dumpe2fs test.img >> $OUT
-$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter_dumpe2fs >> $OUT
+$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter.sed >> $OUT
echo "--------------------------------" >> $OUT
echo resize2fs test.img 165536 >> $OUT
-$RESIZE2FS $TMPFILE 165536 2>&1 | sed -e '1d' | \
- sed -e "s;$TMPFILE;test.img;" >> $OUT
+$RESIZE2FS $TMPFILE 165536 2>&1 |
+ sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" >> $OUT
$FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1
status=$?
echo Exit status is $status >> $OUT.new
-sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT
+sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT.new >> $OUT
rm -f $OUT.new
$DEBUGFS -R "set_super_value lastcheck 0" -w $TMPFILE >/dev/null 2>&1
@@ -81,24 +79,23 @@ $DEBUGFS -R "set_super_value mkfs_time 0" -w $TMPFILE >/dev/null 2>&1
$TUNE2FS -c 20 -U clear $TMPFILE >/dev/null 2>&1
echo dumpe2fs test.img >> $OUT
-$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter_dumpe2fs >> $OUT
+$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter.sed >> $OUT
-rm -f $test_name.ok $test_name.failed $TMPFILE
+rm -f $TMPFILE
cmp -s $OUT $EXP
status=$?
if [ "$status" = 0 ] ; then
- echo "ok"
+ echo "$test_name: $test_description: ok"
touch $test_name.ok
else
- echo "failed"
+ echo "$test_name: $test_description: failed"
diff $DIFF_OPTS $EXP $OUT > $test_name.failed
- rm -f tmp_expect
+ rm -f $test_name.tmp
fi
unset IMAGE FSCK_OPT OUT EXP
else #if test -x $RESIZE2FS; then
- rm -f $test_name.ok $test_name.failed
- echo "skipped"
+ echo "$test_name: $test_description: skipped"
fi
diff --git a/tests/run_e2fsck b/tests/run_e2fsck
index 9202e121..5f28d921 100644
--- a/tests/run_e2fsck
+++ b/tests/run_e2fsck
@@ -1,5 +1,5 @@
if [ "$DESCRIPTION"x != x ]; then
- printf "%s" "$DESCRIPTION: "
+ test_description="$DESCRIPTION"
fi
if [ "$IMAGE"x = x ]; then
IMAGE=$test_dir/image.gz
@@ -23,7 +23,7 @@ fi
if [ "$EXP1"x = x ]; then
if [ -f $test_dir/expect.1.gz ]; then
- EXP1=tmp_expect
+ EXP1=$test_name.1.tmp
gunzip < $test_dir/expect.1.gz > $EXP1
else
EXP1=$test_dir/expect.1
@@ -32,7 +32,7 @@ fi
if [ "$EXP2"x = x ]; then
if [ -f $test_dir/expect.2.gz ]; then
- EXP2=tmp_expect
+ EXP2=$test_name.2.tmp
gunzip < $test_dir/expect.2.gz > $EXP2
else
EXP2=$test_dir/expect.2
@@ -50,25 +50,19 @@ eval $PREP_CMD
$FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT1.new 2>&1
status=$?
echo Exit status is $status >> $OUT1.new
-sed -e '1d' $OUT1.new | sed -e '/^JFS DEBUG:/d' | \
- sed -e "s;$TMPFILE;test.img;" | tr -d \\015 >> $OUT1
+sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT1.new >> $OUT1
rm -f $OUT1.new
if [ "$ONE_PASS_ONLY" != "true" ]; then
$FSCK $SECOND_FSCK_OPT -N test_filesys $TMPFILE > $OUT2.new 2>&1
status=$?
echo Exit status is $status >> $OUT2.new
- sed -e '1d' $OUT2.new | sed -e '/^JFS DEBUG:/d' | \
- sed -e "s;$TMPFILE;test.img;" > $OUT2
+ sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT2.new > $OUT2
rm -f $OUT2.new
fi
eval $AFTER_CMD
-if [ "$SKIP_UNLINK" != "true" ] ; then
- rm $TMPFILE
-fi
-
if [ "$SKIP_VERIFY" != "true" ] ; then
rm -f $test_name.ok $test_name.failed
cmp -s $OUT1 $EXP1
@@ -79,13 +73,30 @@ if [ "$SKIP_VERIFY" != "true" ] ; then
else
status2=0
fi
+ if [ "$PASS_ZERO" = "true" ]; then
+ cmp -s $test_name.0.log $test_dir/expect.0
+ status3=$?
+ else
+ status3=0
+ fi
- if [ "$status1" = 0 -a "$status2" = 0 ] ; then
- echo "ok"
+ if [ -z "$test_description" ] ; then
+ description="$test_name"
+ else
+ description="$test_name: $test_description"
+ fi
+
+ if [ "$status1" -eq 0 -a "$status2" -eq 0 -a "$status3" -eq 0 ] ; then
+ echo "$description: ok"
touch $test_name.ok
else
- echo "failed"
- diff $DIFF_OPTS $EXP1 $OUT1 > $test_name.failed
+ echo "$description: failed"
+ rm -f $test_name.failed
+ if [ "$PASS_ZERO" = "true" ]; then
+ diff $DIFF_OPTS $test_dir/expect.0 \
+ $test_name.0.log >> $test_name.failed
+ fi
+ diff $DIFF_OPTS $EXP1 $OUT1 >> $test_name.failed
if [ "$ONE_PASS_ONLY" != "true" ]; then
diff $DIFF_OPTS $EXP2 $OUT2 >> $test_name.failed
fi
@@ -96,6 +107,6 @@ fi
if [ "$SKIP_CLEANUP" != "true" ] ; then
unset IMAGE FSCK_OPT SECOND_FSCK_OPT OUT1 OUT2 EXP1 EXP2
unset SKIP_VERIFY SKIP_CLEANUP SKIP_GUNZIP ONE_PASS_ONLY PREP_CMD
- unset DESCRIPTION SKIP_UNLINK AFTER_CMD
+ unset DESCRIPTION SKIP_UNLINK AFTER_CMD PASS_ZERO
fi
diff --git a/tests/run_mke2fs b/tests/run_mke2fs
index f5249968..82eca41a 100644
--- a/tests/run_mke2fs
+++ b/tests/run_mke2fs
@@ -11,8 +11,11 @@ MKE2FS_SKIP_PROGRESS=true
MKE2FS_SKIP_CHECK_MSG=true
export MKE2FS_SKIP_PROGRESS MKE2FS_SKIP_CHECK_MSG
> $TMPFILE
-PREP_CMD='$MKE2FS -F -o Linux $MKE2FS_OPTS $TMPFILE $FS_SIZE 2>&1 | sed -e 1d | grep -v "Discarding device blocks" | tr -d \\015 > $OUT1 ; $DEBUGFS -R features $TMPFILE 2>&1 | sed -e 1d | tr -d \\015 >> $OUT1 ; echo " " >> $OUT1'
-AFTER_CMD='$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter_dumpe2fs | tr -d \\015 >> $OUT1'
+PREP_CMD='$MKE2FS -F -o Linux $MKE2FS_OPTS $TMPFILE $FS_SIZE 2>&1 |
+ sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" > $OUT1;
+ $DEBUGFS -R features $TMPFILE 2>&1 |
+ sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" >> $OUT1'
+AFTER_CMD='$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter.sed >> $OUT1'
. $cmd_dir/run_e2fsck
else #if test -x $DEBUGFS_EXE; then
diff --git a/tests/scripts/resize_test b/tests/scripts/resize_test
new file mode 100755
index 00000000..c9a7a1c9
--- /dev/null
+++ b/tests/scripts/resize_test
@@ -0,0 +1,172 @@
+#!/bin/sh
+
+# old distros are missing "truncate", emulate it with "dd"
+truncate()
+{
+ [ "$1" = "-s" ] && size=$2 && shift 2
+
+ dd if=/dev/zero of=$1 bs=1 count=0 seek=$size >> $LOG 2>&1
+}
+
+resize_test () {
+DBG_FLAGS=63
+
+echo $test_description starting > $LOG
+rm -f $TMPFILE
+touch $TMPFILE
+
+# Verify that the $TMP filesystem handles $SIZE_2 sparse files.
+# If that fails, try the local filesystem instead.
+if truncate -s $SIZE_2 $TMPFILE 2> /dev/null; then
+ echo "using $TMPFILE" >> $LOG
+else
+ rm $TMPFILE
+ export TMPFILE=$(TMPDIR=. mktemp -t $test_name.XXXXXX.tmp)
+ touch $TMPFILE
+ echo "using $TMPFILE" >> $LOG
+ if ! truncate -s $SIZE_2 $TMPFILE >> $LOG 2>&1; then
+ rm $TMPFILE
+ return 111
+ fi
+fi
+> $TMPFILE
+
+echo $MKE2FS $FEATURES -qF $TMPFILE $SIZE_1 >> $LOG
+$MKE2FS $FEATURES -qF $TMPFILE $SIZE_1 >> $LOG
+
+OUT_TMP=$(mktemp -t csum-tmp.XXXXXX)
+
+date > $OUT_TMP
+cat $E2FSCK >> $OUT_TMP
+echo $CRCSUM $OUT_TMP >> $LOG 2>&1
+CSUM_1=$($CRCSUM $OUT_TMP)
+echo Checksum is $CSUM_1 >> $LOG
+
+echo Setting up file system >> $LOG
+$DEBUGFS -w $TMPFILE >> $LOG 2>&1 << EOF
+mkdir test
+cd test
+write $OUT_TMP e2fsck
+ls /test
+stat /test/e2fsck
+quit
+EOF
+echo " " >> $LOG
+
+rm -f $OUT_TMP
+
+echo $FSCK -fy $TMPFILE >> $LOG 2>&1
+$FSCK -fy $TMPFILE >> $LOG 2>&1
+
+echo $RESIZE2FS $RESIZE2FS_OPTS -d $DBG_FLAGS $TMPFILE $SIZE_2 >> $LOG 2>&1
+if ! $RESIZE2FS $RESIZE2FS_OPTS -d $DBG_FLAGS $TMPFILE $SIZE_2 >> $LOG 2>&1
+then
+ return 1
+fi
+
+echo $FSCK -fp $TMPFILE >> $LOG 2>&1
+if ! $FSCK -fp $TMPFILE >> $LOG 2>&1
+then
+ dumpe2fs $TMPFILE >> $LOG
+ return 1
+fi
+
+echo $DEBUGFS -R "dump /test/e2fsck $OUT_TMP" $TMPFILE >> $LOG 2>&1
+$DEBUGFS -R "dump /test/e2fsck $OUT_TMP" $TMPFILE >> $LOG 2>&1
+
+echo $CRCSUM $OUT_TMP >> $LOG 2>&1
+CSUM_2=$($CRCSUM $OUT_TMP)
+echo Checksum is $CSUM_2 >> $LOG
+
+if test "$CSUM_1" != "$CSUM_2"
+then
+ return 1
+fi
+
+# Uncomment to grab extra debugging image
+#
+#mv $TMPFILE /tmp/foo.img
+#return 0
+
+echo $RESIZE2FS $RESIZE2FS_OPTS -d $DBG_FLAGS -M $TMPFILE $SIZE_2 >> $LOG 2>&1
+if ! $RESIZE2FS $RESIZE2FS_OPTS -d $DBG_FLAGS -M $TMPFILE $SIZE_2 >> $LOG 2>&1
+then
+ return 1
+fi
+
+echo $FSCK -fp $TMPFILE >> $LOG 2>&1
+if ! $FSCK -fp $TMPFILE >> $LOG 2>&1
+then
+ dumpe2fs $TMPFILE >> $LOG
+ return 1
+fi
+
+echo $DEBUGFS -R "dump /test/e2fsck $OUT_TMP" $TMPFILE >> $LOG 2>&1
+$DEBUGFS -R "dump /test/e2fsck $OUT_TMP" $TMPFILE >> $LOG 2>&1
+
+echo $CRCSUM $OUT_TMP >> $LOG 2>&1
+CSUM_2=$($CRCSUM $OUT_TMP)
+echo Checksum is $CSUM_2 >> $LOG
+
+if test "$CSUM_1" != "$CSUM_2"
+then
+ return 1
+fi
+
+echo $RESIZE2FS $RESIZE2FS_OPTS -d $DBG_FLAGS -M $TMPFILE $SIZE_2 >> $LOG 2>&1
+if ! $RESIZE2FS $RESIZE2FS_OPTS -d $DBG_FLAGS -M $TMPFILE $SIZE_2 >> $LOG 2>&1
+then
+ return 1
+fi
+
+echo $FSCK -fp $TMPFILE >> $LOG 2>&1
+if ! $FSCK -fp $TMPFILE >> $LOG 2>&1
+then
+ dumpe2fs $TMPFILE >> $LOG
+ return 1
+fi
+
+echo $DEBUGFS -R "dump /test/e2fsck $OUT_TMP" $TMPFILE >> $LOG 2>&1
+$DEBUGFS -R "dump /test/e2fsck $OUT_TMP" $TMPFILE >> $LOG 2>&1
+
+echo $CRCSUM $OUT_TMP >> $LOG 2>&1
+CSUM_2=$($CRCSUM $OUT_TMP)
+echo Checksum is $CSUM_2 >> $LOG
+
+if test "$CSUM_1" != "$CSUM_2"
+then
+ return 1
+fi
+
+echo $RESIZE2FS $RESIZE2FS_OPTS -d $DBG_FLAGS -M $TMPFILE $SIZE_2 >> $LOG 2>&1
+if ! $RESIZE2FS $RESIZE2FS_OPTS -d $DBG_FLAGS -M $TMPFILE $SIZE_2 >> $LOG 2>&1
+then
+ return 1
+fi
+
+echo $FSCK -fp $TMPFILE >> $LOG 2>&1
+if ! $FSCK -fp $TMPFILE >> $LOG 2>&1
+then
+ dumpe2fs $TMPFILE >> $LOG
+ return 1
+fi
+
+echo $DEBUGFS -R "dump /test/e2fsck $OUT_TMP" $TMPFILE >> $LOG 2>&1
+$DEBUGFS -R "dump /test/e2fsck $OUT_TMP" $TMPFILE >> $LOG 2>&1
+
+echo $CRCSUM $OUT_TMP >> $LOG 2>&1
+CSUM_2=$($CRCSUM $OUT_TMP)
+echo Checksum is $CSUM_2 >> $LOG
+
+rm $OUT_TMP
+unset OUT_TMP
+
+if test "$CSUM_1" != "$CSUM_2"
+then
+ return 1
+fi
+
+rm $TMPFILE
+return 0
+
+}
diff --git a/tests/t_ext_jnl_rm/script b/tests/t_ext_jnl_rm/script
index d7217b6e..b2af80cf 100644
--- a/tests/t_ext_jnl_rm/script
+++ b/tests/t_ext_jnl_rm/script
@@ -1,4 +1,4 @@
-printf "remove missing external journal device: "
+test_description="remove missing external journal device"
OUT=$test_name.log
dd if=/dev/zero of=$TMPFILE bs=1k count=512 > /dev/null 2>&1
@@ -17,12 +17,10 @@ echo "tune2fs -f -O ^has_journal $TMPFILE" >> $OUT
$TUNE2FS -f -O ^has_journal $TMPFILE >> $OUT 2>&1
$DUMPE2FS -h $TMPFILE >> $OUT 2>&1
if [ "$(grep 'Journal UUID:' $OUT)" ]; then
- rm -f $test_name.ok
mv $test_name.log $test_name.failed
- echo "failed"
+ echo "$test_name: $test_description: failed"
else
- echo "ok"
+ echo "$test_name: $test_description: ok"
mv $test_name.log $test_name.ok
- rm -f $test_name.failed
fi
rm -f $TMPFILE
diff --git a/tests/t_mmp_1on/script b/tests/t_mmp_1on/script
index 3b0a3766..8fc8158f 100644
--- a/tests/t_mmp_1on/script
+++ b/tests/t_mmp_1on/script
@@ -1,13 +1,12 @@
FSCK_OPT=-yf
-TMPFILE=test.img
-rm -f $test_name.failed $test_name.ok
+TMPFILE=$test_name.tmp
> $TMPFILE
stat -f $TMPFILE | grep -q "Type: tmpfs"
-if [ $? == 0 ] ; then
+if [ $? = 0 ] ; then
rm -f $TMPFILE
- echo "skipped for tmpfs (no O_DIRECT support)"
+ echo "$test_name: $test_description: skipped for tmpfs (no O_DIRECT)"
return 0
fi
@@ -15,7 +14,7 @@ $MKE2FS -q -F -o Linux -b 4096 $TMPFILE 100 > $test_name.log 2>&1
status=$?
if [ "$status" != 0 ] ; then
echo "mke2fs failed" > $test_name.failed
- echo "failed"
+ echo "$test_name: $test_description: failed"
return $status
fi
@@ -23,18 +22,18 @@ $TUNE2FS -O mmp -E mmp_update_interval=1 $TMPFILE >> $test_name.log 2>&1
status=$?
if [ "$status" != 0 ] ; then
echo "tune2fs -O mmp failed with $status" > $test_name.failed
- echo "failed"
+ echo "$test_name: $test_description: failed"
return $status
fi
$FSCK $FSCK_OPT $TMPFILE >> $test_name.log 2>&1
status=$?
if [ "$status" = 0 ] ; then
- echo "ok"
+ echo "$test_name: $test_description: ok"
touch $test_name.ok
else
echo "e2fsck with MMP enabled failed with $status" > $test_name.failed
- echo "failed"
+ echo "$test_name: $test_description: failed"
return $status
fi
rm -f $TMPFILE
diff --git a/tests/t_mmp_2off/script b/tests/t_mmp_2off/script
index 56c6beda..1dee14ed 100644
--- a/tests/t_mmp_2off/script
+++ b/tests/t_mmp_2off/script
@@ -1,13 +1,12 @@
FSCK_OPT=-yf
-TMPFILE=test.img
-rm -f $test_name.failed $test_name.ok
+TMPFILE=$test_name.tmp
> $TMPFILE
stat -f $TMPFILE | grep -q "Type: tmpfs"
-if [ $? == 0 ]; then
+if [ $? = 0 ]; then
rm -f $TMPFILE
- echo "skipped for tmpfs (no O_DIRECT support)"
+ echo "$test_name: $test_description: skipped for tmpfs (no O_DIRECT)"
return 0
fi
@@ -15,7 +14,7 @@ $MKE2FS -q -F -o Linux -b 4096 -O mmp $TMPFILE 100 > $test_name.log 2>&1
status=$?
if [ "$status" != 0 ] ; then
echo "mke2fs -O mmp failed" > $test_name.failed
- echo "failed"
+ echo "$test_name: $test_description: failed"
return $status
fi
@@ -23,18 +22,18 @@ $TUNE2FS -O ^mmp $TMPFILE > $test_name.log 2>&1
status=$?
if [ "$status" != 0 ] ; then
echo "tune2fs -O ^mmp failed" > $test_name.failed
- echo "failed"
+ echo "$test_name: $test_description: failed"
return $status
fi
$FSCK $FSCK_OPT $TMPFILE > $test_name.log 2>&1
status=$?
if [ "$status" = 0 ] ; then
- echo "ok"
+ echo "$test_name: $test_description: ok"
touch $test_name.ok
else
echo "e2fsck after MMP disable failed" > $test_name.failed
- echo "failed"
+ echo "$test_name: $test_description: failed"
return $status
fi
rm -f $TMPFILE
diff --git a/tests/t_quota_1on/name b/tests/t_quota_1on/name
new file mode 100644
index 00000000..f92e2d58
--- /dev/null
+++ b/tests/t_quota_1on/name
@@ -0,0 +1 @@
+enable quota using tune2fs
diff --git a/tests/t_quota_1on/script b/tests/t_quota_1on/script
new file mode 100644
index 00000000..ed17f337
--- /dev/null
+++ b/tests/t_quota_1on/script
@@ -0,0 +1,42 @@
+FSCK_OPT=-yf
+
+if [ "$QUOTA" != "y" ]; then
+ echo "$test_name: $test_description: skipped"
+ return 0
+fi
+
+$MKE2FS -q -F -o Linux -b 4096 $TMPFILE 10000 > $test_name.log 2>&1
+status=$?
+if [ "$status" != 0 ] ; then
+ echo "mke2fs failed" > $test_name.failed
+ echo "$test_name: $test_description: failed"
+ return $status
+fi
+
+dd if=/dev/zero of=$TMPFILE.2 bs=1048576 count=1 >> $test_name.log 2>&1
+cat <<- EOF | $DEBUGFS -w -f /dev/stdin $TMPFILE >> $test_name.log 2>&1
+ write $TMPFILE.2 file1
+ set_inode_field file1 uid 500
+ set_inode_field file1 gid 500
+EOF
+rm -f $TMPFILE.2
+
+$TUNE2FS -O quota $TMPFILE >> $test_name.log 2>&1
+status=$?
+if [ "$status" != 0 ] ; then
+ echo "tune2fs -O quota failed with $status" > $test_name.failed
+ echo "$test_name: $test_description: failed"
+ return $status
+fi
+
+$FSCK $FSCK_OPT $TMPFILE >> $test_name.log 2>&1
+status=$?
+if [ "$status" = 0 ] ; then
+ echo "$test_name: $test_description: ok"
+ touch $test_name.ok
+else
+ echo "e2fsck with quota enabled failed with $status" > $test_name.failed
+ echo "$test_name: $test_description: failed"
+ return $status
+fi
+rm -f $TMPFILE
diff --git a/tests/t_quota_2off/name b/tests/t_quota_2off/name
new file mode 100644
index 00000000..bb0ec98f
--- /dev/null
+++ b/tests/t_quota_2off/name
@@ -0,0 +1 @@
+disable quota using tune2fs
diff --git a/tests/t_quota_2off/script b/tests/t_quota_2off/script
new file mode 100644
index 00000000..b170c59c
--- /dev/null
+++ b/tests/t_quota_2off/script
@@ -0,0 +1,35 @@
+FSCK_OPT=-yf
+
+if [ "$QUOTA" != "y" ]; then
+ echo "$test_name: $test_description: skipped"
+ return 0
+fi
+
+$MKE2FS -q -F -o Linux -b 4096 -O quota $TMPFILE 100 > $test_name.log 2>&1
+status=$?
+if [ "$status" != 0 ] ; then
+ echo "mke2fs -O quota failed" > $test_name.failed
+ echo "$test_name: $test_description: failed"
+ return $status
+fi
+
+$TUNE2FS -O ^quota $TMPFILE >> $test_name.log 2>&1
+status=$?
+if [ "$status" != 0 ] ; then
+ echo "tune2fs -O ^quota failed" > $test_name.failed
+ echo "$test_name: $test_description: failed"
+ return $status
+fi
+
+$FSCK $FSCK_OPT $TMPFILE >> $test_name.log 2>&1
+status=$?
+if [ "$status" = 0 ] ; then
+ echo "$test_name: $test_description: ok"
+ touch $test_name.ok
+else
+ echo "e2fsck with quota enabled failed with $status" > $test_name.failed
+ echo "$test_name: $test_description: failed"
+ return $status
+fi
+
+rm -f $TMPFILE
diff --git a/tests/test_config b/tests/test_config
index 7c597664..67896562 100644
--- a/tests/test_config
+++ b/tests/test_config
@@ -19,6 +19,7 @@ RESIZE2FS="$USE_VALGRIND $RESIZE2FS_EXE"
E2UNDO_EXE="../misc/e2undo"
TEST_REL=../tests/progs/test_rel
TEST_ICOUNT=../tests/progs/test_icount
+CRCSUM=../tests/progs/crcsum
LD_LIBRARY_PATH=../lib:../lib/ext2fs:../lib/e2p:../lib/et:../lib/ss
DYLD_LIBRARY_PATH=../lib:../lib/ext2fs:../lib/e2p:../lib/et:../lib/ss
export LD_LIBRARY_PATH
@@ -31,4 +32,7 @@ E2FSCK_CONFIG=/dev/null
export E2FSCK_CONFIG
MKE2FS_CONFIG=./mke2fs.conf
export MKE2FS_CONFIG
-
+E2FSPROGS_SKIP_PROGRESS=yes
+export E2FSPROGS_SKIP_PROGRESS
+EXT2FS_NO_MTAB_OK=yes
+export EXT2FS_NO_MTAB_OK
diff --git a/tests/test_one.in b/tests/test_one.in
new file mode 100644
index 00000000..d053fd71
--- /dev/null
+++ b/tests/test_one.in
@@ -0,0 +1,69 @@
+#!/bin/sh
+# run a single regression test
+
+LC_ALL=C
+export LC_ALL
+
+case "$1" in
+ --valgrind)
+ export USE_VALGRIND="valgrind -q --sim-hints=lax-ioctls"
+ shift;
+ ;;
+ --valgrind-leakcheck)
+ export USE_VALGRIND="valgrind --sim-hints=lax-ioctls --leak-check=full --show-reachable=yes --log-file=/tmp/valgrind-%p.log"
+ shift;
+ ;;
+esac
+
+case "$1" in
+ *.failed|*.new|*.ok|*.log|*.tmp) exit 0 ;;
+esac
+
+test_dir=$1
+cmd_dir=$SRCDIR
+
+if test "$TEST_CONFIG"x = x; then
+ TEST_CONFIG=$SRCDIR/test_config
+fi
+
+. $TEST_CONFIG
+
+TMPFILE=$(mktemp -t e2fsprogs-tmp.XXXXXX)
+
+test_name=`echo $test_dir | sed -e 's;.*/;;'`
+if [ -f $test_dir ] ; then
+ exit 0;
+fi
+if [ ! -d $test_dir ] ; then
+ echo "The test '$test_name' does not exist."
+ exit 0;
+fi
+if [ -z "`ls $test_dir`" ]; then
+ exit 0
+fi
+if [ -f $test_dir/name ]; then
+ test_description=`cat $test_dir/name`
+else
+ test_description=
+fi
+
+rm -f $test_name.ok $test_name.failed
+#echo -e -n "$test_name: $test_description:\r"
+
+if [ -f $test_dir/script ]; then
+ . $test_dir/script
+else
+ test_base=`echo $test_name | sed -e 's/_.*//'`
+ default_script=$SRCDIR/defaults/${test_base}_script
+ if [ -f $default_script ]; then
+ . $SRCDIR/defaults/${test_base}_script
+ else
+ echo "$test_name: Missing test script $default_script!"
+ fi
+ [ -f $test_name.failed ] && cat $test_name.failed
+fi
+
+if [ "$SKIP_UNLINK" != "true" ] ; then
+ rm -f $TMPFILE
+fi
+
diff --git a/tests/test_post b/tests/test_post
new file mode 100755
index 00000000..12512663
--- /dev/null
+++ b/tests/test_post
@@ -0,0 +1,17 @@
+#!/bin/sh
+# report stats about test scripts that were run
+
+num_ok=`ls *.ok 2>/dev/null | wc -l`
+num_failed=`ls *.failed 2>/dev/null | wc -l`
+
+echo "$num_ok tests succeeded $num_failed tests failed"
+
+test "$num_failed" -eq 0 && exit 0
+
+echo -n "Tests failed: "
+for fname in $(ls *.failed); do
+ echo -n "${fname%%.failed} "
+done
+echo ""
+
+exit 1
diff --git a/tests/test_script.in b/tests/test_script.in
index b7ac86e3..41ad104b 100644
--- a/tests/test_script.in
+++ b/tests/test_script.in
@@ -1,12 +1,8 @@
#!/bin/sh
+# Run all or specified test scripts
#
-# Test script for e2fsck
-#
-
-LC_ALL=C
-export LC_ALL
-case "$1" in
+case "$1" in
--valgrind)
export USE_VALGRIND="valgrind -q --sim-hints=lax-ioctls"
shift;
@@ -18,72 +14,19 @@ case "$1" in
esac
if test "$1"x = x ; then
- TESTS=`ls -d $SRCDIR/[a-zA-Z]_* | $EGREP -v "\.failed|\.new"`
+ TESTS=`ls -d $SRCDIR/[a-zA-Z]_*`
else
TESTS=
- for i
- do
+ for i; do
case $i in
- *.failed|*.new) continue ;;
[a-zA-Z]) TESTS="$TESTS $SRCDIR/${i}_*" ;;
*) TESTS="$TESTS $SRCDIR/$i" ;;
esac
done
fi
-cmd_dir=$SRCDIR
-
-if test "$TEST_CONFIG"x = x; then
- TEST_CONFIG=$SRCDIR/test_config
-fi
-
-. $TEST_CONFIG
-
-TMPFILE=$(mktemp)
-
-for test_dir in $TESTS
-do
- test_name=`echo $test_dir | sed -e 's;.*/;;'`
- if [ -f $test_dir ] ; then
- continue;
- fi
- if [ ! -d $test_dir ] ; then
- echo "The test '$test_name' does not exist."
- continue;
- fi
- if [ -z "`ls $test_dir`" ]; then
- continue
- fi
- if [ -f $test_dir/name ]; then
- test_description=`cat $test_dir/name`
- printf "%s: %s: " "$test_name" "$test_description"
- else
- printf "%s: " "$test_name"
- fi
- if [ -f $test_dir/script ]; then
- . $test_dir/script
- else
- test_base=`echo $test_name | sed -e 's/_.*//'`
- default_script=$SRCDIR/defaults/${test_base}_script
- if [ -f $default_script ]; then
- . $SRCDIR/defaults/${test_base}_script
- else
- echo "Missing test script!"
- fi
- fi
-done
-
-num_ok=`ls *.ok 2>/dev/null | wc -l`
-num_failed=`ls *.failed 2>/dev/null | wc -l`
-
-echo "$num_ok tests succeeded $num_failed tests failed"
-
-test "$num_failed" -eq 0 && exit 0
-
-echo -n "Tests failed: "
-for fname in $(ls *.failed); do
- echo -n "${fname%%.failed} "
+for test_dir in $TESTS; do
+ ./test_one $test_dir
done
-echo ""
-exit 1
+$SRCDIR/test_post
diff --git a/tests/u_mke2fs/script b/tests/u_mke2fs/script
index ef98899e..fcf5eae9 100644
--- a/tests/u_mke2fs/script
+++ b/tests/u_mke2fs/script
@@ -1,4 +1,4 @@
-printf "e2undo with mke2fs: "
+test_description="e2undo with mke2fs"
if test -x $E2UNDO_EXE; then
E2FSPROGS_UNDO_DIR=/tmp
@@ -24,13 +24,11 @@ new_md5=`md5sum $TMPFILE | cut -d " " -f 1`
echo md5sum after e2undo $new_md5 >> $OUT
if [ $md5 = $new_md5 ]; then
- echo "ok"
+ echo "$test_name: $test_description: ok"
touch $test_name.ok
- rm -f $test_name.failed
else
- rm -f $test_name.ok
ln -f $test_name.log $test_name.failed
- echo "failed"
+ echo "$test_name: $test_description: failed"
fi
rm -f $TDB_FILE $TMPFILE
fi
diff --git a/tests/u_tune2fs/script b/tests/u_tune2fs/script
index 222b95f3..4cc1e0c0 100644
--- a/tests/u_tune2fs/script
+++ b/tests/u_tune2fs/script
@@ -1,4 +1,4 @@
-printf "e2undo with tune2fs: "
+test_description="e2undo with tune2fs"
if test -x $E2UNDO_EXE; then
E2FSPROGS_UNDO_DIR=/tmp
@@ -24,13 +24,11 @@ new_md5=`md5sum $TMPFILE | cut -d " " -f 1`
echo md5sum after e2undo $new_md5 >> $OUT
if [ $md5 = $new_md5 ]; then
- echo "ok"
+ echo "$test_name: $test_description: ok"
touch $test_name.ok
- rm -f $test_name.failed
else
- rm -f $test_name.ok
ln -f $test_name.log $test_name.failed
- echo "failed"
+ echo "$test_name: $test_description: failed"
fi
rm -f $TDB_FILE $TMPFILE
fi