2001-09-20  Theodore Tso  <tytso@thunk.org>

	* Release of E2fsprogs 1.25

2001-09-02  Theodore Tso  <tytso@thunk.org>

	* Release of E2fsprogs 1.24a

2001-08-30  Theodore Tso  <tytso@thunk.org>

	* Release of E2fsprogs 1.24

2001-08-15  Theodore Tso  <tytso@valinux.com>

	* Release of E2fsprogs 1.23

2001-08-04  Theodore Tso  <tytso@valinux.com>

	* f_bad_inode, f_badsymlinks: Update expect files to reflect
		changes in the problem code texts.

	* f_swapfs: The image file used by f_swapfs had bugs which got
		caught by Andreas' changes to be more strict about
		symlinks.

2001-07-26  Andreas Dilger  <adilger@turbolinux.com>

	* f_symlinks: Add several fast symlink error cases to test.

2001-07-27  Theodore Tso  <tytso@valinux.com>

	* f_filetype: Update expect.1 to match changed problem message
		text and the fact that symlinks shouldn't be immutable.

2001-07-07  Theodore Tso  <tytso@valinux.com>

	* f_badinode: Update expect.1 to match change in invalid symlink
		size text.

2001-06-23  Theodore Tso  <tytso@valinux.com>

	* Release of E2fsprogs 1.22

2001-06-22  Theodore Tso  <tytso@valinux.com>

	* run_e2fsck, defaults/e_script: Filter out CR characters from the
		output, since BK filtered \r fromthe expect files.  This
		is needed to make the regression test suite work again.

2001-06-15  Theodore Tso  <tytso@valinux.com>

	* Release of E2fsprogs 1.21

2001-06-02  Theodore Tso  <tytso@valinux.com>

	* f_badinode: Added a fast symlink with an invalid size to test
		e2fsck's handling of this case.

	* f_dup3: New test case which checks handling of blocks claimed
		multiple times by one inode which weren't handled
		correctly by e2fsck 1.20.

	* d_loaddump: Fix test script to remove bash'isms, and make the
		shell script more robust in cases where the user has
		overridden CFLAGS so that the debugfs binary isn't
		compiled with -g, and is smaller than 128k.  Also specify
		the blocksize to be used explictly to avoid problems with
		people who change the mke2fs default parameters.

2001-05-25  Theodore Tso  <tytso@valinux.com>

	* Release of E2fsprogs 1.20

2001-05-14  Theodore Tso  <tytso@valinux.com>

	* f_badorphan: New test which verifies corrupted orphan list
		handling.

2001-05-05  Theodore Tso  <tytso@valinux.com>

	* d_loaddump: New test which verifies debugfs's dump and load
		routines.

2000-10-24    <tytso@snap.thunk.org>

	* f_journal: Update to take into account new printing by the
		e2fsck program.

2000-08-22    <tytso@valinux.com>

	* f_journal: Make the test check for a wide variety of mixed sizes
		of orphaned inodes (and not just a size of 0).

2000-08-20    <tytso@valinux.com>

	* run_e2fsck: Filter out JFS DEBUG messages when comparing e2fsck
		output.

	* f_journal: New test case which checks out running the ext3
		journal.

	* f_orphan: New test case which checks clearing the list of orphan
		inodes (files and directories).

	* f_swapfs/expect: Update to reflect new debugfs format for
		dumping the blocks of an inode.

2000-07-13    <tytso@valinux.com>

	* Release of E2fsprogs 1.19

2000-05-25    <tytso@snap.thunk.org>

	* test_script.in: Ignore files in the test directory (to avoid
		spurious messages when builddir==srcdir).

2000-05-08  Theodore Ts'o  <tytso@valinux.com>

	* f_hurd: Add test for Hurd-specific features (right now, just
		checks to make sure the filetype feature is cleared)

2000-04-06  Theodore Ts'o  <tytso@valinux.com>

	* f_filetype: Updated expect script to match with new text for
		immutable/append-only files.

2000-02-07  Theodore Ts'o  <tytso@valinux.com>

	* f_swapfs: Fix expected text to match changed debugfs dump
		command for i_generation field.

1999-11-10    <tytso@valinux.com>

	* Release of E2fsprogs 1.18

1999-11-10    <tytso@valinux.com>

	* f_imagic: New test case which tests handling of imagic inodes in
		an non-imagic-enabled filessystem.

	* f_imagic_fs: New test case which tests handling of imagic inodes
		in an imagic-enabled filesystem.

	* f_filetype: New test case which tests setting filetype
		information in a filesystem.  Also tests handling of
		immutable special files (device/fifo).

	* run_e2fsck: Add support for PREP_CMD, which allows a test case
		to specify some commands which will be run (via eval)
		after the image is compressed and before running e2fsck.

1999-10-26    <tytso@valinux.com>

	* Release of E2fsprogs 1.17

1999-10-22    <tytso@valinux.com>

	* Release of E2fsprogs 1.16

1999-09-16    <tytso@rsts-11.mit.edu>

	* f_dupdot: New test case which tests duplicate '.' and '..' entries.

1999-09-07    <tytso@rsts-11.mit.edu>

	* f_expand: Make test case better by testing increasing the size
		of lost+found where an indirect block must be created.
		Also add checks to see what happens when directories are
		disconnected because their containing directory is
		destroyed (turned into a socket :-)

