Commit Graph

276 Commits (f122632e6bb8a51126da2c71bdb95fbcb52f51bc)

Author SHA1 Message Date
Theodore Ts'o 24ceb248ab pass1.c (e2fsck_pass1): Free ctx->block_ea_map at the end of pass 1.
This avoids increasing the memory footprint of e2fsck by 10%!
2001-07-26 09:02:56 -04:00
Theodore Ts'o 14fe1c3314 Apply fixes reported by Andreas Gruenbacher:
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-25 19:48:24 -04:00
Theodore Ts'o adee8d75db Add support for use of an external journal (so long as the external
journal only has one filesystem).
2001-07-23 00:17:49 -04:00
Theodore Ts'o d312401961 unix.c (main): Add an explicit warning when the filesystem is left not
completely fixed when e2fsck exits.  (Addresses Debian bug #104502.)
2001-07-20 14:13:49 -04:00
Theodore Ts'o 55fd07ed0a This patch completes the initial extended attribute/ACL support for
e2fsck.  We now check the entire EA block to make sure that the all
of the EA entries look sane.
2001-07-19 16:31:25 -04:00
Theodore Ts'o 0f2cfe2579 Fix really stupid typo. 2001-07-10 14:34:41 -04:00
Theodore Ts'o 3c6b8977d4 Speed up journal recovery in userspace by avoiding a pointless
unconditional ext2_flush() call.  Also made ext2_flush() more
efficient when the superblock is modified after the filesystem has
been flushed, and make it clear the superblock dirty flag
after doing the superblock/block group descriptor flush.
2001-07-10 14:27:58 -04:00
Theodore Ts'o 7b63fff9b6 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.)
2001-07-07 23:01:31 -04:00
Theodore Ts'o b5acdb6ae2 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.
2001-07-07 22:27:40 -04:00
Theodore Ts'o 7abb2bdcd6 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.
2001-07-07 13:20:34 -04:00
Theodore Ts'o e8a3ee628a Add code to check and fix incorrect reference counts in the extended
attribute blocks.
2001-07-07 11:12:50 -04:00
Theodore Ts'o 342d847db3 Add initial support for extended attribute blocks 2001-07-02 11:54:09 -04:00
Theodore Ts'o 636a954a30 Use long long to calculate the percentage
of the number of blocks in use in the filesystem.
2001-06-29 17:57:26 -04:00
Theodore Ts'o 67960139d7 Update changelogs for 1.22. 2001-06-23 00:16:37 -04:00
Theodore Ts'o d90f3494b2 e2fsck/flushb.c and lib/ext2fs/flushb.c: Use platform independent
method of defining the BLKFLSBUF and FDFLUSH ioctl's.
	Also include sys/mount.h since on newer glibc's BLKFLSBUF
	is defined there.
2001-06-22 21:01:17 -04:00
Theodore Ts'o 42475e281d 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-22 20:35:38 -04:00
Theodore Ts'o f4f75bae85 ChangeLog:
Update for 1.21 release.
2001-06-16 01:14:28 +00:00
Theodore Ts'o e333845b2a RELEASE-NOTES, ChangeLog:
Add Debian bug number which got resolved.
2001-06-14 07:11:33 +00:00
Theodore Ts'o f76ad46200 problem.c:
Fix tabbing/indenting from Andreas.
2001-06-14 06:58:33 +00:00
Theodore Ts'o b6a0807b08 ChangeLog, unix.c:
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-14 01:16:17 +00:00
Theodore Ts'o 16f095ee6e Makefile.in:
Insert missing dependencies.
2001-06-13 21:40:58 +00:00
Theodore Ts'o cbbf031b6e ChangeLog, dumpe2fs.c, mke2fs.c:
dumpe2fs.c: Use WORDS_BIGENDIAN to determine whether or not we're
  	(not) using i386 byte order.
  dumpe2fs.c, mke2fs.c: Stop using the compatibility badblocks function,
  	and use the ext2fs_badblocks_* functions instead.
ChangeLog, inode.c, tst_iscan.c:
  inode.c, tst_iscan.c: Stop using the compatibility badblocks function,
  	and use the ext2fs_badblocks_* functions instead.
ChangeLog, badblocks.c:
  badblocks.c: Stop using the compatibility badblocks function, and use
  	the ext2fs_badblocks_* functions instead.
2001-06-13 00:12:04 +00:00
Theodore Ts'o 3034f62a0f ChangeLog, Makefile.in, bitops.h, gen_bitmap.c:
Makefile.in, gen_bitmap.c, bitops.h: Move inline functions
  	ext2fs_mark_generic_bitmap and ext2fs_unmark_generic_bitmap to
  	gen_bitmap.c as normal functions.  (This saves space and doesn't
  	significantly change the speed of e2fsck on a P-III.)
ChangeLog:
  Add missing log entry for unix.c.
2001-06-11 15:17:45 +00:00
Theodore Ts'o 5df55d7f84 ChangeLog, Makefile.in, swapfs.c, unix.c:
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.
Many files:
  ext2fs.h, bitops.h, block.c, bmap.c, closefs.c, dirblock.c, inode.c,
  	native.c, openfs.c, rw_bitmaps.c, swapfs.c: Only include the
  	byte-swapping logic if ENABLE_SWAPFS is turned on or if we're on a
  	big-endian machine.
  initialize.c (ext2fs_initialize):Use WORDS_BIGENDIAN directly to set
  	EXT2_FLAG_SWAP_BYTES, instead of using ext2fs_native_flag.
  native.c (ext2fs_native_flag): Use WORDS_BIGENDIAN provided by
  	autoconf to determine whether or not return EXT2_FLAG_SWAP_BYTES.
2001-06-11 07:00:04 +00:00
Theodore Ts'o 725c474ffc ChangeLog, jfs.h:
jfs.h: Synchronize with ext3 0.7a
ChangeLog, recovery.c, revoke.c:
  recover.c, revoke.c: Synchronize with ext3 0.7a
2001-06-08 11:55:44 +00:00
Theodore Ts'o a479fe6049 ChangeLog, recovery.c:
recovery.c (scan_revoke_records): Fix bug in recovery code; missing
  	byte order conversion.
2001-06-02 04:50:14 +00:00
Theodore Ts'o 62b6d47987 ChangeLog:
Add other change to pass1.c
2001-06-02 04:37:02 +00:00
Theodore Ts'o fdbdea09b8 ChangeLog, pass1.c, pass2.c, problem.c, problem.h:
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.
  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-02 04:26:26 +00:00
Theodore Ts'o 36a23e1806 ChangeLog:
Fix typo in ChangeLog.
2001-06-02 00:54:10 +00:00
Theodore Ts'o 2f686ace1c ChangeLog, journal.c, problem.c, problem.h:
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.
2001-06-02 00:38:40 +00:00
Theodore Ts'o 797f5ef14e ChangeLog, wordwrap.pl:
Makefile.in: Move include/asm/types.h.in to lib/ext2fs/ext2_fs.h.in.
  wordwrap.pl: Add some rules which help fix up the dependencies.
Many files:
  Move include/asm/types.h.in to lib/ext2fs/ext2_fs.h.in.
2001-06-01 23:49:46 +00:00
Theodore Ts'o 71d521c609 ChangeLog, pass1.c, pass1b.c:
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-06-01 19:29:36 +00:00
Theodore Ts'o bb185861d1 e2fsprogs.lsm, version.h:
Update version string for 1.20 release
ChangeLog:
  Update Changelogs for 1.20 release.
2001-05-25 17:35:00 +00:00
Theodore Ts'o 561cd4dd60 ChangeLog, journal.c:
journal.c (e2fsck_journal_reset_super): Remove extraneous line
2001-05-25 16:40:56 +00:00
Theodore Ts'o c7f23364fd ChangeLog, journal.c, problem.c, problem.h:
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-23 22:19:47 +00:00
Theodore Ts'o 21afac096d ChangeLog, pass1.c, problem.c, problem.h, problemP.h:
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.
ChangeLog, expect.1, expect.2, image.gz, name:
  f_badorphan: New test which verifies corrupted orphan list handling.
2001-05-14 12:47:41 +00:00
Theodore Ts'o 54c637d4d2 Many files:
badblocks.c, chattr.c, dumpe2fs.c, e2image.c, findsuper.c, lsattr.c,
  	mke2fs.c, mklost+found.c, tune2fs.c, util.c: Change location of
  	ext2_fs.h to be ext2fs/ext2_fs.h
ChangeLog, Makefile.in, resize2fs.h:
  resize2fs.h: Change location of ext2_fs.h to be ext2fs/ext2_fs.h
ChangeLog, Makefile.in, debugfs.h:
  debugfs.h: Change location of ext2_fs.h to be ext2fs/ext2_fs.h
ChangeLog, Makefile.in, e2fsck.h, scantest.c:
  e2fsck.h, scantest.c: Change location of ext2_fs.h to be
  	ext2fs/ext2_fs.h
ChangeLog, Makefile.in, tst_uuid.c, uuid_time.c:
  tst_uuid.c, uuid_time.c: Remove unneeded #include of ext2_fs.h
ChangeLog, Makefile.in, e2p.h:
  e2p.h: Change location of ext2_fs.h to be ext2fs/ext2_fs.h
ChangeLog, Makefile.in, test_icount.c, test_rel.c:
  test_icount.c, test_rel.c: Change location of ext2_fs.h to be
  	ext2fs/ext2_fs.h
2001-05-14 11:45:38 +00:00
Theodore Ts'o 424cd2beb7 ChangeLog, e2fsck.h, journal.c, problem.c, problem.h, super.c:
super.c (check_super_block): Be more strict on checking
  	s_r_blocks_count superblock field.
  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.
  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-14 04:06:56 +00:00
Theodore Ts'o 328a5ce4ae ChangeLog, journal.c:
journal.c: Code cleanup; initialize journal_enable_debug using an
  	initializer.
2001-05-13 20:21:25 +00:00
Theodore Ts'o fc9a69ca37 ChangeLog, unix.c:
unix.c (PRS): Skip validation of -C's file descriptor if it is zero,
  	since that is special case.
2001-05-12 13:43:46 +00:00
Theodore Ts'o f0b8c87d2a ChangeLog, super.c:
super.c (release_orphan_inodes): Add gettext quoting around
  	"Truncating" and "Clearing" for i18n.
2001-05-09 06:03:58 +00:00
Theodore Ts'o e39ac92269 ChangeLog, util.c:
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.
2001-05-05 06:47:24 +00:00
Theodore Ts'o b9852cd87b ChangeLog, pass2.c:
pass2.c (check_dir_block): Ignore EXT2_ET_DIR_CORRUPTED errors from
  	ext2fs_read_dir_block().
2001-05-05 05:14:59 +00:00
Theodore Ts'o ae8160e692 ChangeLog, unix.c:
unix.c (PRS): Validate the completion information file descriptor so
  	that the completion bar won't get accidentally written onto the disk.
2001-05-01 21:13:37 +00:00
Theodore Ts'o 5f629b7491 ChangeLog, e2fsck.8.in:
e2fsck.8.in: Add explanation that you can use mke2fs -n -b blocksize
  	to printout alternate superblock locations.
2001-05-01 20:01:08 +00:00
Theodore Ts'o bc57f15390 ChangeLog, unix.c:
unix.c (check_if_skip): If the max_mount_count is zero, treat it as
  	having no count set.
2001-04-26 04:11:46 +00:00
Theodore Ts'o ef059870af ChangeLog, super.c:
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-04-17 00:40:02 +00:00
Theodore Ts'o 15986f7931 ChangeLog, jfs_user.h, journal.c:
journal.c (mark_buffer_uptodate): Add emulation of kernel function
  	mark_buffer_uptodate.
2001-03-29 19:22:16 +00:00
Theodore Ts'o 78eccb85b8 revoke.c:
Make insert_revoke_hash static (since it's not used outside this function).
2001-03-29 19:16:44 +00:00
Theodore Ts'o 1f73503816 ChangeLog, recovery.c, revoke.c:
recovery.c, revoke.c: Synchronize with 0.6b ext3 files.
2001-03-29 19:00:50 +00:00
Theodore Ts'o 1833186cbb .del-jfs_e2fsck.h~c0cc80d6:
Remove obsolete header file.
2001-03-29 18:55:43 +00:00
Theodore Ts'o e9e2a20a11 journal.c:
Fix stupid typo.
2001-02-20 16:31:38 +00:00
Theodore Ts'o d051521278 ChangeLog, journal.c:
journal.c (e2fsck_run_ext3_journal): Force a flush of the filesystem
  	and io_channel before replaying the journal.
2001-02-13 04:32:53 +00:00
Theodore Ts'o 67a473ecb9 problem.c:
Add quick compression of journal -> @j
jfs.h:
  Eliminate force of JFS_DEBUG for userspace
2001-02-08 02:34:50 +00:00
Theodore Ts'o 4e009f6a2e journal.c:
Fix minor typo in C comment
2001-02-08 02:26:04 +00:00
Theodore Ts'o a05c589a5e Makefile.in:
Update makefile dependencies
2001-01-18 02:37:21 +00:00
Theodore Ts'o a5c33f26db ChangeLog, pass1.c:
pass1.c (check_blocks): Fix large file checking code so that files >
  	2GB are considered large files, and restrict directories from being >
  	2GB.
version.h:
  Update for WIP release.
2001-01-18 02:34:03 +00:00
Theodore Ts'o a9ca2016e1 ChangeLog, pass1.c, problem.c, problem.h:
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.
ChangeLog, journal.c:
  journal.c (e2fsck_journal_fix_unsupported_super): Remove unused
  	function.  Add FIXME notes to e2fsck_get_journal(), from Andreas
  	Dilger.
2001-01-12 21:53:25 +00:00
Theodore Ts'o 37b6b2975f ChangeLog, problem.c:
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.)
2001-01-12 21:16:13 +00:00
Theodore Ts'o 6a6d3d44d6 ChangeLog, journal.c:
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.
2001-01-12 21:11:24 +00:00
Theodore Ts'o 721edd0edd ChangeLog, super.c:
super.c: Minor whitespace cleanups, from Andreas Dilger.
mtrace.h:
  mtrace.h: Minor whitespace cleanups, from Andreas Dilger.
ChangeLog, message.c:
  message.c (special_inode_name): Add more special inode names (From
  	Andreas Dilger)
2001-01-12 21:05:57 +00:00
Theodore Ts'o 58a75177ca ChangeLog, util.c:
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)
2001-01-12 20:59:19 +00:00
Theodore Ts'o 4035f40bc4 ChangeLog, pass2.c:
pass2.c: Minor whitespace cleanups, from Andreas Dilger.
2001-01-12 20:25:50 +00:00
Theodore Ts'o 7e92dfae9e ChangeLog, journal.c, problem.c:
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-12 15:30:25 +00:00
Theodore Ts'o 5ba23cb149 ChangeLog, e2fsck.h, flushb.c, iscan.c, unix.c:
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.
ChangeLog, pass1.c:
  pass1.c (process_block): Remove dead code which was never getting
  	executed.
