diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 15:49:25 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 15:49:25 +0000 |
commit | 464df1d5e5ab1322e2dd0a7796939fff1aeefa9a (patch) | |
tree | 6a403684e0978f0287d7f0ec0e5aab1fd31a59e1 /tests/f_dup | |
parent | Initial commit. (diff) | |
download | e2fsprogs-upstream.tar.xz e2fsprogs-upstream.zip |
Adding upstream version 1.47.0.upstream/1.47.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
51 files changed, 777 insertions, 0 deletions
diff --git a/tests/f_dup/expect.1 b/tests/f_dup/expect.1 new file mode 100644 index 0000000..635a0df --- /dev/null +++ b/tests/f_dup/expect.1 @@ -0,0 +1,40 @@ +Filesystem did not have a UUID; generating one. + +Pass 1: Checking inodes, blocks, and sizes + +Running additional passes to resolve blocks claimed by more than one inode... +Pass 1B: Rescanning for multiply-claimed blocks +Multiply-claimed block(s) in inode 12: 25--26 +Multiply-claimed block(s) in inode 13: 25--26 +Pass 1C: Scanning directories for inodes with multiply-claimed blocks +Pass 1D: Reconciling multiply-claimed blocks +(There are 2 inodes containing multiply-claimed blocks.) + +File /termcap (inode #12, mod time Tue Sep 21 03:19:14 1993) + has 2 multiply-claimed block(s), shared with 1 file(s): + /motd (inode #13, mod time Tue Sep 21 03:19:20 1993) +Clone multiply-claimed blocks? yes + +File /motd (inode #13, mod time Tue Sep 21 03:19:20 1993) + has 2 multiply-claimed block(s), shared with 1 file(s): + /termcap (inode #12, mod time Tue Sep 21 03:19:14 1993) +Multiply-claimed blocks already reassigned or cloned. + +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 for group #0 (44, counted=60). +Fix? yes + +Free blocks count wrong (62, counted=60). +Fix? yes + +Padding at end of inode bitmap is not set. Fix? yes + +Padding at end of block bitmap is not set. Fix? yes + + +test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** +test_filesys: 13/16 files (7.7% non-contiguous), 40/100 blocks +Exit status is 1 diff --git a/tests/f_dup/expect.2 b/tests/f_dup/expect.2 new file mode 100644 index 0000000..1aeb159 --- /dev/null +++ b/tests/f_dup/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: 13/16 files (15.4% non-contiguous), 40/100 blocks +Exit status is 0 diff --git a/tests/f_dup/image.gz b/tests/f_dup/image.gz Binary files differnew file mode 100644 index 0000000..3e04690 --- /dev/null +++ b/tests/f_dup/image.gz diff --git a/tests/f_dup/name b/tests/f_dup/name new file mode 100644 index 0000000..6296b83 --- /dev/null +++ b/tests/f_dup/name @@ -0,0 +1 @@ +blocks claimed by two different files diff --git a/tests/f_dup2/expect.1 b/tests/f_dup2/expect.1 new file mode 100644 index 0000000..04d7304 --- /dev/null +++ b/tests/f_dup2/expect.1 @@ -0,0 +1,47 @@ +Filesystem did not have a UUID; generating one. + +Pass 1: Checking inodes, blocks, and sizes + +Running additional passes to resolve blocks claimed by more than one inode... +Pass 1B: Rescanning for multiply-claimed blocks +Multiply-claimed block(s) in inode 12: 25--26 +Multiply-claimed block(s) in inode 13: 25--26 57--58 +Multiply-claimed block(s) in inode 14: 57--58 +Pass 1C: Scanning directories for inodes with multiply-claimed blocks +Pass 1D: Reconciling multiply-claimed blocks +(There are 3 inodes containing multiply-claimed blocks.) + +File /termcap (inode #12, mod time Tue Sep 21 03:19:14 1993) + has 2 multiply-claimed block(s), shared with 1 file(s): + /motd (inode #13, mod time Tue Sep 21 03:19:20 1993) +Clone multiply-claimed blocks? yes + +File /motd (inode #13, mod time Tue Sep 21 03:19:20 1993) + has 4 multiply-claimed block(s), shared with 2 file(s): + /pass1.c (inode #14, mod time Tue Sep 21 04:28:37 1993) + /termcap (inode #12, mod time Tue Sep 21 03:19:14 1993) +Clone multiply-claimed blocks? yes + +File /pass1.c (inode #14, mod time Tue Sep 21 04:28:37 1993) + has 2 multiply-claimed block(s), shared with 1 file(s): + /motd (inode #13, mod time Tue Sep 21 03:19:20 1993) +Multiply-claimed blocks already reassigned or cloned. + +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 for group #0 (8, counted=22). +Fix? yes + +Free blocks count wrong (26, counted=22). +Fix? yes + +Padding at end of inode bitmap is not set. Fix? yes + +Padding at end of block bitmap is not set. Fix? yes + + +test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** +test_filesys: 16/16 files (6.3% non-contiguous), 78/100 blocks +Exit status is 1 diff --git a/tests/f_dup2/expect.2 b/tests/f_dup2/expect.2 new file mode 100644 index 0000000..0508b09 --- /dev/null +++ b/tests/f_dup2/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: 16/16 files (12.5% non-contiguous), 78/100 blocks +Exit status is 0 diff --git a/tests/f_dup2/image.gz b/tests/f_dup2/image.gz Binary files differnew file mode 100644 index 0000000..e9b853d --- /dev/null +++ b/tests/f_dup2/image.gz diff --git a/tests/f_dup2/name b/tests/f_dup2/name new file mode 100644 index 0000000..3d636e0 --- /dev/null +++ b/tests/f_dup2/name @@ -0,0 +1 @@ +blocks claimed by three different files diff --git a/tests/f_dup3/expect.1 b/tests/f_dup3/expect.1 new file mode 100644 index 0000000..5f79cb8 --- /dev/null +++ b/tests/f_dup3/expect.1 @@ -0,0 +1,47 @@ +Pass 1: Checking inodes, blocks, and sizes +Inode 16, i_blocks is 22, should be 24. Fix? yes + + +Running additional passes to resolve blocks claimed by more than one inode... +Pass 1B: Rescanning for multiply-claimed blocks +Multiply-claimed block(s) in inode 11: 24 24 +Multiply-claimed block(s) in inode 14: 69 69 +Multiply-claimed block(s) in inode 16: 99 99 +Pass 1C: Scanning directories for inodes with multiply-claimed blocks +Pass 1D: Reconciling multiply-claimed blocks +(There are 3 inodes containing multiply-claimed blocks.) + +File /lost+found (inode #11, mod time Mon Sep 20 03:26:36 1993) + has 2 multiply-claimed block(s), shared with 0 file(s): +Clone multiply-claimed blocks? yes + +File /pass1.c (inode #14, mod time Tue Sep 21 04:28:37 1993) + has 2 multiply-claimed block(s), shared with 0 file(s): +Clone multiply-claimed blocks? yes + +File /e2fsck (inode #16, mod time Tue Sep 21 04:32:22 1993) + has 2 multiply-claimed block(s), shared with 0 file(s): +Clone multiply-claimed blocks? yes + +Pass 2: Checking directory structure +Directory inode 11, block #12, offset 0: directory corrupted +Salvage? yes + +Pass 3: Checking directory connectivity +Pass 4: Checking reference counts +Pass 5: Checking group summary information +Block bitmap differences: -68 +Fix? yes + +Free blocks count wrong for group #0 (20, counted=19). +Fix? yes + +Free blocks count wrong (20, counted=19). +Fix? yes + +Padding at end of inode bitmap is not set. Fix? yes + + +test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** +test_filesys: 16/16 files (25.0% non-contiguous), 81/100 blocks +Exit status is 1 diff --git a/tests/f_dup3/expect.2 b/tests/f_dup3/expect.2 new file mode 100644 index 0000000..2a31ae6 --- /dev/null +++ b/tests/f_dup3/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: 16/16 files (25.0% non-contiguous), 81/100 blocks +Exit status is 0 diff --git a/tests/f_dup3/image.gz b/tests/f_dup3/image.gz Binary files differnew file mode 100644 index 0000000..3712cbc --- /dev/null +++ b/tests/f_dup3/image.gz diff --git a/tests/f_dup3/name b/tests/f_dup3/name new file mode 100644 index 0000000..4f312ad --- /dev/null +++ b/tests/f_dup3/name @@ -0,0 +1 @@ +blocks claimed by one file multiple times diff --git a/tests/f_dup4/expect.1 b/tests/f_dup4/expect.1 new file mode 100644 index 0000000..8b6565c --- /dev/null +++ b/tests/f_dup4/expect.1 @@ -0,0 +1,130 @@ +Pass 1: Checking inodes, blocks, and sizes + +Running additional passes to resolve blocks claimed by more than one inode... +Pass 1B: Rescanning for multiply-claimed blocks +Multiply-claimed block(s) in inode 15: 30 +Multiply-claimed block(s) in inode 16: 30 +Multiply-claimed block(s) in inode 17: 30 +Multiply-claimed block(s) in inode 18: 30 +Multiply-claimed block(s) in inode 19: 34 +Multiply-claimed block(s) in inode 20: 34 +Multiply-claimed block(s) in inode 21: 34 +Multiply-claimed block(s) in inode 22: 34 +Pass 1C: Scanning directories for inodes with multiply-claimed blocks +Pass 1D: Reconciling multiply-claimed blocks +(There are 8 inodes containing multiply-claimed blocks.) + +File /dir4 (inode #15, mod time Tue Apr 10 21:00:00 2007) + has 1 multiply-claimed block(s), shared with 3 file(s): + /dir3/baz (inode #18, mod time Tue Apr 10 21:00:00 2007) + /dir2/bar (inode #17, mod time Tue Apr 10 21:00:00 2007) + /dir/foo (inode #16, mod time Tue Apr 10 21:00:00 2007) +Clone multiply-claimed blocks? yes + +File /dir/foo (inode #16, mod time Tue Apr 10 21:00:00 2007) + has 1 multiply-claimed block(s), shared with 3 file(s): + /dir3/baz (inode #18, mod time Tue Apr 10 21:00:00 2007) + /dir2/bar (inode #17, mod time Tue Apr 10 21:00:00 2007) + /dir4 (inode #15, mod time Tue Apr 10 21:00:00 2007) +Clone multiply-claimed blocks? yes + +File /dir2/bar (inode #17, mod time Tue Apr 10 21:00:00 2007) + has 1 multiply-claimed block(s), shared with 3 file(s): + /dir3/baz (inode #18, mod time Tue Apr 10 21:00:00 2007) + /dir/foo (inode #16, mod time Tue Apr 10 21:00:00 2007) + /dir4 (inode #15, mod time Tue Apr 10 21:00:00 2007) +Clone multiply-claimed blocks? yes + +File /dir3/baz (inode #18, mod time Tue Apr 10 21:00:00 2007) + has 1 multiply-claimed block(s), shared with 3 file(s): + /dir2/bar (inode #17, mod time Tue Apr 10 21:00:00 2007) + /dir/foo (inode #16, mod time Tue Apr 10 21:00:00 2007) + /dir4 (inode #15, mod time Tue Apr 10 21:00:00 2007) +Multiply-claimed blocks already reassigned or cloned. + +File /dir/quux1 (inode #19, mod time Tue Apr 10 21:00:00 2007) + has 1 multiply-claimed block(s), shared with 3 file(s): + /dir3/foe (inode #22, mod time Tue Apr 10 21:00:00 2007) + /dir2/fie (inode #21, mod time Tue Apr 10 21:00:00 2007) + /dir/fee (inode #20, mod time Tue Apr 10 21:00:00 2007) +Clone multiply-claimed blocks? yes + +File /dir/fee (inode #20, mod time Tue Apr 10 21:00:00 2007) + has 1 multiply-claimed block(s), shared with 3 file(s): + /dir3/foe (inode #22, mod time Tue Apr 10 21:00:00 2007) + /dir2/fie (inode #21, mod time Tue Apr 10 21:00:00 2007) + /dir/quux1 (inode #19, mod time Tue Apr 10 21:00:00 2007) +Clone multiply-claimed blocks? yes + +File /dir2/fie (inode #21, mod time Tue Apr 10 21:00:00 2007) + has 1 multiply-claimed block(s), shared with 3 file(s): + /dir3/foe (inode #22, mod time Tue Apr 10 21:00:00 2007) + /dir/fee (inode #20, mod time Tue Apr 10 21:00:00 2007) + /dir/quux1 (inode #19, mod time Tue Apr 10 21:00:00 2007) +Clone multiply-claimed blocks? yes + +File /dir3/foe (inode #22, mod time Tue Apr 10 21:00:00 2007) + has 1 multiply-claimed block(s), shared with 3 file(s): + /dir2/fie (inode #21, mod time Tue Apr 10 21:00:00 2007) + /dir/fee (inode #20, mod time Tue Apr 10 21:00:00 2007) + /dir/quux1 (inode #19, mod time Tue Apr 10 21:00:00 2007) +Multiply-claimed blocks already reassigned or cloned. + +Pass 2: Checking directory structure +Directory inode 22, block #0, offset 0: directory corrupted +Salvage? yes + +Missing '.' in directory inode 22. +Fix? yes + +Missing '..' in directory inode 22. +Fix? yes + +Directory inode 20, block #0, offset 0: directory corrupted +Salvage? yes + +Missing '.' in directory inode 20. +Fix? yes + +Missing '..' in directory inode 20. +Fix? yes + +Directory inode 21, block #0, offset 0: directory corrupted +Salvage? yes + +Missing '.' in directory inode 21. +Fix? yes + +Missing '..' in directory inode 21. +Fix? yes + +Pass 3: Checking directory connectivity +'..' in /dir/fee (20) is <The NULL inode> (0), should be /dir (12). +Fix? yes + +'..' in /dir2/fie (21) is <The NULL inode> (0), should be /dir2 (13). +Fix? yes + +'..' in /dir3/foe (22) is <The NULL inode> (0), should be /dir3 (14). +Fix? yes + +Pass 4: Checking reference counts +Inode 2 ref count is 4, should be 7. Fix? yes + +Inode 12 ref count is 4, should be 3. Fix? yes + +Inode 13 ref count is 4, should be 3. Fix? yes + +Inode 14 ref count is 4, should be 3. Fix? yes + +Inode 16 ref count is 1, should be 3. Fix? yes + +Inode 17 ref count is 1, should be 2. Fix? yes + +Inode 19 ref count is 1, should be 3. Fix? yes + +Pass 5: Checking group summary information + +test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** +test_filesys: 23/32 files (0.0% non-contiguous), 39/100 blocks +Exit status is 1 diff --git a/tests/f_dup4/expect.2 b/tests/f_dup4/expect.2 new file mode 100644 index 0000000..fe9c7e2 --- /dev/null +++ b/tests/f_dup4/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: 23/32 files (0.0% non-contiguous), 39/100 blocks +Exit status is 0 diff --git a/tests/f_dup4/name b/tests/f_dup4/name new file mode 100644 index 0000000..91cc5a3 --- /dev/null +++ b/tests/f_dup4/name @@ -0,0 +1 @@ +find all directory pathnames diff --git a/tests/f_dup4/script b/tests/f_dup4/script new file mode 100644 index 0000000..aec862d --- /dev/null +++ b/tests/f_dup4/script @@ -0,0 +1,55 @@ +if ! test -x $DEBUGFS_EXE; then + echo "$test_name: $test_description: skipped (no debugfs)" + return 0 +fi + +SKIP_GUNZIP="true" +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 20070410210000 +set_super_value lastcheck 0 +set_super_value hash_seed null +set_super_value mkfs_time 0 +mkdir dir +mkdir dir2 +mkdir dir3 +mkdir dir4 +cd /dir +write $TEST_DATA foo +cd /dir2 +write $TEST_DATA bar +cd /dir3 +write $TEST_DATA baz +cd /dir4 +write $TEST_DATA quux +mkdir /dir/fee +mkdir /dir2/fie +mkdir /dir3/foe +mkdir /dir4/fum +link /dir/foo /dir2/foo1 +link /dir/foo /dir3/foo2 +link /dir2/bar /dir3/bar1 +link /dir4/quux /dir/quux1 +link /dir4/quux /dir2/quux2 +set_inode_field /dir/foo block[0] 30 +set_inode_field /dir2/bar block[0] 30 +set_inode_field /dir3/baz block[0] 30 +set_inode_field /dir/fee block[0] 34 +set_inode_field /dir2/fie block[0] 34 +set_inode_field /dir3/foe block[0] 34 +q +EOF + +E2FSCK_TIME=200704102100 +export E2FSCK_TIME + +. $cmd_dir/run_e2fsck + +rm -f $TEST_DATA + +unset E2FSCK_TIME TEST_DATA diff --git a/tests/f_dup_ba/expect.1 b/tests/f_dup_ba/expect.1 new file mode 100644 index 0000000..f4581c4 --- /dev/null +++ b/tests/f_dup_ba/expect.1 @@ -0,0 +1,69 @@ +Pass 1: Checking inodes, blocks, and sizes +Inode 16, i_size is 8192, should be 409600. Fix? yes + +Inode 16, i_blocks is 128, should be 896. Fix? yes + + +Running additional passes to resolve blocks claimed by more than one inode... +Pass 1B: Rescanning for multiply-claimed blocks +Multiply-claimed block(s) in inode 16: 160--239 +Multiply-claimed block(s) in inode 17: 160--161 +Multiply-claimed block(s) in inode 18: 176--177 +Multiply-claimed block(s) in inode 19: 192--193 +Multiply-claimed block(s) in inode 20: 208--209 +Multiply-claimed block(s) in inode 21: 224--225 +Pass 1C: Scanning directories for inodes with multiply-claimed blocks +Pass 1D: Reconciling multiply-claimed blocks +(There are 6 inodes containing multiply-claimed blocks.) + +File /5 (inode #16, mod time Sun Nov 27 04:39:31 2011) + has 5 multiply-claimed block(s), shared with 5 file(s): + /10 (inode #21, mod time Sun Nov 27 04:39:36 2011) + /9 (inode #20, mod time Sun Nov 27 04:39:35 2011) + /8 (inode #19, mod time Sun Nov 27 04:39:34 2011) + /7 (inode #18, mod time Sun Nov 27 04:39:33 2011) + /6 (inode #17, mod time Sun Nov 27 04:39:32 2011) +Clone multiply-claimed blocks? yes + +File /6 (inode #17, mod time Sun Nov 27 04:39:32 2011) + has 1 multiply-claimed block(s), shared with 1 file(s): + /5 (inode #16, mod time Sun Nov 27 04:39:31 2011) +Multiply-claimed blocks already reassigned or cloned. + +File /7 (inode #18, mod time Sun Nov 27 04:39:33 2011) + has 1 multiply-claimed block(s), shared with 1 file(s): + /5 (inode #16, mod time Sun Nov 27 04:39:31 2011) +Multiply-claimed blocks already reassigned or cloned. + +File /8 (inode #19, mod time Sun Nov 27 04:39:34 2011) + has 1 multiply-claimed block(s), shared with 1 file(s): + /5 (inode #16, mod time Sun Nov 27 04:39:31 2011) +Multiply-claimed blocks already reassigned or cloned. + +File /9 (inode #20, mod time Sun Nov 27 04:39:35 2011) + has 1 multiply-claimed block(s), shared with 1 file(s): + /5 (inode #16, mod time Sun Nov 27 04:39:31 2011) +Multiply-claimed blocks already reassigned or cloned. + +File /10 (inode #21, mod time Sun Nov 27 04:39:36 2011) + has 1 multiply-claimed block(s), shared with 1 file(s): + /5 (inode #16, mod time Sun Nov 27 04:39:31 2011) +Multiply-claimed blocks already reassigned or cloned. + +Pass 2: Checking directory structure +Pass 3: Checking directory connectivity +Pass 4: Checking reference counts +Pass 5: Checking group summary information +Block bitmap differences: +240 +Fix? yes + +Free blocks count wrong for group #0 (49, counted=43). +Fix? yes + +Free blocks count wrong (784, counted=688). +Fix? yes + + +test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** +test_filesys: 21/64 files (0.0% non-contiguous), 336/1024 blocks +Exit status is 1 diff --git a/tests/f_dup_ba/expect.2 b/tests/f_dup_ba/expect.2 new file mode 100644 index 0000000..ec04450 --- /dev/null +++ b/tests/f_dup_ba/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: 21/64 files (4.8% non-contiguous), 336/1024 blocks +Exit status is 0 diff --git a/tests/f_dup_ba/image.gz b/tests/f_dup_ba/image.gz Binary files differnew file mode 100644 index 0000000..4b31863 --- /dev/null +++ b/tests/f_dup_ba/image.gz diff --git a/tests/f_dup_ba/name b/tests/f_dup_ba/name new file mode 100644 index 0000000..a1a8b80 --- /dev/null +++ b/tests/f_dup_ba/name @@ -0,0 +1 @@ +multiply claimed blocks with bigalloc diff --git a/tests/f_dup_de/expect-nohtree.1 b/tests/f_dup_de/expect-nohtree.1 new file mode 100644 index 0000000..64415cc --- /dev/null +++ b/tests/f_dup_de/expect-nohtree.1 @@ -0,0 +1,31 @@ +Pass 1: Checking inodes, blocks, and sizes +Inode 12 has INDEX_FL flag set on filesystem without htree support. +Clear HTree index? yes + +Pass 2: Checking directory structure +Duplicate entry 'mailcap.dpkg-old' found. + Marking /etc (12) to be rebuilt. + +Pass 3: Checking directory connectivity +Pass 3A: Optimizing directories +Duplicate entry 'fstab' in /etc (12) found. Clear? yes + +Duplicate entry 'localtime' in /etc (12) found. Clear? yes + +Duplicate entry 'mailcap.dpkg-old' in /etc (12) found. Clear? yes + +Duplicate entry 'modules.conf.old' in /etc (12) found. Clear? yes + +Entry 'modules.conf.old' in /etc (12) has a non-unique filename. +Rename to modules.conf.o~0? yes + +Duplicate entry 'resolv.conf' in /etc (12) found. Clear? yes + +Duplicate entry 'usb.permissions' in /etc (12) found. Clear? yes + +Pass 4: Checking reference counts +Pass 5: Checking group summary information + +test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** +test_filesys: 18/2048 files (5.6% non-contiguous), 324/330 blocks +Exit status is 1 diff --git a/tests/f_dup_de/expect-nohtree.2 b/tests/f_dup_de/expect-nohtree.2 new file mode 100644 index 0000000..4d680af --- /dev/null +++ b/tests/f_dup_de/expect-nohtree.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: 18/2048 files (5.6% non-contiguous), 324/330 blocks +Exit status is 0 diff --git a/tests/f_dup_de/expect.1 b/tests/f_dup_de/expect.1 new file mode 100644 index 0000000..e421547 --- /dev/null +++ b/tests/f_dup_de/expect.1 @@ -0,0 +1,28 @@ +Pass 1: Checking inodes, blocks, and sizes +Pass 2: Checking directory structure +Duplicate entry 'mailcap.dpkg-old' found. + Marking /etc (12) to be rebuilt. + +Pass 3: Checking directory connectivity +Pass 3A: Optimizing directories +Duplicate entry 'fstab' in /etc (12) found. Clear? yes + +Duplicate entry 'localtime' in /etc (12) found. Clear? yes + +Duplicate entry 'mailcap.dpkg-old' in /etc (12) found. Clear? yes + +Duplicate entry 'modules.conf.old' in /etc (12) found. Clear? yes + +Entry 'modules.conf.old' in /etc (12) has a non-unique filename. +Rename to modules.conf.o~0? yes + +Duplicate entry 'resolv.conf' in /etc (12) found. Clear? yes + +Duplicate entry 'usb.permissions' in /etc (12) found. Clear? yes + +Pass 4: Checking reference counts +Pass 5: Checking group summary information + +test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** +test_filesys: 18/2048 files (5.6% non-contiguous), 324/330 blocks +Exit status is 1 diff --git a/tests/f_dup_de/expect.2 b/tests/f_dup_de/expect.2 new file mode 100644 index 0000000..4d680af --- /dev/null +++ b/tests/f_dup_de/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: 18/2048 files (5.6% non-contiguous), 324/330 blocks +Exit status is 0 diff --git a/tests/f_dup_de/image.gz b/tests/f_dup_de/image.gz Binary files differnew file mode 100644 index 0000000..8bdb12f --- /dev/null +++ b/tests/f_dup_de/image.gz diff --git a/tests/f_dup_de/name b/tests/f_dup_de/name new file mode 100644 index 0000000..bd90734 --- /dev/null +++ b/tests/f_dup_de/name @@ -0,0 +1 @@ +duplicate directory entries diff --git a/tests/f_dup_de/script b/tests/f_dup_de/script new file mode 100644 index 0000000..dcda9d8 --- /dev/null +++ b/tests/f_dup_de/script @@ -0,0 +1,15 @@ +if ! test -x $DEBUGFS_EXE; then + echo "$test_name: $test_description: skipped (no debugfs)" + return 0 +fi + +if test "$HTREE"x = x ; then + gunzip < $test_dir/image.gz > $TMPFILE + $DEBUGFS -w -R "feature ^dir_index" $TMPFILE >/dev/null 2>&1 + gzip $TMPFILE + IMAGE="$TMPFILE".gz + EXP1=$test_dir/expect-nohtree.1 + EXP2=$test_dir/expect-nohtree.2 +fi +. $cmd_dir/run_e2fsck +rm -f "$TMPFILE".gz diff --git a/tests/f_dup_de2/expect.1 b/tests/f_dup_de2/expect.1 new file mode 100644 index 0000000..8dd3d91 --- /dev/null +++ b/tests/f_dup_de2/expect.1 @@ -0,0 +1,16 @@ +Pass 1: Checking inodes, blocks, and sizes +Pass 2: Checking directory structure +Duplicate entry 'test-008' found. + Marking / (2) to be rebuilt. + +Pass 3: Checking directory connectivity +Pass 3A: Optimizing directories +Entry 'test-008' in / (2) has a non-unique filename. +Rename to test-0~0? yes + +Pass 4: Checking reference counts +Pass 5: Checking group summary information + +test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** +test_filesys: 21/256 files (0.0% non-contiguous), 1087/2048 blocks +Exit status is 1 diff --git a/tests/f_dup_de2/expect.2 b/tests/f_dup_de2/expect.2 new file mode 100644 index 0000000..8781274 --- /dev/null +++ b/tests/f_dup_de2/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: 21/256 files (0.0% non-contiguous), 1087/2048 blocks +Exit status is 0 diff --git a/tests/f_dup_de2/image.gz b/tests/f_dup_de2/image.gz Binary files differnew file mode 100644 index 0000000..a8e4db3 --- /dev/null +++ b/tests/f_dup_de2/image.gz diff --git a/tests/f_dup_de2/name b/tests/f_dup_de2/name new file mode 100644 index 0000000..e337f10 --- /dev/null +++ b/tests/f_dup_de2/name @@ -0,0 +1 @@ +duplicate directory entries for non-indexed dirs diff --git a/tests/f_dup_de_crypt/expect.1 b/tests/f_dup_de_crypt/expect.1 new file mode 100644 index 0000000..03e0ad6 --- /dev/null +++ b/tests/f_dup_de_crypt/expect.1 @@ -0,0 +1,18 @@ +Pass 1: Checking inodes, blocks, and sizes +Pass 2: Checking directory structure +Duplicate entry '+M-^AT^EM-1M-^CM-/)*M-L^RM-^L^@M-WM-)M-+' found. + Marking /test (12) to be rebuilt. + +Pass 3: Checking directory connectivity +Pass 3A: Optimizing directories +Duplicate filename entry '+M-^AT^EM-1M-^CM-/)*M-L^RM-^L^@M-WM-)M-+' in /test (12) found. Clear? yes + +Pass 4: Checking reference counts +Unattached inode 13 +Connect to /lost+found? yes + +Pass 5: Checking group summary information + +test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** +test_filesys: 14/16 files (0.0% non-contiguous), 26/60 blocks +Exit status is 1 diff --git a/tests/f_dup_de_crypt/expect.2 b/tests/f_dup_de_crypt/expect.2 new file mode 100644 index 0000000..cfca772 --- /dev/null +++ b/tests/f_dup_de_crypt/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 (0.0% non-contiguous), 26/60 blocks +Exit status is 0 diff --git a/tests/f_dup_de_crypt/image.gz b/tests/f_dup_de_crypt/image.gz Binary files differnew file mode 100644 index 0000000..07a44d7 --- /dev/null +++ b/tests/f_dup_de_crypt/image.gz diff --git a/tests/f_dup_de_crypt/name b/tests/f_dup_de_crypt/name new file mode 100644 index 0000000..aff30a8 --- /dev/null +++ b/tests/f_dup_de_crypt/name @@ -0,0 +1 @@ +duplicate directory entries for encrypted dirs diff --git a/tests/f_dup_resize/expect.1 b/tests/f_dup_resize/expect.1 new file mode 100644 index 0000000..8a2764d --- /dev/null +++ b/tests/f_dup_resize/expect.1 @@ -0,0 +1,35 @@ +Resize inode not valid. Recreate? yes + +Pass 1: Checking inodes, blocks, and sizes + +Running additional passes to resolve blocks claimed by more than one inode... +Pass 1B: Rescanning for multiply-claimed blocks +Multiply-claimed block(s) in inode 7: 4--7 +Multiply-claimed block(s) in inode 12: 4--7 +Pass 1C: Scanning directories for inodes with multiply-claimed blocks +Pass 1D: Reconciling multiply-claimed blocks +(There are 1 inodes containing multiply-claimed blocks.) + +File /debugfs (inode #12, mod time Mon Apr 11 00:00:00 2005) + has 4 multiply-claimed block(s), shared with 2 file(s): + <filesystem metadata> + <The group descriptor inode> (inode #7, mod time Mon Apr 11 06:13:20 2005) +Clone multiply-claimed blocks? 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: +(8195--8198) +Fix? yes + +Free blocks count wrong for group #0 (7750, counted=7751). +Fix? yes + +Free blocks count wrong (9434, counted=9435). +Fix? yes + + +test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** +test_filesys: 12/2560 files (8.3% non-contiguous), 805/10240 blocks +Exit status is 1 diff --git a/tests/f_dup_resize/expect.2 b/tests/f_dup_resize/expect.2 new file mode 100644 index 0000000..d91b0af --- /dev/null +++ b/tests/f_dup_resize/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/2560 files (8.3% non-contiguous), 805/10240 blocks +Exit status is 0 diff --git a/tests/f_dup_resize/name b/tests/f_dup_resize/name new file mode 100644 index 0000000..6c5befa --- /dev/null +++ b/tests/f_dup_resize/name @@ -0,0 +1 @@ +blocks claimed by the resize inode and another inode diff --git a/tests/f_dup_resize/script b/tests/f_dup_resize/script new file mode 100644 index 0000000..0fd350b --- /dev/null +++ b/tests/f_dup_resize/script @@ -0,0 +1,29 @@ +if ! test -x $DEBUGFS_EXE; then + echo "$test_name: $test_description: skipped (no debugfs)" + return 0 +fi + +SKIP_GUNZIP="true" +TEST_DATA="$test_name.tmp" + +dd if=$TEST_BITS of=$TEST_DATA bs=63k count=1 conv=sync > /dev/null 2>&1 + +touch $TMPFILE +$MKE2FS -F -o Linux -O resize_inode $TMPFILE 10240 > /dev/null 2>&1 +$DEBUGFS -w $TMPFILE << EOF > /dev/null 2>&1 +freeb 4 4 +freeb 8195 4 +write $TEST_DATA debugfs +set_current_time 20050411000000 +set_inode_field debugfs mtime 20050411000000 +q +EOF + +E2FSCK_TIME=1113200000 +export E2FSCK_TIME + +. $cmd_dir/run_e2fsck + +rm -f $TEST_DATA + +unset E2FSCK_TIME TEST_DATA diff --git a/tests/f_dupdot/expect.1 b/tests/f_dupdot/expect.1 new file mode 100644 index 0000000..afce8d6 --- /dev/null +++ b/tests/f_dupdot/expect.1 @@ -0,0 +1,22 @@ +Pass 1: Checking inodes, blocks, and sizes +Pass 2: Checking directory structure +Entry '.' in <14>/<12> (12) is duplicate '.' entry. +Fix? yes + +Entry '..' in <14>/<12> (12) is duplicate '..' entry. +Fix? yes + +Pass 3: Checking directory connectivity +Pass 4: Checking reference counts +Unattached inode 13 +Connect to /lost+found? yes + +Inode 13 ref count is 2, should be 1. Fix? yes + +Unattached zero-length inode 14. Clear? yes + +Pass 5: Checking group summary information + +test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** +test_filesys: 13/16 files (0.0% non-contiguous), 22/100 blocks +Exit status is 1 diff --git a/tests/f_dupdot/expect.2 b/tests/f_dupdot/expect.2 new file mode 100644 index 0000000..c547be3 --- /dev/null +++ b/tests/f_dupdot/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: 13/16 files (0.0% non-contiguous), 22/100 blocks +Exit status is 0 diff --git a/tests/f_dupdot/image.gz b/tests/f_dupdot/image.gz Binary files differnew file mode 100644 index 0000000..6a2207e --- /dev/null +++ b/tests/f_dupdot/image.gz diff --git a/tests/f_dupdot/name b/tests/f_dupdot/name new file mode 100644 index 0000000..a7a0afc --- /dev/null +++ b/tests/f_dupdot/name @@ -0,0 +1 @@ +duplicate '.' and '..' entries diff --git a/tests/f_dupfsblks/expect.1 b/tests/f_dupfsblks/expect.1 new file mode 100644 index 0000000..6751986 --- /dev/null +++ b/tests/f_dupfsblks/expect.1 @@ -0,0 +1,65 @@ +Filesystem did not have a UUID; generating one. + +Pass 1: Checking inodes, blocks, and sizes +Inode 12, i_size is 4096, should be 5120. Fix? yes + +Inode 13, i_size is 0, should be 2048. Fix? yes + + +Running additional passes to resolve blocks claimed by more than one inode... +Pass 1B: Rescanning for multiply-claimed blocks +Multiply-claimed block(s) in inode 12: 3--4 6 1 +Multiply-claimed block(s) in inode 13: 2--3 +Multiply-claimed block(s) in inode 14: 2 +Pass 1C: Scanning directories for inodes with multiply-claimed blocks +Pass 1D: Reconciling multiply-claimed blocks +(There are 3 inodes containing multiply-claimed blocks.) + +File /foo (inode #12, mod time Thu Apr 28 17:57:53 1994) + has 4 multiply-claimed block(s), shared with 2 file(s): + <filesystem metadata> + /bar (inode #13, mod time Thu Aug 5 07:17:17 1999) +Clone multiply-claimed blocks? yes + +File /bar (inode #13, mod time Thu Aug 5 07:17:17 1999) + has 2 multiply-claimed block(s), shared with 3 file(s): + <filesystem metadata> + /foo (inode #12, mod time Thu Apr 28 17:57:53 1994) + /quux (inode #14, mod time Thu Aug 5 07:18:09 1999) +Clone multiply-claimed blocks? yes + +File /quux (inode #14, mod time Thu Aug 5 07:18:09 1999) + has 1 multiply-claimed block(s), shared with 2 file(s): + <filesystem metadata> + /bar (inode #13, mod time Thu Aug 5 07:17:17 1999) +Clone multiply-claimed blocks? yes + +Pass 2: Checking directory structure +Directory inode 12, block #1, offset 0: directory corrupted +Salvage? yes + +Directory inode 12, block #2, offset 0: directory corrupted +Salvage? yes + +Directory inode 12, block #3, offset 0: directory corrupted +Salvage? yes + +Entry '' in ??? (12) has a zero-length name. +Clear? yes + +Directory inode 12, block #4, offset 100: directory corrupted +Salvage? yes + +Pass 3: Checking directory connectivity +Pass 4: Checking reference counts +Pass 5: Checking group summary information +Free blocks count wrong for group #0 (77, counted=70). +Fix? yes + +Free blocks count wrong (77, counted=70). +Fix? yes + + +test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** +test_filesys: 14/32 files (7.1% non-contiguous), 30/100 blocks +Exit status is 1 diff --git a/tests/f_dupfsblks/expect.2 b/tests/f_dupfsblks/expect.2 new file mode 100644 index 0000000..c1726b6 --- /dev/null +++ b/tests/f_dupfsblks/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/32 files (0.0% non-contiguous), 30/100 blocks +Exit status is 0 diff --git a/tests/f_dupfsblks/image.gz b/tests/f_dupfsblks/image.gz Binary files differnew file mode 100644 index 0000000..109dad0 --- /dev/null +++ b/tests/f_dupfsblks/image.gz diff --git a/tests/f_dupfsblks/name b/tests/f_dupfsblks/name new file mode 100644 index 0000000..84124c9 --- /dev/null +++ b/tests/f_dupfsblks/name @@ -0,0 +1 @@ +blocks claimed by a file and bitmaps or inode tables diff --git a/tests/f_dupsuper/expect.1 b/tests/f_dupsuper/expect.1 new file mode 100644 index 0000000..2107e2d --- /dev/null +++ b/tests/f_dupsuper/expect.1 @@ -0,0 +1,27 @@ +Filesystem did not have a UUID; generating one. + +Pass 1: Checking inodes, blocks, and sizes + +Running additional passes to resolve blocks claimed by more than one inode... +Pass 1B: Rescanning for multiply-claimed blocks +Multiply-claimed block(s) in inode 12: 2--3 1 +Pass 1C: Scanning directories for inodes with multiply-claimed blocks +Pass 1D: Reconciling multiply-claimed blocks +(There are 1 inodes containing multiply-claimed blocks.) + +File /termcap (inode #12, mod time Sun Jan 2 08:29:13 1994) + has 3 multiply-claimed block(s), shared with 1 file(s): + <filesystem metadata> +Clone multiply-claimed blocks? 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: -(29--31) +Fix? yes + + +test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** +test_filesys: 12/32 files (8.3% non-contiguous), 39/100 blocks +Exit status is 1 diff --git a/tests/f_dupsuper/expect.2 b/tests/f_dupsuper/expect.2 new file mode 100644 index 0000000..8735c4e --- /dev/null +++ b/tests/f_dupsuper/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), 39/100 blocks +Exit status is 0 diff --git a/tests/f_dupsuper/image.gz b/tests/f_dupsuper/image.gz Binary files differnew file mode 100644 index 0000000..d919e07 --- /dev/null +++ b/tests/f_dupsuper/image.gz diff --git a/tests/f_dupsuper/name b/tests/f_dupsuper/name new file mode 100644 index 0000000..560a707 --- /dev/null +++ b/tests/f_dupsuper/name @@ -0,0 +1 @@ +blocks claimed by a file and superblock or group descriptors |