Commit Graph

514 Commits (793e27df7312d5b217c172387f71fd581ed30c82)

Author SHA1 Message Date
Theodore Ts'o 793e27df73 ChangeLog, Makefile.in, base_device.c, base_device.tst, fsck.c, fsck.h:
fsck.c (device_already_active): Change to use new version of
  	base_device() which now returns dynamically allocated memory.
  base_device.c (base_device): New version moved from fsck.c which now
  	understands ugly devfs names.  (Debian bug #65181)
  base_device.tst: Test case for base_device.c
2000-12-03 06:33:56 +00:00
Theodore Ts'o 2d09179aec ChangeLog, fsck.8.in:
fsck.8.in: Add clarification that filesystems with a fs_passno of 0
  	are skipped with the -A option.  (Debian wishlist/bug #63442)
2000-12-02 07:03:32 +00:00
Theodore Ts'o e9f9dd8e93 ChangeLog, fsck.c:
fsck.c (wait_one): When we let a new fsck take control of the console
  	to display the progress bar, set FLAG_PROGRESS to so that fsck knows
  	not to start new processes during an fsck pass with the progress
  	bar. (Should fix debian bug #65267)
2000-12-02 06:35:07 +00:00
Theodore Ts'o e1c6b2f02b ChangeLog, tune2fs.8.in:
tune2fs.8.in: Add clarifying statement about converting user and group
  	names to uid's before storing them in the superblock.  (Debian bug
  	#67446)
2000-12-02 06:19:33 +00:00
Theodore Ts'o 66d8c3f33f ChangeLog, fgetflags.c, fgetversion.c, fsetflags.c, fsetversion.c:
fgetflags.c (fgetflags):
  fgetversion.c (fgetversion):
  fsetflags.c (fsetflags):
  fsetversion.c (fsetversion): Use the LFS API if available so that the
  	files are opened with O_LARGEFILE.  Addresses Debian bug #72690.
2000-12-02 06:11:44 +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 8ddaa66bfe ChangeLog, mke2fs.8.in, mke2fs.c:
mke2fs.c(main): Expand the -j option so that it parses option=argument
  	style options, and add support for creating filesystems with external
  	journals.
  mke2fs.8.in: Document new syntax for the -j option.
2000-11-17 04:55:24 +00:00
Theodore Ts'o 72ed126483 ChangeLog, Makefile.in, e2image.h, ext2_err.et.in, ext2fs.h, imager.c:
imager.c (ext2fs_image_{inode,super,bitmap}_{read,write}, ext2_fs.h,
  	Makefile.in: New file that has routines that save ext2fs metadata to a
  	file.
  ext2_err.et.in (EXT2_ET_MAGIC_E2IMAGE): New error code assigned.
  e2image.h: New file which defines the file format for the ext2 image
  	file.  (Saved copy of ext2 metadata to a file as a saving throw
  	against worst-case damage.)
ChangeLog, Makefile.in, e2image.c:
  e2image.c, Makefile.in: New program which saves ext2 metadata to a
  	file for people who need a last-ditch saving throw.
2000-11-12 19:32:20 +00:00
Theodore Ts'o 6a7f455bb1 ChangeLog, inode.c:
inode.c (ext2fs_flush_icache): Add new function ext2fs_flush_icache()
  	which flushes the internal inode cache.  Applications which modify the
  	inode table blocks directly must call this function.
2000-11-12 19:07:06 +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 17ee8b17f9 ChangeLog, mkjournal.c:
mkjournal.c: Add #include of netinet/in.h, since Solaris requires it
  	for ntohl().
2000-10-26 20:45:58 +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 c180ac8653 Many files:
ext2_io.h (io_channel_write_byte): Add new interface to allow callers
  	to write specific byte ranges.  This is an optional interface, which
  	not all IO channels may implement.
  unix_io.c (unix_write_byte): test_io.c (test_write_byte): Add
  	implementation of the write_byte function.
  closefs.c (write_primary_superblock, ext2fs_flush): Add a new function
  	which writes the primary superblock.  If the IO channel supports
  	writing raw bytes directly, only fields which were modified are
  	written to the disk.  This makes it safe(r) to use utilities like
  	tune2fs on a mounted filesystem.
  freefs.c (ext2fs_free): Free the original superblock if it is available.
  openfs.c (ext2fs_open): Store a copy of the original superblock when
  	opening it.
  ext2fs.h: Add a field to store the original superblock in the ext2
  	context structure.
2000-10-26 20:24:43 +00:00
Theodore Ts'o 16c1ce8994 e2fsprogs.spec:
Fix brokeness in the spec file.
2000-10-25 14:59:13 +00:00
Theodore Ts'o f6f6583239 ChangeLog, mke2fs.c:
mke2fs.c (PRS): Applied Andreas Dilger's patch to make the -r -s
  	handling a bit more sane.  (Even though -s is deprecated at this
  	point.)
ChangeLog, expect.1:
  f_journal: Update to take into account new printing by the e2fsck
  	program.
version.h:
  Update for upcoming WIP release.
2000-10-25 03:01:37 +00:00
Theodore Ts'o f5955dda1d ChangeLog, configure, configure.in, e2fsprogs.spec:
e2fsprogs.spec: Update spec file for Red Hat 7.0 compatibility
  configure.in: When compiling shared libraries for Solaris, use a
  	special-case Makefile fragment to deal with it.
Makefile.solaris-lib:
  New file for Solaris shared library builds.
2000-10-25 02:38:39 +00:00
Theodore Ts'o 0056be14d7 ChangeLog, get_device_by_label.c:
get_device_by_label.c: Apply fix from Erik Troan to support 16
  	character labels.
2000-10-25 02:24:33 +00:00
Theodore Ts'o 4381966695 ChangeLog, llseek.c:
llseek.c: Add #ifdef's for IA64 (it's a 64-bit platform, so we don't
  	need to use llseek).
ChangeLog, fsck.c:
  fsck.c (device_already_active): Add a special case check for MD
  	devices, so we don't try to check them in parallel with other devices.
2000-10-25 02:06:09 +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 85ef4ae87a ChangeLog, mke2fs.8.in, mke2fs.c:
mke2fs.c (PRS, main), mke2fs.8.in: Add support for the -j option,
  	which builds an ext2/3 filesystem with an ext3 journal.
2000-10-24 19:33:45 +00:00
Theodore Ts'o e294cf2f64 ChangeLog, mke2fs.c:
mke2fs.c (zap_sector): Fix really stupid typo which gcc 2.95
  	didn't catch.
2000-10-24 18:41:44 +00:00
Theodore Ts'o d3cd93cabe ChangeLog, Makefile.in, ext2_err.et.in, ext2fs.h, jfs_dat.h, mkjournal.c:
Makefile.in, ext2fs.h, jfs_dat.h, mkjournal.c: Add functions for
  	creating an ext3 journal on a filesystem.
  ext2_err.et.in (EXT2_JOURNAL_NOT_BLOCK): Add new error code.
.del-ext2_fs.h~7a460879, ChangeLog:
  ext2_fs.h (EXT2_JOURNAL_INO): Add definition for EXT2_JOURNAL_INO;
  	reserve inode #7 for EXT2_RESIZE_INO.
TODO:
  Commit TOOD suggestion.
2000-10-24 18:33:16 +00:00
Theodore Ts'o adfc8c6c99 ChangeLog, ext2_io.h, unix_io.c:
unix_io.c: Make massive changes to support a multiple block
  	writethrough cacheing.
  ext2_io.h: Added flags field to the io_channel structure.
2000-10-18 19:22:24 +00:00
Theodore Ts'o ad8e553bc6 ChangeLog, random_exercise.c:
random_exercise.c: Add support for making the test files have a
  	certain size, and also add directories as test inodes as well.
2000-10-18 19:06:13 +00:00
Theodore Ts'o 98f8a97bc0 ChangeLog, expect.1, expect.2, image.gz:
f_journal: Make the test check for a wide variety of mixed sizes of
  	orphaned inodes (and not just a size of 0).
2000-10-18 19:03:39 +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 3f1e9a5db6 ChangeLog, fsck.c:
fsck.c: Add base device definitions for hd[e-h], for those systems
  	with four IDE interfaces.
2000-09-12 21:21:52 +00:00
Theodore Ts'o d7e39b0609 ChangeLog, dumpe2fs.c, mke2fs.c:
mke2fs.c (zap_sector): Fix error message printed when zap_sector
  	fails.
  dumpe2fs.c (list_desc): Fixed format string bug when printing the
  	inode table location in non-hex format.
2000-09-11 17:01:35 +00:00
Theodore Ts'o 9131a75931 ChangeLog, util.c:
util.c (string_to_inode): Use strtoul instead of atoi, so that hex
  	inode numbers will be accepted.
2000-08-23 04:36:25 +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
Theodore Ts'o 006ea71e41 RELEASE-NOTES:
Fixed nit-picking grammar errors.
2000-08-21 03:39:49 +00:00
Theodore Ts'o 5570a65a2d RELEASE-NOTES:
Updated for WIP release.
2000-08-21 01:23:39 +00:00
Theodore Ts'o a943f53803 version.h:
Update for WIP release.
2000-08-20 22:13:23 +00:00
Theodore Ts'o ecf1b7767e ChangeLog, journal.c, message.c, problem.c, problem.h, super.c:
journal.c (e2fsck_journal_load): Fix **nasty** bug which caused
  	e2fsck_check_ext3_journal to smash the journal because
  	journal->j_transaction_sequence wasn't getting initialized.
  journal.c: (recover_ext3_journal, e2fsck_run_ext3_journal): Move call
  	to e2fsck_clear_recover from recover_ext3_journal to after the
  	filesystem has been closed and reopened.  Otherwise, the superblock in
  	the filesystem handle will probably be stale, and will overwrite the
  	newer version of the superblock written by the log recovery.
  message.c (expand_inode_expression): Add support for %Iu and %Ig
  problem.h (PR_0_CLEAR_ORPHAN_INODE): Add new problem code.
  super.c (release_orphan_inodes, release_inode_block,
  	release_inode_blocks): Update the block group descriptor counts when
  	freeing the orphan inode.  Use PR_0_CLEAR_ORPHAN_INODE to report when
  	we clear an orphan.
  journal.c (e2fsck_run_ext3_journal): Fix a bug where we attempted to
  	reopen the filesystem using the device name instead of the filesystem
  	name.
2000-08-20 22:06:31 +00:00
Theodore Ts'o f86fa6c748 finddev.c:
Fix stupid bug in finddev.c which could cause things to loop if the
  stat call failed.
2000-08-20 21:51:24 +00:00
Theodore Ts'o da1a022670 ChangeLog, hold_inode.c, random_exercise.c:
random_exercise.c: New file which feeds a lot of file creations and
  	deletions (while leaving the file descriptor open, and then closing
  	the file descriptor later).  This generates lots of fodder for the
  	orphan list code, as well as for the ext3 journal.
  hold_inode.c: New file which holds an inode or a directory open (for
  	testing orphan list code).
ChangeLog, run_e2fsck, expect.1, expect.2, image.gz, name, expect:
  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-08-20 21:48:45 +00:00
Theodore Ts'o 556ccbd6f9 ChangeLog, Makefile.in, get_device_by_label.c:
get_device_by_label.c: Add call to ext2fs_find_block_device if we
  	can't find the device using the name given by /proc/partitions.  (This
  	can happen if devfs is compiled into the kernel, but not mounted.)
2000-08-20 19:11:05 +00:00
Theodore Ts'o 2c4a540636 debugfs.c:
Fixup one more missing use of lb->f instead stdout when printing the
  comma separator.
ChangeLog, util.c:
  util.c (open_pager): Set SIGPIPE to be ignored, so that quitting out
  	of the pager doesn't blow away debugfs.
2000-08-19 17:33:28 +00:00
Theodore Ts'o de23aa1d17 ChangeLog, Makefile.in, ext2fs.h, finddev.c:
finddev.c, ext2fs.h, Makefile.in: Add new file, finddev.c, which
  	provides the function ext2fs_find_block_device().  This function
  	returns the pathname to a block device, given its device number.
2000-08-19 17:00:47 +00:00
Theodore Ts'o 25c63ba09f super.c:
Remember to clear the orphaned inode list before starting to process it.
2000-08-18 15:31:37 +00:00
Theodore Ts'o 80bfaa3e40 Many files:
Makefile.in: Update the make dependencies
  problem.c, problem.h: Add the problem codes:
  	PR_0_ORPHAN_ILLEGAL_BLOCK_NUM, PR_0_ORPHAN_ALREADY_CLEARED_BLOCK,
  	PR_0_ORPHAN_ILLEGAL_HEAD_INODE, PR_0_ORPHAN_ILLEGAL_INODE,
  	PR_0_ORPHAN_INODE_INUSE
  super.c (release_inode_blocks, release_orphan_inodes,
  	check_super_block): Add support for clearing orphaned inodes from the
  	unmounted filesystem.
  journal.c (e2fsck_recover_ext3_journal): Remove the last orphan check;
  	this is now handled in check_super_block --- non-journaled filesystems
  	can use the orphan list in the future.  Also, move the the re-opening
  	of the filesystem to e2fsck_run_ext3_journal().
debugfs.c:
  debugfs.c (finish_range): Make sure the pager FILE pointer to use.
configure, configure.in, ChangeLog:
  configure.in (JFS_DEBUG): Add support for --enable-jfs-debug
2000-08-18 15:08:37 +00:00
Theodore Ts'o bd09eff9b2 ChangeLog, debugfs.c:
debugfs.c (do_show_super_stats): Use list_super2() instead of using
  	explicit printf statements.  (We get a more complete printout this
  	way.)
2000-08-14 20:39:17 +00:00
Theodore Ts'o c6bd0c97e4 Makefile.in, debug_cmds.ct, setsuper.c, ChangeLog:
setsuper.c: New function which implements the set_super_value command.
  	Allows the user to set arbitrary superblock fields.
ChangeLog, util.c:
  util.c (open_pager): If the PAGER environment variable is not set,
  	default to using "more".
2000-08-14 20:37:09 +00:00
Theodore Ts'o 53d3955001 ChangeLog, e2p.h, ls.c:
ls.c (list_super, list_super2): Added new API function which takes a
  	FILE * so that the output can be redirected to a stream.
2000-08-14 20:13:32 +00:00
Theodore Ts'o 0a3db93a1c ChangeLog, debugfs.c:
debugfs.c (dump_inode): Cap the length when printing a fast symbolic
  	link to inode.i_size.
  	(list_blocks_proc): Print block ranges (4510-4533) to make the stat
  	output easier to read.
2000-08-14 17:06:05 +00:00
Theodore Ts'o a5eef73b64 ChangeLog, debugfs.c:
debugfs.c (list_blocks_proc): show relative inode block numbers and/or
  	indirect block status
2000-08-14 15:47:15 +00:00