2001-01-11 19:15:02 +00:00
Theodore Ts'o 86c627ec11 Many files:
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-11 15:12:14 +00:00
Theodore Ts'o 95a5bc918f ChangeLog, problem.c:
problem.c: Fix another broken @F vs @f problem.
2001-01-11 04:58:21 +00:00
Theodore Ts'o 53ef44c40a Many files:
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-06 05:55:58 +00:00
Theodore Ts'o d74edf4e86 ChangeLog, message.c, problem.c:
Whoops, @d was already taken by "directory".  Use @v for device, and
  re-order the listing of at-expansions to avoid this problem in the
  future.
2001-01-03 19:38:04 +00:00
Theodore Ts'o f18996c8eb ChangeLog, pass1.c, problem.c, problem.h:
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.
2001-01-03 16:57:24 +00:00
Theodore Ts'o e904406eb5 ChangeLog, message.c:
Add @d abbreviation for device.
2001-01-03 15:39:37 +00:00
Theodore Ts'o 1ce6453931 ChangeLog, message.c:
message.c: Add @j abbreviation for journal.
2001-01-03 15:34:20 +00:00
Theodore Ts'o cc7067b40b ChangeLog, Makefile.in, jfs_user.h:
jfs_user.h: Moved contents of jfs_e2fsck.h into jfs_user.h.
2001-01-03 13:24:06 +00:00
Theodore Ts'o 8c2dc52180 journal.c:
Fix typo in comment.
2001-01-03 13:14:23 +00:00
Theodore Ts'o d3f35b6451 ChangeLog, journal.c:
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-03 13:00:43 +00:00
Theodore Ts'o 5dd8f963d0 ChangeLog, journal.c, pass1.c, super.c, unix.c:
journal.c, pass1.c, super.c, unix.c: Replace use of struct ext2fs_sb
  	with struct ext2_super_block.