1999-08-02    <tytso@rsts-11.mit.edu>

	* f_dupfsblks: Add additional test cases where files share
		duplicate blocks with both other files and filesystem
		metadata.

1999-07-30    <tytso@valinux.com>

	* f_swapfs: Change to deal with new dump_inode command.

1999-07-18  Theodore Ts'o  <tytso@valinux.com>

	* Release of E2fsprogs 1.15

1999-06-25    <tytso@rsts-11.mit.edu>

	* f_recnect_bad: New test which checks the case where a disconnect
		inode also bad inode fields; we need to make sure e2fsck
		offers to fix the inode (or clear the inode, as necessary).

1999-03-14  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* f_lpffile: New test which checks how e2fsck handles a the case
		where lost+found exists, but it's not a directory.

1999-01-09  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs 1.14

1998-12-15  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs 1.13

1998-12-04  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* f_badtable, f_illitable, f_lpf: Update to deal with the fact
		that e2fsck will now create a lost+found directory at the
		end of pass 3 if one isn't present.

1998-07-09  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs 1.12

1998-07-05  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* f_swapfs: Fix script to ignore the version string header which
		debugfs now prints when it starts up.

1998-03-23  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* f_messy_inode: Modify test to deal with changes to support
		64-bit size files.  (/MAKEDEV had i_dir_acl, now
		i_size_high, set.)

1998-02-20  Theodore Y. Ts'o  <tytso@edt.mit.edu>

	* f_badinode: Set the immutable flag on the block and
		character device so that e2fsck notices them as bad
		devices, and offers to fix them.  E2fsck currently
		only checks devices with the immutable flag set, since
		otherwise there might be some false positives --- the
		kernel doesn't always clear the all of i_blocks[n],
		n>=4, due to a race condition.

Sat Oct 25 18:38:56 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Add scripts to skip the e_brel_bma and e_irel_ima tests (since
		they have been removed from the library for now)

Thu Aug 14 11:25:23 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* f_badinode: Modify test to check for "bad" character and block
		devices (i.e., ones which contain garbage block entries)

Tue Jun 17 01:33:20 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs 1.11

Thu Apr 24 12:16:42 1997  Theodre Ts'o  <tytso@localhost.mit.edu>

	* Release of E2fsprogs version 1.10

Thu Apr 17 12:23:38 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs version 1.09

Fri Apr 11 18:56:26 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs version 1.08

Wed Mar 26 09:29:25 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* e_icount_normal, e_icount_opt: New tests which validate the
		icount abstraction.

	* test_script.in: New feature; an argument of a single character
		means do all the tests in that series.

Tue Mar 18 15:11:04 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* test_config (LANG): Set the language to be C so that the brel
		and irel tests don't fail.

Wed Mar 12 13:32:05 1997  Theodore Y. Ts'o  <tytso@mit.edu>

	* Release of E2fsprogs version 1.07

Thu Mar  6 23:23:07 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* f_misstable: New test case which checks what happens when the
		inode table for a block group is missing

	* f_reconnect: New test case which makes sure a simple
		disconnected inode is properly handled.

Mon Dec  2 09:33:31 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* test_script.in: Add error checking to make sure a requested test
		exists.

Tue Oct 15 00:10:37 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* f_bbinode: New test case which exercises what happens when a bad
		block appears in the inode table.

Tue Oct  8 02:02:03 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs version 1.06

Mon Oct  7 07:52:41 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* f_preen: New test case which makes sure that e2fsck -p won't
 		bash the backup superblock in case of a corrupted master
 		superblock.
	
	* test_script.in: Let the environment variable TEST_CONFIG to
		override the location of the test_config file.  Move
		definition of TMP_DIR to test_config.

	* test_config: Add new defnitions for mke2fs, dumpe2fs, tune2fs,
		lsattr, and chattr.

Thu Sep 12 15:23:07 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs version 1.05

Mon Sep  9 23:09:47 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Makefile.in (check): Add explicit ./ to test_script invokation,
		since not all people will have "." in their path.

Tue Sep  3 15:13:05 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* test_config (PAGER): Unset pager to prevent debugfs forking a
 		pager, since the escape sequences confuse the expect
 		script.

Sun May 19 23:37:35 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* test_script: New feature; second optional argument allows
		developers to only run one test case.

	* f_crashdisk: New test case which contains a patently illegal
		superblock with a valid magic number.

Thu May 16 11:12:30 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs version 1.04

Wed May 15 21:41:29 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* f_illibitmap/expect.1, f_illbbitmap/expect.1: Changed
		expected output to reflect hint which e2fsck will print when
		there is a illegal block in the block group
		descriptors, pointing at a block bitmap, inode bitmap,
		or block in the inode table.

Wed Mar 27 00:33:40 1996    <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs version 1.03

Wed Jan 31 11:06:08 1996    <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs version 1.02

Mon Sep  4 23:06:06 1995  Remy Card  <card@bbj>

	* Makefile.in (clean, distclean): Use the -f option when removing
		files.

Fri Aug 11 10:10:30 1995  Theodore Y. Ts'o  <tytso@lurch.mit.edu>

	* test_script: Count up the number of passed and failed tests by
		tallying the *.ok and *.failed files.

	* run_e2fsck: Create foo.ok and foo.failed files when tests
		succeed or fail, respectively.

	* test_config (TZ): Set the timezone to be GMT, so that test
		results are consistent.

