Commit Graph

609 Commits (a5c33f26db87fd8af41e7f49d46ffba7e7f03f54)

Author SHA1 Message Date
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 dc2ec525f5 ChangeLog, mke2fs.8.in, mke2fs.c, tune2fs.8.in, tune2fs.c:
tune2fs.c, mke2fs.c, tune2fs.8.in, mke2fs.8.in: Change user interface
  	so that -J is used to specify journal options, and -j is used to
  	request creation of a journal using default values.  (This is a UI
  	change, but we haven't done a formal release, and it makes things much
  	more consistent with the rest of the options out there.)
  tune2fs.c: Add support for removing a filesystem from an external
  	journal; we correctly remove the filesystem UUID from the external
  	journal's filesystem list.
2001-01-18 01:51:15 +00:00
Theodore Ts'o 5683e6e2c7 ChangeLog, util.c, util.h:
util.h, util.c (journal_default_size): New function from Andreas
  	Dilger to calculate an appropriate default journal size given a
  	filesystem size.
  util.c (parse_journal_opts): Allow the creation of a journal as small
  	as 1MB.
2001-01-18 01:47:48 +00:00
Theodore Ts'o 020888625f ChangeLog, mkjournal.c:
mkjournal.c (ext2fs_add_journal_device): Fix bug where the device
  	number of the filesystem (instead of the journal) was being dropped
  	into s_journal_dev.
ChangeLog, dumpe2fs.c:
  dumpe2fs.c (print_journal_information): Use s_first_data_block to find
  	the correct block to read the journal superblock.
2001-01-18 01:44:19 +00:00
Theodore Ts'o 16ed5b3af4 ChangeLog, Makefile.in, dumpe2fs.c, jfs_user.h, mke2fs.c, tune2fs.c:
tune2fs.c: Changed the external journal code so that it simply adds a
  	filesystem to a journal; the journal must have bene created via
  	"mke2fs -O journal_dev /dev/XXX".
  mke2fs.c: Add support for creating an external journal device by using
  	the command "mke2fs -O journal_dev /dev/XXX".  Also changed the
  	external journal code so -j device=/dev/XXX it simply adds a
  	filesystem to that journal; the journal must have been created via
  	separate step.
  dumpe2fs.c (print_journal_information): Add support for dumping
  	information about an external journal device.
2001-01-16 07:47:31 +00:00
Theodore Ts'o a112847b39 ChangeLog, ext2_err.et.in, ext2fs.h, initialize.c, mkjournal.c, openfs.c:
initialize.c (ext2fs_initialize): Add support for initializing the
  	ext2 superblock for external journal devices.  This basically means we
  	don't bother to allocate any block group descriptors.
  openfs.c (ext2fs_open): Only open external journal devices if the new
  	flag EXT2_FLAG_JOURNAL_DEV_OK is passed to ext2fs_open.  When opening
  	such devices, don't try to read the block group descriptors, since
  	they're not there.
  ext2_err.et.in (EXT2_NO_JOURNAL_SB): Add new error code
  mkjournal.c: Export a new function,
  	ext2fs_create_journal_superblock(), which allocates and returns a
  	buffer containing a journal superblock.  This is needed by mke2fs to
  	create an external journal.  Rewrote ext2fs_add_journal_device() so
  	that it no longer creates the external journal, but rather adds a
  	filesystem to an existing external journal.  It handles all of the
  	UUID manipulation.
  ext2fs.h: List the EXT3_FEATURE_JOURNAL_DEV as a flag supported by the
  	library.  Define the EXT2_FLAG_JOURNAL_DEV_OK.  Changed function
  	prototype for ext2fs_add_journal_device().
2001-01-16 06:56:14 +00:00
Theodore Ts'o 4ecf9d6ee4 ChangeLog, ls.c:
ls.c (list_super2): Fix bug where we were printing the filesystem UUID
  	instead of journal UUID when trying to display the journal UUID.