ChangeLog, debugfs.c:
  debugfs.c Replace use of struct ext2fs_sb with struct ext2_super_block.
2001-01-01 15:51:50 +00:00
Theodore Ts'o f5ae75e5f0 ChangeLog, pass1.c:
pass1.c (check_blocks): Remove use of EXT2_HAS_*_FEATURE macros.
2001-01-01 14:52:52 +00:00
Theodore Ts'o 2fe1efe2e5 ChangeLog, ext2fs.h:
ext2fs.h: Cleaned up header file by removing definitions of feature
  	flags that might not have been defined in older ext2 header files.
  	Now that we're using our own include/linux/ext2fs.h header file, this
  	can never happen.
  jfs_dat.h: Removed old header file which is no longer needed.
ChangeLog:
  jfs_compat.h: Remove uneeded header file.
2000-12-31 13:39:17 +00:00
Theodore Ts'o c59a704b79 ChangeLog, mtrace.c, mtrace.h:
malloc.h, mtrace.c: Renamed malloc.h to mtrace.h to avoid conflicts
  	with the system header file.
2000-12-31 01:52:03 +00:00
Theodore Ts'o b2f93192a1 ChangeLog, journal.c, problem.h:
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-30 20:33:42 +00:00
Theodore Ts'o c500767e1b .del-jfs.h~fa6593e8:
Remove unneeded file.
2000-12-18 02:45:32 +00:00
Theodore Ts'o 9b5657591b ChangeLog, super.c:
super.c (release_orphan_inodes): Fix spelling typo in error message.
ChangeLog, unix.c:
  unix.c (main): Clarify coments (no code changes)
