Whamcloud - gitweb
Update for 1.24 release.
[tools/e2fsprogs.git] / e2fsck / ChangeLog
index 07fa523..bf114f3 100644 (file)
@@ -1,3 +1,684 @@
+2001-08-30  Theodore Tso  <tytso@thunk.org>
+
+       * Release of E2fsprogs 1.24
+
+2001-08-30  Theodore Tso  <tytso@valinux.com>
+
+       * pass1.c (e2fsck_pass1): For EXT2_RESIZE_INO, allow its i_mode to
+               either be zero or a regular file (for compatibility with
+               Andreas's on-line resizing programs).
+
+2001-08-27  Theodore Tso  <tytso@valinux.com>
+
+       * unix.c (main): Remove EXT2FS_VERSION from the version display,
+               since it only confuses people.
+
+       * pass1.c (strnlen): Provide strnlen if libc doesn't.
+
+2001-08-15  Theodore Tso  <tytso@valinux.com>
+
+       * Release of E2fsprogs 1.23
+
+2001-08-13  Theodore Tso  <tytso@valinux.com>
+
+       * super.c (release_orphan_inodes): If the filesystem contains
+               errors, don't run the orphan * list, since the orphan list
+               can't be trusted.
+
+       * pass1.c (check_size): Fix logic in check_size; the previous code
+               only offered to clear the inode size fields if both size
+               and i_size_high were zero.
+               (e2fsck_pass1_check_device_inode): If i_blocks is
+               non-zero, then assume that the device/socket/fifo inode
+               is bogus.
+
+2001-08-09  Theodore Tso  <tytso@valinux.com>
+
+       * pass1.c, pass2.c, problem.c, problem.h: Fix bug introduced by
+               Andreas's symlink code; check_blocks() was unconditionally
+               testing inode_bad_map without checking to see if it
+               existed first.  Fixed problem a different way; we now no
+               longer check inode_bad_map at all, since the file might
+               not get deleted in pass 2 anyway.  We move the large file
+               feature reconciliation code to to e2fsck_pass2(), and in
+               deallocate_inode() in pass2.c, we decrement the large
+               files counter if we're about to delete a large file.
+
+       * unix.c (show_stats): Print the number of large files in verbose
+               mode.
+
+2001-08-07  Theodore Tso  <tytso@valinux.com>
+
+       * journal.c (recover_ext3_journal): If s_errno is set in the
+               journal superblock, set the EXT2_ERROR_FS flag in the
+               filesystem superblock after the journal is run.
+
+2001-08-04  Andreas Dilger  <root@lynx.adilger.int>
+
+       * message.c:  Change comments for %D and %d expansion in e2fsck
+               problem codes.  It was not consistent which was for dirent
+               expansion, and which was for directory number expansion.
+
+       * problem.c (PR_2_FINAL_RECLEN, PR_2_BAD_FILETYPE): Fix problem
+               codes which got caught by the confusion between %D and %d.
+
+2001-08-04  Theodore Tso  <tytso@valinux.com>
+
+       * problem.c (PR_2_SYMLINK_SIZE): Change description to make it
+               more clear (and remove %s expansion).  Also add missing
+               periods to the end of a number of problem descriptions.
+
+       * pass2.c (e2fsck_process_bad_inode): Remove unneeded problem
+               context string set now that the problem description for
+               PR_2_SYMLINK_SIZE has been changed.
+
+       * pass1.c (e2fsck_pass1_check_symlink): Consolidate some checks,
+               and check the validity of the symlink block here (so that
+               we detect this case here instead of later).  Also use
+               sizeof(inode->i_block) instead EXT2_LINK_DIR.
+
+2001-07-30  Theodore Tso  <tytso@valinux.com>
+
+       * unix.c (check_mount): Remove the code which tested for the root
+               filesystem being mounted read-only, and depend on the
+               results flags from ext2fs_check_if_mounted.
+
+2001-07-29  Theodore Tso  <tytso@valinux.com>
+
+       * unix.c (check_if_skip): Free the e2fsck context structure on a
+               normal clean filesystem exit, to make it easier to find
+               real memory leaks.
+               (PRS): Only update the path to include /sbin at the
+               beginning if the -c option is given, again to make it
+               easier to find memory leaks.
+               (main): Move the final print_resource_track call after the
+               filesystem and the context are freed.
+
+       * journal.c (e2fsck_journal_init_dev): Avoid memory leak if we
+               need to search for the journal device.
+               (e2fsck_journal_release): Free the journal IO channel when
+               we release the journal handle, to avoid a memory leak.
+
+       * e2fsck.c (e2fsck_reset_context): Fix bug; only close the io
+               channel if it is *different* from the filesystem io
+               channel.
+
+2001-07-27  Theodore Tso  <tytso@valinux.com>
+
+       * problem.c (PR_1_SET_IMMUTABLE): Clarify problem message.
+
+       * pass1.c (e2fsck_pass1): Check for symlinks that have the
+               immutable flag set (and offer to clear them).
+
+2001-07-26  Theodore Tso  <tytso@valinux.com>
+
+       * pass1.c (e2fsck_pass1): Free ctx->block_ea_map at the end of
+               pass 1.
+
+2001-07-25  Theodore Tso  <tytso@valinux.com>
+
+       * pass1.c (check_ext_attr): Skip zero-length EA entries.
+
+       * problem.c: PR_1_EA_ALLOC_COLLISION shouldn't abort, but should
+               prompt to clear the EA block.
+
+2001-07-22  Theodore Tso  <tytso@valinux.com>
+
+       * journal.c (ll_rw_block): Use ctx->journal_io instead of the
+               filesystem's io_channel.
+               (e2fsck_journal_init_dev): New function which supports 
+               initialization of the external journal.
+               (e2fsck_get_journal): Remove code which flagged an error
+               if the superblock reported the use of an external journal.
+               (ext3_journal_via_mount): Remove unsued, #ifdefed out function.
+
+       * problem.c, problem.h: Removed error codes no longer used
+               (PR_0_JOURNAL_UNSUPP_DEV, PR_0_JOURNAL_BAD_DEV,
+               PR_0_JOURNAL_UNSUPP_UUID) and replace them with new error
+               codes related with failures in loading the external
+               journal (PR_0_JOURNAL_UNSUPP_MULTIFS,
+               PR_0_CANT_FIND_JOURNAL, PR_0_EXT_JOURNAL_BAD_SUPER).
+               Also changed the text assocated with PR_0_JOURNAL_BAD_UUID
+               to reflect the case where the external journal isn't
+               correct for this filesystem.
+
+       * unix.c (PRS), e2fsck.8.in: Add new option -j which allows
+               the user to specify the pathname to find the external journal.
+
+       * e2fsck.c (e2fsck_reset_context): Close journal_io if it isn't
+               the same as the filesystem io_channel.
+
+       * e2fsck.h: Add new fields (journal_io and journal_name) in the
+               context structure to support external journals.
+
+2001-07-20  Theodore Tso  <tytso@valinux.com>
+
+       * unix.c (main): Add an explicit warning when the filesystem is
+               left not completely fixed when e2fsck exits.  (Addresses
+               Debian bug #104502.)
+
+2001-07-19  Theodore Tso  <tytso@valinux.com>
+
+       * pass1.c (check_ext_attr): The entire EA block is now checked to
+               make sure that parts of the EA block aren't being used for
+               multiple purposes.
+
+       * Makefile.in e2fsck.h, region.c: New file which is used to detect
+               collisions in extended attribute block.
+
+       * problem.h, problem.c (PR_1_EA_MULTI_BLOCK, PR_1_EA_ALLOC_REGION,
+               PR_1_EA_ALLOC_COLLISION, PR_1_EA_BAD_NAME,
+               PR_1_EA_BAD_VALUE): Add new problem codes.
+
+2001-07-10  Theodore Tso  <tytso@valinux.com>
+
+       * journal.c (e2fsck_run_ext3_journal): Only call ext3_flush() if
+               the superblock is dirty.
+
+2001-07-07  Theodore Tso  <tytso@valinux.com>
+
+       * pass1b.c (pass1b, process_pass1b_block): Change the num_bad
+               field calculation so that it only counts EA block entries
+               as a single multiply claimed block (since once we clone
+               the EA blocks for one inode, we fix the problem for all of
+               the other inodes).  Also, I moved the num_bad calculation
+               from process_pass1b_block to the end of pass1b.  This
+               fixes a *significant* performance bug in pass1b which hit
+               people who had to had a lot of multiply claimed blocks.
+               (Can you say O(n**3) boys and girls?  I knew you could...
+               Fortunately, this case didn't happen that much in actual
+               practice.)
+
+       * pass1.c (e2fsck_pass1): Defer inodes which have an extended
+               attribute block for later processing to avoid extra seeks
+               across the disk.
+               (process_inode_cmp): If there is no indirect block, sort
+               by the extended attribute (i_file_acl) block.
+
+       * pass1b.c (clone_file_block): Fix bugs when cloning extended
+               attribute blocks.  Moved free of block_buf to after the
+               code which clones the extattr block, and fixed logic for
+               changing pointers to the extended attribute field in the
+               inodes which were affected.
+               (decrement_badcount): New function which is used whenever
+               we need to decrement the number of files which claim a
+               particular bad block.  Fixed bug where delete_file wasn't
+               checking check_if_fs_block() before clearing the entry in
+               block_dup_map.  This could cause a block which was claimed
+               by multiple files as well as the filesystem metadata to
+               not be completely fixed.
+
+       * pass1.c (adjust_extattr_refcount): Add new function which
+               adjusts the reference counts of extended attribute blocks
+               if needed, both up and down.
+               (e2fsck_pass1): If the refcount or refcount_extra
+               structure are present, call adjust_extattr_refcount(),
+               and free it afterwards.
+
+       * problem.h, problem.c (PR_1_EXTATTR_READ_ABORT, 
+               PR_1_EXTATTR_REFCOUNT, PR_1_EXTATTR_WRITE): Add new
+               problem codes.
+
+2001-07-02  Theodore Tso  <tytso@valinux.com>
+
+       * pass1.c (e2fsck_pass1, check_ext_attr, check_blocks): Add
+               initial support for scanning extended attribute blocks.
+
+       * e2fsck.c (e2fsck_reset_context): free extended attribute
+               refcount structure.
+
+       * e2fsck.h: Add new fields for accounting for the extended
+               attribute blocks.
+
+       * Makefile.in, ea_refcount.c, e2fsck.h: Add new file which
+               implements a reference count abstraction.
+
+       * problem.c, problem.h: Add new problem codes PR_1_ALLOCATE_REFCOUNT,
+               PR_1_READ_EA_BLOCK, PR_1_BAD_EA_BLOCK, PR_2_FILE_ACL_BAD
+
+       * message.c: Add "@a" as an abbreviation for "extended attribute"
+
+       * pass1b.c (clone_file): Add code which handles cloning an
+               extended attribute block.
+
+       * pass1b.c (delete_file): 
+       * pass2.c (deallocate_inode): If the inode contains an extended
+               attribute block in the file_acl field, clear it and
+               deallocate the block.
+
+2001-06-28  Theodore Tso  <tytso@valinux.com>
+
+       * pass2.c (e2fsck_process_bad_inode): Deal with inodes which are
+               marked bad because of an invalid file_acl (either because
+               EXT2_FEATURE_COMPAT_EXT_ATTR is not set, or because the
+               block number in file_acl is bad.
+
+2001-06-29  Theodore Tso  <tytso@valinux.com>
+
+       * unix.c (show_stats): Use long long to calculate the percentage
+               of the number of blocks in use in the filesystem.
+
+2001-06-23  Theodore Tso  <tytso@valinux.com>
+
+       * Release of E2fsprogs 1.22
+
+2001-06-22  Theodore Tso  <tytso@valinux.com>
+
+       * flushb.c: Use platform independent method of defining the
+               BLKFLSBUF ioctl.  Also include sys/mount.h since on newer
+               platforms BLKFLSBUF is defined there.
+
+2001-06-19  Theodore Tso  <tytso@valinux.com>
+
+       * super.c (release_inode_blocks): Don't try to release the blocks
+               if the orphaned inode is a device file, symlink, or some
+               other kind of special file that doesn't have a block list.
+
+2001-06-15  Theodore Tso  <tytso@valinux.com>
+
+       * Release of E2fsprogs 1.21
+
+2001-06-13  Theodore Tso  <tytso@valinux.com>
+
+       * unix.c (check_if_skip): Adapted patch from Andreas Dilger which
+               prints the number of mounts or days elapsed since the last
+               check when e2fsck is forced to check an otherwise clean
+               filesystem.
+
+2001-06-12  Theodore Tso  <tytso@valinux.com>
+
+       * badblocks.c: Stop using the compatibility badblocks function,
+               and use the ext2fs_badblocks_* functions instead.
+
+2001-06-11  Theodore Tso  <tytso@valinux.com>
+
+       * unix.c (PRS): Fix bug introduced in 1.20 which broke the -F
+               flag.
+
+       * Makefile.in: Add message.c and swapfs.c to the list of source
+               files to build the make depend.
+
+       * swapfs.c, unix.c: Only support the -s and -S options to e2fsck
+               if ENABLE_SWAPFS is defined.
+
+2001-06-08  Theodore Tso  <tytso@valinux.com>
+
+       * recover.c, revoke.c: Synchronize with ext3 0.7a
+
+2001-06-02  Theodore Tso  <tytso@valinux.com>
+
+       * recovery.c (scan_revoke_records): Fix bug in recovery code;
+               missing byte order conversion.
+
+       * pass1.c (mark_inode_bad): Replace alloc_bad_map with a function
+               which sets the bit in the bad inode bitmap.
+               (e2fsck_pass1): Check for fast symlinks with an invalid
+               size, and set the bad inode map in that case.
+               (check_size): Check i_size_high for special files and
+               prompt to clear it along with i_size if non-zero.
+
+       * pass2.c (e2fsck_process_bad_inode): Check for fast symlinks with
+               an invalid size and prompt the user if the inode should be
+               cleared.
+
+       * problem.h, problem.c (PR_2_SYMLINK_SIZE): Added new problem code.
+
+2001-06-01  Theodore Tso  <tytso@valinux.com>
+
+       * problem.c, problem.h: Change PR_0_JOURNAL_UNSUPP_INCOMPAT and
+               PR_0_JOURNAL_UNSUPP_ROCOMPAT so they aren't fatal errors,
+               but prompt to see if the user should abort.  Removed the
+               PR_0_JOURNAL_RESET_COMPAT problem code.
+
+       * journal.c (e2fsck_journal_load): If there are incompatible
+               journal flags, just return an error code.
+               (e2fsck_check_ext3_journal): If e2fsck_journal_load
+               returns an error code indicating that there are
+               incompatible journal flag, check to see if we should
+               abort, and then offer to clear the journal.
+               (Addresses Debian bug #98527.)
+
+       * Makefile.in: Move include/asm/types.h.in to
+               lib/ext2fs/ext2_types.h.in.
+
+2001-06-01  Theodore Tso  <tytso@valinux.com>
+
+       * pass1.c (pass1_get_blocks, pass1_read_inode, pass1_write_inode, 
+               pass1_check_directory): Add a safety check to make sure
+               ctx->stashed_inode is non-zero.
+
+       * pass1b.c (pass1b): Use e2fsck_use_inode_shortcuts() to disable
+               the inode shortcut processing, instead of manually
+               clearing only half of the function pointers that needed to
+               be NULL'ed out.  This caused nasty bugs if the last inode
+               in the filesystem needed dup block processing.
+               
+       * pass1b.c (clone_file_block): When cloning a directory's metadata
+               block, don't try to update the directory block list
+               database, since indirect blocks aren't stored in the
+               database and the resulting error will abort the file clone
+               operation.
+
+2001-05-25  Theodore Tso  <tytso@valinux.com>
+
+       * Release of E2fsprogs 1.20
+
+2001-05-25  Theodore Tso  <tytso@valinux.com>
+
+       * journal.c (e2fsck_journal_reset_super): Remove extraneous line
+
+2001-05-23  Theodore Tso  <tytso@valinux.com>
+
+       * journal.c (e2fsck_journal_reset_super): Fix bug; the reset
+               journal wasn't getting written out to disk since the dirty
+               bit wasn't being set on the buffer.
+               (e2fsck_journal_load): Don't print an error message if the
+               journal version number is wrong; just return a error code
+               reflecting this fact.  If the block type in the journal
+               superblcok is obviously not a version number, report the
+               journal is corrupted.
+               (e2fsck_check_ext3_journal): On an unsupported journal
+               version, prompt to abort by default, but then offer a
+               chance to clear the journal as corrupt.
+
+       * problem.c, problem.h (PR_0_JOURNAL_UNSUPP_VERSION): Added new
+               problem code.
+
+2001-05-14  Theodore Tso  <tytso@valinux.com>
+
+       * pass1.c: Treat inodes with a low dtime (that were from a
+               corrupted orphan list) specially.
+
+       * problem.c, problem.h: Add new problem codes PR_1_LOW_DTIME and
+               PR_1_ORPHAN_LIST_REFUGEES, and a new latch group,
+               PR_LATCH_LOW_DTIME.
+
+       * problemP.h: Expand the size of the problem flag to be an int
+               instead of a short.  Expand space in the flag word which
+               is reserved for problem latch flags from 3 bits to 8 bits.
+
+       * e2fsck.h, scantest.c: Change location of ext2_fs.h to be
+               ext2fs/ext2_fs.h
+
+       * super.c (check_super_block): Be more strict on checking
+               s_r_blocks_count superblock field.
+
+2001-05-13  Theodore Tso  <tytso@valinux.com>
+
+       * problem.c, problem.h (PR_0_JOURNAL_UNSUPP_ROCOMPAT, 
+               PR_0_JOURNAL_UNSUPP_INCOMPAT, PR_0_JOURNAL_RESET_COMPAT):
+               New problem codes.      
+
+       * journal.c (e2fsck_journal_load): Use a problem code to
+               report unsupported feature flags.  There is code to
+               clear unsupported flags, but since this is dangerous,
+               it's not allowed in the problem code table.
+       
+2001-05-11  Andreas Dilger  <adilger@turbolinux.com>
+
+       * journal.c (e2fsck_journal_reset_super): initialize the journal
+               sequence number to a random value to avoid recovering
+               bad transactions from a corrupt journal.
+
+2001-05-13  Theodore Tso  <tytso@valinux.com>
+
+       * journal.c: Code cleanup; initialize journal_enable_debug using
+               an initializer.
+
+2001-05-12  Theodore Tso  <tytso@valinux.com>
+
+       * unix.c (PRS): Skip validation of -C's file descriptor if it is
+               zero, since that is special case.
+
+2001-05-09  Theodore Tso  <tytso@valinux.com>
+
+       * super.c (release_orphan_inodes): Add gettext quoting around
+               "Truncating" and "Clearing" for i18n.
+
+2001-05-05  Theodore Tso  <tytso@valinux.com>
+
+       * util.c (fatal_error): Use the correct magic number when checking
+               the magic number for the io_channel data structure.  Also
+               remove extraneous call to io_channel_flush() that was left
+               over from an editing session.
+
+       * pass2.c (check_dir_block): Ignore EXT2_ET_DIR_CORRUPTED errors
+               from ext2fs_read_dir_block().
+
+2001-05-01  Theodore Tso  <tytso@valinux.com>
+
+       * unix.c (PRS): Validate the completion information file
+               descriptor so that the completion bar won't get
+               accidentally written onto the disk.
+
+       * e2fsck.8.in: Add explanation that you can use mke2fs -n -b
+               blocksize to printout alternate superblock locations.
+
+2001-04-26  Theodore Tso  <tytso@valinux.com>
+
+       * unix.c (check_if_skip): If the max_mount_count is zero, treat it
+               as having no count set.
+
+2001-04-16  Theodore Tso  <tytso@valinux.com>
+
+       * super.c (check_super_block): Fix bad calculation of
+               inodes_per_block, and tighten min/max checks to be a bit
+               more paranoid.  Thanks to Andreas Dilger for pointing out
+               this bug.
+
+2001-03-29  Theodore Tso  <tytso@valinux.com>
+
+       * journal.c (mark_buffer_uptodate): Add emulation of kernel
+               function mark_buffer_uptodate.
+
+       * recovery.c, revoke.c: Synchronize with 0.6b ext3 files.
+
+2001-02-12  Theodore Tso  <tytso@valinux.com>
+
+       * journal.c (e2fsck_run_ext3_journal): Force a flush of the
+               filesystem and io_channel before replaying the journal.
+
+2001-01-17  Theodore Ts'o  <tytso@valinux.com>
+
+       * pass1.c (check_blocks): Fix large file checking code so that
+               files > 2GB are considered large files, and restrict
+               directories from being > 2GB.
+
+2001-01-12  Theodore Ts'o  <tytso@valinux.com>
+
+       * journal.c (e2fsck_journal_fix_unsupported_super): Remove unused
+               function.  Add FIXME notes to e2fsck_get_journal(), from
+               Andreas Dilger.
+
+       * pass1.c (e2fsck_pass1): Cap the maximum legal size of a file by
+               the limit caused by the fact that i_blocks is in 512 byte
+               units, and that the Linux buffer cache also fundamentally
+               assumes 512 byte sectors.  
+               Make sure that the journal inode is a regular file, and
+               when clearing an unused journal inode, make sure the
+               icount db is updated.
+       
+       * problem.c, problem.h (PR_1_JOURNAL_BAD_MODE): Add new problem code.
+
+       * problem.c: For PR_1_RESERVED_BAD_MODE, print a description of
+               the reserved inode.  In PR_0_JOURNAL_HAS_JOURNAL, prompt
+               to clear the journal, rather than deleting it (which is
+               more accurate).  (From Andreas Dilger.)
+
+       * journal.c: Make sure all functions which return an error code
+               use the errcode_t return type, and not "int"
+               (e2fsck_journal_release): Add new parameter, "drop",
+               which is used when we just want to deallocate the journal
+               without trying to write out any changes.
+               (mark_buffer_clean): New function
+               (e2fsck_check_ext3_journal): If we fail loading the
+               journal, make sure we free all memory associated with it.
+               (recover_ext3_journal): If we fail to load the journal or
+               initialize the revoke data structures, make sure we free all
+               memory associated with the journal.
+
+       * message.c (special_inode_name): Add more special inode names
+               (From Andreas Dilger)
+
+       * util.c (fatal_error): Check to make sure the io_manager data
+               structure is sane before trying to flush the io_channel.
+               (From Andreas Dilger)
+
+       * mtrace.h, super.c, pass2.c: Minor whitespace cleanups, from
+               Andreas Dilger.
+
+       * journal.c (e2fsck_journal_fix_bad_inode): Set pctx->ino to the
+               bad journal number.
+
+       * problem.c (PR_0_JOURNAL_BAD_INODE): Use pctx->ino instead of
+               pctx->num when printing the bad journal inode number.
+
+2001-01-11    <tytso@snap.thunk.org>
+
+       * pass1.c (process_block): Remove dead code which was never
+               getting executed.
+
+       * iscan.c, unix.c, e2fsck.h: Don't use NOARGS, and use
+               ext2fs_sync_device() instead of using BLKFLSBUF.
+
+       * flushb.c: Don't use NOARGS anymore; everything is STDC these days.
+       
+       * dirinfo.c, e2fsck.h, emptydir.c, iscan.c, jfs_user.h, journal.c,
+               message.c, pass1.c, pass1b.c, pass2.c, pass3.c, pass4.c,
+               pass5.c, problem.h, scantest.c, super.c, swapfs.c: Change
+               ino_t to ext2_ino_t.
+
+2001-01-09    <tytso@snap.thunk.org>
+
+       * problem.c: Fix another broken @F vs @f problem.
+
+2001-01-06    <tytso@snap.thunk.org>
+
+       * journal.c, pass1.c, pass1b.c, pass3.c, recovery.c, revoke.c,
+               super.c, unix.c, util.c: Fix random gcc -Wall complaints.
+
+       * jfs_user.h: Use more sophisticated inline handling to allow
+               building with --enable-gcc-wall
+
+2001-01-03    <tytso@snap.thunk.org>
+
+       * pass1.c (e2fsck_pass1): Moved journal inode handling out to its
+               own block; if the journal inode is not in use, and it
+               contains data, offer to clear it.
+
+       * problem.h, problem.c (PR1_JOURNAL_INODE_NOT_CLEAR): Add new
+               problem code.
+
+       * problem.c: Modified problem table to use a new abbreviations.
+
+       * message.c: Add @j abbreviation for journal, and @v abbreviation
+               for device.
+
+       * jfs_user.h: Moved contents of jfs_e2fsck.h into jfs_user.h.
+
+       * journal.c (e2fsck_check_ext3_journal): Force a fsck if we remove
+               the journal stored on a reserved inode.  Also force a fsck
+               if the journal appears to exist while !NEEDS_RECOVERY, and
+               we forcibly reset the journal.
+
+2001-01-01    <tytso@snap.thunk.org>
+
+       * journal.c, pass1.c, super.c, unix.c: Replace use of struct
+               ext2fs_sb with struct ext2_super_block.
+
+       * pass1.c (check_blocks): Remove use of EXT2_HAS_*_FEATURE macros.
+
+2000-12-31    <tytso@snap.thunk.org>
+
+       * jfs_compat.h: Remove uneeded header file.
+
+2000-12-30    <tytso@snap.thunk.org>
+
+       * malloc.h, mtrace.c: Renamed malloc.h to mtrace.h to avoid
+               conflicts with the system header file.
+
+       * problem.h: Fixed numbering of pass1 error messages; an extra 0
+               had slipped into some of the numbers.  (Pointed out by
+               Andreas Dilger)
+
+       * journal.c (e2fsck_journal_fix_corrupt_super): Clean up
+               unnecessary automatic variable.  Add explanatory comment
+               about the kernel emulation routines.  (Suggested by
+               Andreas Dilger)
+
+2000-12-13  Theodore Ts'o  <tytso@valinux.com>
+
+       * journal.c (e2fsck_check_ext3_journal): Check to make sure the
+               journal fields are consistent if any of the superblock
+               fields are set.  (Backs out erroneous change made by sct,
+               pointed out by Andreas.)
+
+       * unix.c (main): Clarify coments (no code changes)
+
+       * super.c (release_orphan_inodes): Fix spelling typo in error message.
+
+       * pass1.c (e2fsck_pass1): Offer to update the filesystem revision
+               level if we need to set large files flag.  Patch from
+               Andreas Dilger.
+
+       * super.c (check_super_block): If we have any of the compatibility
+                flags set, we need to have a revision 1 filesystem.  Most
+                kernels will not check the flags on a rev 0 filesystem
+                and we may have corruption issues because of the
+                incompatible changes to the filesystem.  Patch from Andreas
+                Dilger.
+
+       * problem.c, problem.h (PR_0_FS_REV_LEVEL, PR_1_FS_REV_LEVEL): Add
+               new problem codes.
+
+2000-12-09    <tytso@snap.thunk.org>
+
+       * flushb.c: Fix flushb so that it does something other than waste
+               disk space when built on systems with modern header files
+               and add a non-subtle Copyright Licensing restriction so
+               Yann will remove it from the Debian Distribution.  (Now
+               violates the Debian Free Software Guidelines, on purpose.)
+
+       * journal.c (e2fsck_check_ext3_journal): If JFS_DEBUG is defined
+               at the top level, set the JFS debuging level to 2.
+
+       * jfs_e2fsck.h, jfs_user.h: Replaces jfs_compat.h.  The jfs.h file
+               has been moved to the include/linux directory.
+
+       * journal.c, revoke.c, recovery.c: Updated files from Stephen to
+               support the V2 superblock and revoke processing.  The
+               journal.c and revoke.c files are copies from the ext3
+               kernel source.
+
+       * Makefile.in: Added revoke.c to the list of source/object files.
+
+2000-11-16  Theodore Ts'o  <tytso@valinux.com>
+
+       * pass1b.c: Change routines to use PR_1B_BLOCK_ITERATE when
+               reporting problems rather than using com_err directly.
+
+       * problem.c, problem.h (PR_1B_BLOCK_ITERATE): Add new problem code.
+
+       * message.c (expand_percent_expression): Add safety check.  If
+               ctx->str is NULL, print "NULL" instead of dereferencing
+               the null pointer.
+
+       * pass1b.c, pass2.c, pass3.c: Change calls to ext2fs_block_iterate
+               to ext2fs_block_iterate2, to support 64-bit filesizes and
+               to speed things up slightly by avoiding the use of the
+               ext2fs_block_iterate's compatibility shim layer.
+
+2000-10-30    <tytso@snap.thunk.org>
+
+       * util.c (get_backup_sb): Calculate backup superblock correctly
+               when the blocksize is > 1k.
+
+2000-10-26    <tytso@snap.thunk.org>
+
+       * jfs.h, jfs_compat.h, journal.c: Updated to include the
+               definition of the new journal superblock format; still
+               only supports V1 superblocks for now.  (From sct)
+
 2000-10-24    <tytso@snap.thunk.org>
 
        * super.c (release_inode_block, release_inode_blocks,