2001-01-16 06:41:54 +00:00
Theodore Ts'o c2204b3285 ChangeLog, feature.c:
feature.c: Add definition for EXT3_FEATURE_INCOMPAT_JOURNAL_DEV
2001-01-14 18:10:49 +00:00
Theodore Ts'o 8077994116 ChangeLog, closefs.c:
closefs.c (ext2fs_flush): Don't write out anything beyond the primary
  	superblock if EXT2_INCOMPAT_JOURNAL_DEV is listed.
2001-01-14 18:03:43 +00:00
Theodore Ts'o 990d429670 ChangeLog, feature.c:
feature.c: Remove backward compatibility #ifdef's for old ext2_fs.h
  	header files.
.del-ext2_fs.h~7a460879, ChangeLog:
  ext2_fs.h (EXT3_FEATURE_INCOMPAT_JOURNAL_DEV): Add definition for use
  	with external journal devices.
2001-01-14 17:56:00 +00:00
Theodore Ts'o 44c09c0454 ChangeLog, mke2fs.8.in, mke2fs.c:
mke2fs.c: Add new filesystem types, largefile and largefile4, for
  	those filesystems whose average inode size is 1MB and 4MB,
  	respectively.  Allow the inode ratio specified to be has high as 4MB.
  	Make the s_max_mount_count vary between 20 and 40, to avoid needing to
  	check all of the filesystems at the same time.  Add some random jitter
  	to the s_max_mount_count value so that we avoid checking all of the
  	filesystems at the same time when we reboot.
2001-01-14 17:02:09 +00:00
Theodore Ts'o 08dd830ddd ChangeLog, tune2fs.8.in:
tune2fs.8.in: Add description of the -j option.
tune2fs.c:
  Minor whitespace and option ordering fixes from Andreas Dilger
2001-01-14 16:25:58 +00:00
Theodore Ts'o 4055ef7301 ChangeLog, tune2fs.c:
tune2fs.c (add_journal): Minor fixes from Andreas Dilger. Flush stdout
  	after printing in-progress message.
  	(main): Exit with status code 1 if we failed to determine the mount
  	status of the device.
ChangeLog, gcc-wall-cleanup:
  gcc-wall-cleanup: Remove additional annoying warning messages emited
  	by gcc 2.95.2.
ChangeLog, uuid.h:
  uuid: Change arguments to make it clear which argument is the source
  	and which is the destination.
2001-01-14 16:11:14 +00:00
Theodore Ts'o 426d734ff0 ChangeLog, setsuper.c:
setsuper.c: Cleaned up some random whitespace problems.
ext2fs.h:
  Fixed spelling mistake in comment.
2001-01-13 01:29:05 +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 96394d11b0 ChangeLog, copy.c, gen_uuid.c, tst_uuid.c, uuid_time.c:
uuid_time.c (main), tst_uuid.c (main): Fix gcc -Wall complaints.
  copy.c (uuid_copy): Change arguments to make it clear which argument
  	is the source and which is the destination.
  gen_uuid.c (get_random_fd): Use gettimeofday to seed the PRNG, so we
  	can take advantage of tv_usec to do (slightly) better at seeding it.
2001-01-12 18:30:54 +00:00
Theodore Ts'o b94bd81ae2 ChangeLog, imager.c:
imager.c: Fix gcc -Wall complaints and a series of bugs where retval
  	wasn't set correctly.  (Thanks to Andreas Dilger for pointing this
  	out.)
2001-01-12 17:26:05 +00:00
Theodore Ts'o b74d1d89eb ChangeLog, debugfs.c, debugfs.h:
debugfs.h, debugfs.c (do_show_super_stats): Use full words instead of
  	pluralism hack to make I18N conversion easier.  Clean up gcc -Wall
  	complaints.
2001-01-12 17:23:52 +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 c8199c4769 ChangeLog, pf.c:
pf.c: Clarified name of the Compression_Raw_Access flag, and
  	capitalized Journaled_Data.
2001-01-12 01:43:28 +00:00
Theodore Ts'o aabd5359aa ChangeLog, Makefile.in:
Makefile.in (PROG_SUBDIRS): Build lib/e2p before lib/ext2fs since
  	libext2fs depends on libe2p.