ChangeLog, journal.c:
  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.)
2000-12-13 18:50:22 +00:00
Theodore Ts'o 8188c9e6b3 ChangeLog, pass1.c:
pass1.c (e2fsck_pass1): Offer to update the filesystem revision level
  	if we need to set large files flag.  Patch from Andreas Dilger.
2000-12-13 18:39:14 +00:00
Theodore Ts'o a917d1ccf4 ChangeLog, closefs.c, ext2fs.h, jump.funcs, super.c:
Rename _ext2fs_update_fs_dynamic_rev to _ext2fs_update_dynamic_rev
2000-12-13 18:36:23 +00:00
Theodore Ts'o 7b59f1efb1 ChangeLog, super.c:
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.
2000-12-13 18:11:44 +00:00
Theodore Ts'o 060b5fbf80 ChangeLog, problem.c, problem.h:
problem.c, problem.h (PR_0_FS_REV_LEVEL, PR_1_FS_REV_LEVEL): Add new
  	problem codes.
2000-12-13 18:07:23 +00:00
Theodore Ts'o 26900ae444 flushb.c, findsuper.c:
Adjust legal language.
2000-12-09 21:46:59 +00:00
Theodore Ts'o bf2d499904 ChangeLog, flushb.c:
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.)
2000-12-09 14:46:20 +00:00
Theodore Ts'o f43650c308 ChangeLog, journal.c:
journal.c (e2fsck_check_ext3_journal): If JFS_DEBUG is defined at the
  	top level, set the JFS debuging level to 2.
