diff options
author | Richard Maw <richard.maw@codethink.co.uk> | 2014-06-12 12:07:34 +0100 |
---|---|---|
committer | Richard Maw <richard.maw@codethink.co.uk> | 2014-06-12 12:07:34 +0100 |
commit | 485edc675200ff3097cec521c357441a1c2d9b0d (patch) | |
tree | 7edee2fc5e1fb60caa90f3bb26b1becde9691b99 /tests | |
parent | 1ab0ea88057e922a89c6b8feebeb62c57e40f8de (diff) | |
parent | 5f4b406b03dc9fa27c78184df5b1d501e373ca01 (diff) | |
download | e2fsprogs-485edc675200ff3097cec521c357441a1c2d9b0d.tar.gz |
Merge 'baserock/richardmaw/yakshave/util-linux-blkid' into baserock/morphbaserock/morph
Reviewed-by: Lars Wirzenius
Reviewed-by: Sam Thursfield
Diffstat (limited to 'tests')
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 Binary files differnew file mode 100644 index 00000000..eda0cabc --- /dev/null +++ b/tests/f_desc_size_128/image.gz 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 Binary files differnew file mode 100644 index 00000000..2586a6a7 --- /dev/null +++ b/tests/f_eofblocks/image.gz 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 Binary files differnew file mode 100644 index 00000000..0ed71286 --- /dev/null +++ b/tests/f_extent_interior_start_lblk/image.gz 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 Binary files differnew file mode 100644 index 00000000..d4a6eef7 --- /dev/null +++ b/tests/f_invalid_extent_symlink/image.gz 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 Binary files differnew file mode 100644 index 00000000..b3081023 --- /dev/null +++ b/tests/f_jnl_32bit/image.gz 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 Binary files differnew file mode 100644 index 00000000..9758f903 --- /dev/null +++ b/tests/f_jnl_64bit/image.gz 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 Binary files differnew file mode 100644 index 00000000..c55c775d --- /dev/null +++ b/tests/f_jnl_errno/image.gz 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 Binary files differnew file mode 100644 index 00000000..6c57fef5 --- /dev/null +++ b/tests/f_orphan_extents_inode/image.gz 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 Binary files differnew file mode 100644 index 00000000..54b39094 --- /dev/null +++ b/tests/f_orphan_indirect_inode/image.gz 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 Binary files differnew file mode 100644 index 00000000..9cea6556 --- /dev/null +++ b/tests/f_quota/image.gz 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 Binary files differnew file mode 100644 index 00000000..622f65a0 --- /dev/null +++ b/tests/f_toobig_extent_dir/image.gz 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 Binary files differnew file mode 100644 index 00000000..0b691580 --- /dev/null +++ b/tests/f_uninit_ext_past_eof/image.gz 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 Binary files differnew file mode 100644 index 00000000..c739e499 --- /dev/null +++ b/tests/f_uninit_ext_past_eof2/image.gz 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 Binary files differnew file mode 100644 index 00000000..40055520 --- /dev/null +++ b/tests/f_zero_xattr/image.gz 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 Binary files differnew file mode 100644 index 00000000..7c40c566 --- /dev/null +++ b/tests/r_min_itable/image.gz 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 |