2001-01-12 00:34:29 +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 48e08e034e ChangeLog, main.c:
main.c (main): Use ext2fs_sync_device() instead of calling the
  	BLKFLSBUF ioctl directly.
2001-01-11 16:11:11 +00:00
Theodore Ts'o c8c071a073 ChangeLog, e2image.c, mke2fs.c, mklost+found.c, tune2fs.c, util.c, uuidgen.c:
e2image.c, mke2fs.c, mklost+found.c, tune2fs.c, util.c, uuidgen.c: Fix
  	gcc -Wall complaints, including one bug in tune2fs caused by a block
  	automatic shadowing version of the variable we really wanted to use,
  	which broke the logic testing to see if the filesystem was mounted.
ChangeLog, MCONFIG.in:
  (gcc-wall-new): Added new target which forgoes the make clean so we
  	only check the newly modified .c files.
2001-01-11 16:08:23 +00:00
Theodore Ts'o 4d4045475f ChangeLog, badblocks.c:
badblocks.c (flush_bufs): Use ext2fs_sync_device() to sync and flush
  	the device.
2001-01-11 16:04:59 +00:00
Theodore Ts'o 4d0f3e17a5 ChangeLog, MCONFIG.in, configure, configure.in:
MCONFIG.in: Change --enable-gcc-wall handling so that it's no longer a
  	configure option, but something which is done when the developer uses
  	the command "make gcc-wall".
  configure.in: Remove test for ino_t, since we don't use it any more
  	(we always use our own ext2_ino_t).  Remove --enable-gcc-wall support.
  	Add test for sys/ioctl.h
.del-types.h.in~ca55114a:
  Remove definition of ino_t
ChangeLog, Makefile.in, ext2fs.h, flushb.c, jump.funcs:
  flushb.c (ext2fs_sync_device): New function which centralizes all of
  	the places which might try to use the BLKFLSBUF or FDFLUSH ioctls (and
  	usually failing to define them since the system header files don't
  	usually do this for us, and we're trying to avoid usage of kernel
  	include files now.)
2001-01-11 15:48:50 +00:00
Theodore Ts'o bbabf8f706 ChangeLog, gcc-wall-cleanup:
gcc-wall-cleanup: New file which is used to clean up unnecessary
  	crud from gcc -Wall that we're not interested in seeing
2001-01-11 15:44:00 +00:00
Theodore Ts'o dfcdc32f8d ChangeLog, libext2fs.texinfo:
libext2fs.texinfo: Change ino_t to ext2_ino_t
ChangeLog, extent.c, main.c, resize2fs.c:
  extent.c, main.c, resize2fs.c: Change ino_t to ext2_ino_t.
ChangeLog, mke2fs.c:
  mke2fs.c: Change ino_t to ext2_ino_t.
ChangeLog, test_icount.c, test_rel.c:
  test_icount.c, test_rel.c: Change ino_t to ext2_ino_t
2001-01-11 15:38:00 +00:00
Theodore Ts'o b044c2e02a Many files:
debugfs.c, debugfs.h, dump.c, icheck.c, ls.c, lsdel.c, ncheck.c,
  	setsuper.c, util.c: Change ino_t to ext2_ino_t.  Fix a few minor
  	gcc-wall complaints while we're at it.
2001-01-11 15:26:39 +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 31dbecd482 Many files:
alloc.c, bb_inode.c, bitmaps.c, bitops.h, block.c, bmap.c, bmove.c,
  	brel.h, cmp_bitmaps.c, dblist.c, dblist_dir.c, dir_iterate.c,
  	expanddir.c, ext2fs.h, ext2fsP.h, fileio.c, finddev.c, get_pathname.c,
  	icount.c, inode.c, irel.h, irel_ma.c, ismounted.c, link.c, lookup.c,
  	mkdir.c, mkjournal.c, namei.c, newdir.c, read_bb_file.c, test_io.c,
  	tst_iscan.c, unix_io.c, unlink.c: Change use of ino_t to ext2_ino_t,
  	to protect applications that attempt to compile
  	-D_FILE_OFFSET_BITS=64, since this inexplicably changes ino_t(!?).  So
  	we use ext2_ino_t to avoid an unexpected ABI change.