2000-12-09 06:47:56 +00:00
Theodore Ts'o 0e8a9560d8 Many files:
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.
Makefile.in:
  Fix up some mistakes in the source file list, and regenerate the
  dependencies.
  Update Makefile dependencies.
ChangeLog, jfs.h:
  jfs.h: Remove excess #include of JFS_DEBUG.  Not needed for e2fsprogs,
  	since we optioanlly define it in the configuration file system.
2000-12-09 06:41:25 +00:00
Theodore Ts'o 133a56dc9d ChangeLog, message.c, pass1b.c, pass2.c, pass3.c, problem.c, problem.h:
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.
version.h:
  Update for WIP release.
2000-11-17 05:40:49 +00:00
Theodore Ts'o 3f65f1acaa ChangeLog, util.c:
util.c (get_backup_sb): Calculate backup superblock correctly when the
  	blocksize is > 1k.
2000-10-30 14:33:49 +00:00
Theodore Ts'o 241f224fb2 .del-jfs.h~fa6593e8, ChangeLog, jfs_compat.h, journal.c:
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-26 20:42:07 +00:00
Theodore Ts'o 8394902e04 ChangeLog, journal.c, problem.c, problem.h, super.c:
super.c (release_inode_block, release_inode_blocks,
  	release_orphan_inodes): Add code to deal with truncating inodes which
  	are still in use (but which are on the orphan list because they need
  	truncation).
  problem.c, problem.h: Rename PR_0_CLEAR_ORPHAN_INODE to
  	PR_0_ORPHAN_CLEAR_INODE, and remove PR_0_ORPHAN_INODE_INUSE.
  journal.c (e2fsck_run_ext3_journal): Add i18n support, and print a
  	message when the journal is being recovered.
