e2fsprogs/tests
Theodore Ts'o 62e3e7fe4f journal.c (clear_v2_journal_fields, e2fsck_journal_load): If the
V2 fields are set on a V1 journal superblock, or an
	internal V2 journal has s_nr_users is non-zero, clear the
	entire journal superblock beyond the V1 superblock.  This
	fixes botched V1->V2 updates.

problem.c, problem.h (PR_0_CLEAR_V2_JOURNAL): Add new problem code.

f_bad_local_jnl: New test which tests for a V2 journal with bad 
	fields caused by a botched V1->V2 upgrade.
2001-10-07 02:13:30 -04:00
..
d_loaddump ChangeLog, expect, script: 2001-06-01 15:14:38 +00:00
defaults Filter out CR characters from the output, since BK filtered \r fromthe 2001-06-22 20:29:54 -04:00
e_brel_bma ChangeLog, script: 1997-10-25 22:43:58 +00:00
e_icount_normal Many files: 1997-04-29 17:48:10 +00:00
e_icount_opt Many files: 1997-04-29 17:48:10 +00:00
e_irel_ima ChangeLog, script: 1997-10-25 22:43:58 +00:00
f_bad_local_jnl journal.c (clear_v2_journal_fields, e2fsck_journal_load): If the 2001-10-07 02:13:30 -04:00
f_badbblocks Many files: 1997-10-03 17:48:10 +00:00
f_baddir Many files: 1997-10-03 17:48:10 +00:00
f_baddotdir Many files: 1997-10-03 17:48:10 +00:00
f_badinode f_bad_inode, f_badsymlinks: Update expect files to reflect 2001-08-04 20:51:01 -04:00
f_badorphan ChangeLog, pass1.c, problem.c, problem.h, problemP.h: 2001-05-14 12:47:41 +00:00
f_badprimary Many files: 1997-10-03 17:48:10 +00:00
f_badroot Many files: 1997-10-03 17:48:10 +00:00
f_badsymlinks f_bad_inode, f_badsymlinks: Update expect files to reflect 2001-08-04 20:51:01 -04:00
f_badtable ChangeLog, expect.1, expect.2: 1998-12-04 06:18:58 +00:00
f_bbfile Many files: 1997-10-03 17:48:10 +00:00
f_bbinode Many files: 1997-10-03 17:48:10 +00:00
f_bitmaps Many files: 1997-10-03 17:48:10 +00:00
f_crashdisk Many files: 1997-04-29 14:53:37 +00:00
f_dirlink Many files: 1997-04-29 14:53:37 +00:00
f_dup Many files: 1997-10-03 17:48:10 +00:00
f_dup2 Many files: 1997-10-03 17:48:10 +00:00
f_dup3 ChangeLog, expect.1, expect.2, image.gz, name: 2001-06-01 19:46:43 +00:00
f_dupdot ChangeLog, expect.1, expect.2, image.gz, name: 1999-09-16 14:20:07 +00:00
f_dupfsblks ChangeLog, expect.1, expect.2, image.gz: 1999-09-14 19:54:39 +00:00
f_dupsuper Many files: 1997-10-03 17:48:10 +00:00
f_end-bitmap Many files: 1997-10-03 17:48:10 +00:00
f_expand ChangeLog, expect.1, expect.2, image.gz: 1999-09-14 19:54:39 +00:00
f_filetype Update problem message printed when special files have the immutable 2001-07-27 22:40:09 -04:00
f_holedir Many files: 1997-04-29 16:17:09 +00:00
f_hurd ChangeLog, problem.c, problem.h, super.c: 2000-05-08 13:33:17 +00:00
f_illbbitmap Many files: 1997-10-03 17:48:10 +00:00
f_illibitmap Many files: 1997-10-03 17:48:10 +00:00
f_illitable ChangeLog, expect.1, expect.2: 1998-12-04 06:18:58 +00:00
f_imagic ChangeLog, run_e2fsck, expect.1, expect.2, image.gz, name, script: 1999-11-10 13:17:24 +00:00
f_imagic_fs ChangeLog, run_e2fsck, expect.1, expect.2, image.gz, name, script: 1999-11-10 13:17:24 +00:00
f_journal ChangeLog, mke2fs.c: 2000-10-25 03:01:37 +00:00
f_lotsbad Many files: 1997-10-03 17:48:10 +00:00
f_lpf ChangeLog, expect.1, expect.2: 1998-12-04 06:18:58 +00:00
f_lpffile ChangeLog, expect.1, expect.2, image.gz, name: 1999-03-15 17:00:48 +00:00
f_messy_inode Many files: 1998-03-24 16:22:38 +00:00
f_misstable Many files: 1997-10-03 17:48:10 +00:00
f_mke2fs2b Many files: 1997-04-29 16:17:09 +00:00
f_noroot Many files: 1997-10-03 17:48:10 +00:00
f_okgroup Many files: 1997-04-29 14:53:37 +00:00
f_orphan ChangeLog, hold_inode.c, random_exercise.c: 2000-08-20 21:48:45 +00:00
f_overfsblks Many files: 1997-10-03 17:48:10 +00:00
f_preen name: 1998-07-06 14:49:09 +00:00
f_recnect_bad ChangeLog, e2fsck.h, pass1.c, pass2.c, pass4.c, swapfs.c: 1999-06-25 15:40:18 +00:00
f_reconnect Many files: 1997-04-29 16:17:09 +00:00
f_swapfs f_bad_inode, f_badsymlinks: Update expect files to reflect 2001-08-04 20:51:01 -04:00
f_zero_group Many files: 1997-10-03 17:48:10 +00:00
f_zero_super Many files: 1997-10-03 17:48:10 +00:00
progs Update changelogs for 1.25 release. 2001-09-20 10:47:47 -04:00
.cvsignore .cvsignore: 2000-05-25 23:19:08 +00:00
ChangeLog journal.c (clear_v2_journal_fields, e2fsck_journal_load): If the 2001-10-07 02:13:30 -04:00
Makefile.in Many files: 1997-04-29 14:53:37 +00:00
README Add extra checks for bad symlinks, including zero length symlinks, 2001-08-04 00:51:18 -06:00
run_e2fsck Filter out CR characters from the output, since BK filtered \r fromthe 2001-06-22 20:29:54 -04:00
test_config Many files: 1997-04-29 17:48:10 +00:00
test_script.in Ignore .failed and .new files when running e2fsck tests. 2001-08-04 02:23:14 -06:00