2001-01-11 04:54:39 +00:00
Theodore Ts'o 832381536e ChangeLog, Makefile.in, tune2fs.c:
Makefile.in, tune2fs.c: Move e2label functionality into tune2fs, using
  	argv[0] as a dispatch.  This allows e2label to be (more) safely used
  	on mounted filesystems.
2001-01-09 00:16:26 +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 8820c79f75 Many files:
get_device_by_label.h (get_volume_label_by_spec): Add function prototype.
  get_device_by_label.c: Use string_copy() instead of strdup() for
  	portability's sake.  Fix a few other gcc -Wall complaints.
  fsck.h, fsck.c (string_copy): Export string_copy() extern.
  badblocks.c: Fix various gcc -Wall complaints, including an incorrect
  	reference to sync in flush_bufs().
ChangeLog, configure, configure.in:
  configure.in: Add checks for the header files sys/mkdev.h and
  	sys/sysmacros.h.
2001-01-06 04:20:03 +00:00
Theodore Ts'o d8755d63eb ChangeLog, jfs.h, jfs_compat.h:
jfs.h: Move prototypes outside of the KERNEL #ifdef.  Remove
  	indentation in front of #define.
  jfs_compat.h: Add #include of netinet/in.h for htonl, and not to use
  	inline functions if compiling with gcc -Wall.
2001-01-06 03:51:25 +00:00
Theodore Ts'o e446d71838 ChangeLog, dirblock.c:
dirblock.c (ext2fs_read_dir_block): Fix a potential case where we may
  	overrun allocated memory in case of a corrupted filesystem (or an
  	e2fsck test case :-) when byte-swapping the directory block.
2001-01-05 22:27:06 +00:00
Theodore Ts'o cdaf1fa78f ChangeLog, mkjournal.c:
mkjournal.c (ext2fs_add_journal_device): Fix various gcc -Wall
  	complaints including a missing return 0 at the end of
  	ext2fs_add_journal_device.
ChangeLog, ext2fs.h:
  ext2fs.h: Indent the #warning to fix gcc -Wall complaint.
2001-01-05 22:23:22 +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 4becab6824 ChangeLog, Makefile.in, mkjournal.c:
Makefile.in: Link in libe2p when creating libext2fs as a shared
  	library, since mkjournal.c now references fsetflags().
  mkjournal.c (ext2fs_add_journal_inode): Folded in Andreas Dilger's
  	changes (with fixups) to allow on-line creation of a journal file.
.del-types.h.in~ca55114a:
  Change what we use to protect the header file to be _ASM_TYPES_H
  instead of _LINUX_TYPES_H.  (Needed to make libc5 builds happy).
version.h:
  Update for WIP release.
2001-01-03 19:22:42 +00:00
Theodore Ts'o 6398532038 ChangeLog, Makefile.in, mke2fs.c, tune2fs.8.in, tune2fs.c, util.c, util.h:
tune2fs.c (update_feature_set, add_journal): Moved to separate
  	functions.  Added ability to add and remove the journal while the
  	filesystem is live.  Added support for setting a time-based UUID.
  	Removed zero-initialized static variables.
  mke2fs.c, util.c, util.h (strcasecmp, proceed_question,
  	check_plausibility, parse_journal_opts, check_mount): Moved functions
  	to util.c so they can be used by tune2fs.
  mke2fs.c (main): Change ext2fs_add_journal_fs() to
  	ext2fs_add_journal_inode() to reflect function renaming.
2001-01-03 17:02:13 +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 43ec8734f2 ChangeLog, ext2fs.h, ismounted.c:
ismounted.c: add ext2fs_check_mount_point() function, which will
  	optionally return the mount point of a device if mounted
ChangeLog, closefs.c, ext2fs.h:
  ext2fs.h, closefs.c (ext2fs_flush): Add new flag,
  	EXT2_FLAG_SUPER_ONLY, which the close routines to only update the
  	superblock, and not the group descriptors.
2001-01-03 14:56:46 +00:00