Whamcloud - gitweb
In mke2fs and e2fsck, specifying the -c option twice will now do
[tools/e2fsprogs.git] / e2fsck / ChangeLog
index 3432de9..41734f4 100644 (file)
@@ -1,3 +1,295 @@
+2001-12-24  Theodore Tso  <tytso@valinux.com>
+
+       * unix.c (PRS): Don't allow the -c and -l/-L options to be
+               specified at the same time.
+
+       * e2fsck.h (E2F_OPT_WRITECHECK), unix.c (PRS), 
+               badblocks.c (read_bad_blocks_file): If two -c options are
+               specified, then perform a non-destructive read/write scan
+               of the disk.
+
+       * e2fsck.8.in: Document the double -c option; also encourage users
+               to use -c instead of the -l/-L options since it's too hard
+               for users to get things like the blocksize parameter correct.
+
+2001-12-23  Theodore Tso  <tytso@valinux.com>
+
+       * util.c (get_backup_sb): This function now searches for the
+               backup superblock by iterating over possible blocksizes
+               instead of defaulting a guess of 8193 if the superblock
+               isn't available.
+
+       * message.c (expand_percent_expression), unix.c (main): Pass in
+               new parameters to get_backup_sb.  Also, in unix.c, use the
+               blocksize paramter in the e2fsck context structure instead
+               of using a static variable, since get_backup_sb wants to
+               be able to set the blocksize paramter.
+
+       * e2fsck.h: Update function prototype for get_backup_sb; also add
+               the blocksize parameter to the e2fsck context structure.
+
+       * Makefile.in, jfs_user.h: Move linux/jbd.h to
+               ext2fs/kernel-jbd.h, to avoid using the system header
+               file version of hbd.h when using diet glibc (since it
+               forcibly adds /usr/include to the beginning of the
+               include search path.)
+
+2001-12-21  Theodore Tso  <tytso@valinux.com>
+
+       * problem.c (fix_problem): Use ctx->filesystem_name if the
+               ctx->device_name is NULL.
+
+       * journal.c (e2fsck_check_ext3_journal): Give the opportunity to
+               run the journal even if recovery flag is cleared.  If
+               we're using a backup superblock, run the journal by
+               default.
+
+       * e2fsck.h (E2F_OPT_FORCE), unix.c (PRS, check_if_skip): Use a
+               bitfield in the e2fsck context flags word to indicate
+               whether or not a check should be forced.  This allows the
+               journal code to set the option if necessary to force a
+               filesystem check.
+
+       * problem.h, problem.c: Remove PR_0_JOURNAL_RESET_JOURNAL, and add
+               PR_0_JOURNAL_RUN and PR_0_JOURNAL_RUN_DEFAULT.  Update
+               problem decription texts.
+
+2001-12-16  Theodore Tso  <tytso@valinux.com>
+
+       * e2fsck.h (ext2fs_get_refcount_size), unix.c (check_mount, PRS), 
+               pass1.c (adjust_extattr_refcount), 
+               ea_refcount.c (ea_refcount_create): Fix gcc -Wall nits.
+       
+       * recovery.c, revoke.c: Update to versions from 2.4.17-pre8.
+
+       * journal.c, jfs_user.h: Update support code for new version of
+               recover.c and revoke.c.  Fix support for filesystems with
+               external journals.
+
+2001-11-30 Gabriel Paubert <paubert@iram.es>
+
+       * journal.c (e2fsck_journal_load): Fix an endianness bug.
+
+2001-11-26  Theodore Tso  <tytso@valinux.com>
+
+       * super.c (check_super_block): Make sure that if the inode table
+               or allocation bitmap is zero, that it is marked as
+               invalid, so that in pass #1, a new bitmap/inode table gets
+               properly allocated.  (Addresses Debian Bug #116975)
+
+2001-11-24  Theodore Tso  <tytso@valinux.com>
+
+       * e2fsck.8.in: Fix minor typo in man page and clarify device
+               specification.
+
+2001-10-07  Theodore Tso  <tytso@valinux.com>
+
+       * 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.
+
+2001-09-20  Theodore Tso  <tytso@valinux.com>
+
+       * e2fsck.h, journal.c (e2fsck_move_ext3_journal): Add new function
+               which will automatically relocate the ext3 journal from a
+               visible file to an invisible journal file if the
+               filesystem has been opened read/write.
+
+       * super.c (check_super_block): Add call to e2fsck_move_ext3_journal
+
+       * problem.c, problem.h (PR_0_MOVE_JOURNAL, PR_0_ERR_MOVE_JOURNAL):
+               Add new problem codes.
+
+2001-09-20  Theodore Tso  <tytso@thunk.org>
+
+       * Release of E2fsprogs 1.25
+
+2001-09-19  Theodore Tso  <tytso@valinux.com>
+
+       * unix.c (main): If a superblock is specified explicitly by the
+               user, don't try to automatically fall back to an
+               alternate superblock.
+
+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-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