README

These images contain various forms of corrupted filesystem which
e2fsck will correct.  They are used as a regression test for e2fsck.

The test_script program will automatically run e2fsck against the
filesystem images.  It will run them two times, and display the exit
status for each run.  The meaning of the exit status codes are as
follows:

	0		No filesystem errors were detected
	1		Filesystem errors detected, but corrected
	2		System should be rebooted
	4		Filesystem errors left uncorrected
	8		Operational error (generally means internal error,
				or filesystem error that the e2fsck was not
				prepared to deal with)
	16		Usage or syntax error

During the regression test, the first exit code should be 1, and the
second exit code should be 0.  In other words, all (with one
exception) of the test filesystems in this directory have some sort of
filesystem corruption, which e2fsck should fix on the first pass.
After the first pass, e2fsck should leave a fully consistent
filesystem with no detectable errors found in the second pass.  The
exception is the okgroup.img filesystem, which contains no errors, and
so both exit codes should be 0.

NOTE: It appears that at least some versions of the original e2fsck do
not exit with an exit status code of 1 after correcting filesystem
errors.  So if you modify the test_script to try running these
filesystems against the original e2fsck, you will have to inspect the
test_script.log file manually.

--------------------------------------------------------------
Here's a one-line descriptons of the various test images in this
directory:

baddir.img		Filesystem with a corrupted directory
badbblocks.img		Filesystem with illegal blocks in the bad block inode.
badinode.img		Filesystem with various different corrupted inode
				entries.
badlkcnt.img		Filesystem with deleted files with non-zero link count
badroot.img		Filesystem with a file for a root directory
badtable.img		Filesystem with blocks shared between the bitmaps and
				inode table blocks and the bad block inode
bbfile.img		Filesystem with files containing bad blocks
bitmaps.img		Filesystem with corrupted inode and block bitmaps
dirlink.img		Filesystem with a hard link to a directory
dup.img			Filesystem with blocks claimed by two different files
dup2.img		Filesystem with blocks claimed by three different files
dupfsblks.img		Filesystem with blocks claimed by a file and
				inode/block bitmaps and inode tables
dupsuper.img		Filesystem with blocks claimed by a file and
				the superblock / group descriptors
end-bitmap.img		Filesystem with corruption at the end of the block 
				bitmap
expand.img		Tests e2fsck's ability to expand lost+found if 
				necessary
lpf.img			Filesystem with disconnected files and no /lost+found 
				directory
mke2fs2b.img		Filesystem with corruption similar to that
				created by mke2fs version 0.2b
noroot.img		Filesystem with a deleted root directory
okgroup.img		Filesystem that's exactly 8193 blocks long 
				(otherwise OK)
overfsblks.img		Filesystem with overlapping inode and block bitmaps
symlinks.img		Filesystem with bad symlink sizes