2000-10-25 01:38:50 +00:00
Theodore Ts'o b09a4b0c90 ChangeLog, pass1.c:
pass1.c (e2fsck_pass1): Don't check the i_mode field for the journal
  	inode, if it is in use.
2000-10-24 21:16:09 +00:00
Theodore Ts'o adfca56f9f ChangeLog, extend.c, flushb.c:
extend.c:
  flushb.c: Add include of nls-enable.h which is necessary so that they
  	can compile correctly.
2000-09-12 21:24:36 +00:00
Theodore Ts'o 2575fb0443 ChangeLog, unix.c:
unix.c (main): If we're doing a read-only check, skip the journal
  	playback, but don't abort the e2fsck run.
2000-08-22 21:50:04 +00:00
Theodore Ts'o 99a2cc969f ChangeLog, jfs_compat.h, journal.c, pass3.c:
jfs_compat.h (J_ASSERT):
  journal.c (e2fsck_run_ext3_journal):
  pass3.c (adjust_inode_count): Use fatal_error() instead of exit().
ChangeLog, super.c:
  super.c (release_orphan_inodes): Fix typo; should do bounds checking
  	on next_ino instead of ino.
2000-08-22 21:41:52 +00:00
Theodore Ts'o 243dc31f48 ChangeLog, unix.c:
unix.c: Use fatal_error() instead of exit() whenever possible.  Also
  	fix the fsck exit codes so that we use FSCK_USAGE when it is
  	appropriate.  Rename global_signal_ctx to e2fsck_global_ctx and let it
  	be exported globally.
2000-08-22 21:37:47 +00:00
Theodore Ts'o cc96b2b0fe ChangeLog, util.c:
util.c (fatal_error): Try to flush the I/O manager before forcing an
  	exit.
2000-08-22 21:30:11 +00:00