Commit Graph

197 Commits (d312401961666db8a5cb4b3fc71d85d73ac6bf67)

Author SHA1 Message Date
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 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 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 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 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 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 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 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 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 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
Theodore Ts'o 31a17b36d5 ChangeLog, ext2fs.h, mkjournal.c:
mkjournal.c: rename ext2fs_add_journal_fs() to the more descriptive
  	ext2fs_add_journal_inode()
2001-01-03 13:04:12 +00:00
Theodore Ts'o e5b38a5faf Many files:
ext2fs.h: Remove definition of ext2fs_sb.  Note: this may break source
  	(but not binary) compatibility of some users of the ext2 library.
  	They should just simply do a global search and replace of struct
  	ext2fs_sb with struct ext2_super_block, and use their own private copy
  	of ext2_fs.h if they aren't already.
  closefs.c, initialize.c, link.c, newdir.c, openfs.c, swapfs.c: Replace
  	use of ext2fs_sb with ext2_super_block.
ChangeLog, main.c:
  main.c (main): Replace use of struct ext2fs_sb with struct ext2_super_block.
2001-01-01 16:17:12 +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 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 db6c40bcc1 swapfs.c:
Fix stupid typo.
2000-12-13 18:04:37 +00:00
Theodore Ts'o 3fe973b306 ChangeLog, closefs.c, ext2fs.h, jump.funcs:
closefs.c (ext2fs_update_fs_dynamic_rev): New function suggested by
  	Andreas Dilger to update the filesystem revision to EXT2_DYNAMIC_REV.
2000-12-13 17:55:49 +00:00
Theodore Ts'o 7dcfa6e217 ChangeLog, swapfs.c:
swapfs.c (ext2fs_swap_super): Add byte swapping for the journal fields.
2000-12-13 17:50:14 +00:00
Theodore Ts'o 4e246704ea ChangeLog, ext2fs.h, mkjournal.c:
ext2fs.h, mkjournal.c (ext2fs_add_journal_fs,
  	ext2fs_add_journal_device): Add a new argument to the APIs of these
  	function, which is a flags word.  This is used to allow the creation
  	of a V1 superblock for those folks who are using ext3 0.3b in
  	production.  Note, the user-land interface for getting at this flag
  	won't be documented, as the V1 superblock is deprecated.
2000-12-09 14:39:16 +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 586187372a ChangeLog, jfs_user.h, mkjournal.c:
mkjournal.c (init_journal_superblock): Sync Stephen's changes which
  	creates a V2 superblock instead of a V1 superblock.
ChangeLog, jfs.h, jfs_compat.h, list.h:
  jfs.h, jfs_compat.h, list.h: New files added to support ext3.
2000-12-09 05:47:45 +00:00
Theodore Ts'o f20d0d57f7 ChangeLog, test_io.c:
test_io.c (test_write_blk, test_write_byte): Fix typos pointed out by
  	Andreas Dilger.
2000-12-05 03:53:41 +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 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 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 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 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 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 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 f9e67064ce configure.in:
Commit this file for future use; contains a configure.in script for when
  libuuid gets separtead out into its own package.
libext2fs.texinfo:
  Update version numbers for 1.19 release.
TODO:
  Commit TODO list for 1.19 release.
README:
  Update file for 1.19 release.
ChangeLog, e2fsprogs.spec:
  e2fsprogs.spec: Merge in a few changes from the Red Hat 6.2 spec file,
  	now that we're using a modern rpm to build e2fsprogs.  Also updated
  	version number to 1.19.
version.h:
  Update version number for 1.19 release.
ChangeLog:
  Check in changes for 1.19 release.
2000-07-13 23:25:54 +00:00
Theodore Ts'o ab146766e3 ChangeLog, ext2fs.h:
ext2fs.h (EXT2_LIB_FEATURE_INCOMPAT_SUPP): Add
  	EXT3_FEATURE_INCOMPAT_RECOVER (aka needs_recovery) to the list of
  	filesystem flags supported by the library.
ChangeLog, e2fsprogs.spec:
  e2fsprogs.spec (%post): Remove resize2fs from its old location in
  	/usr/sbin in the postinstall script.
RELEASE-NOTES, version.h:
  Update for WIP release.
2000-07-07 04:37:35 +00:00
Theodore Ts'o 8f13d8cb5c ChangeLog, ext2fs.h:
ext2fs.h: Update to include latest journalling additions to the superblock.
.del-ext2_fs.h~7a460879, ChangeLog:
  ext2_fs.h: Update to include latest journalling additions to the
  superblock.
2000-07-04 19:41:29 +00:00
Theodore Ts'o 57dca85467 Many files:
tst_badblocks.c: Update test program to test ext2fs_read_bb_FILE2 and
  	ext2fs_write_FILE.
  write_bb_file.c (ext2fs_write_bb_FILE): New function which writes out
  	bad blocks list to a file.
  read_bb_file.c (ext2fs_read_bb_FILE2): Add new function which changes
  	the callback function to take two additional arguments; a private
  	blind pointer supplied by the caller, and pointer to a char *
  	containing a pointer to the invalid string.
  badblocks.c (ext2fs_badblocks_equal): Add new function which returns
  	true if two badblocks list are equal.
  Makefile.in: Remove explicit link of -lc in the shared library.  (It
  	shouldn't be necessary, and is harmful in some cases).
jump.funcs:
  dll/jump.funcs: Add new jumptable entries for ext2fs_write_bb_FILE,
  	ext2fs_read_bb_FILE2, and ext2fs_badblocks_equal.
2000-07-04 19:20:25 +00:00
Theodore Ts'o abf7d3880b ChangeLog, getsize.c:
getsize.c (main): Add debugging code under #ifdef DEBUG
2000-06-10 19:27:17 +00:00
Theodore Ts'o 2e8d40d562 ChangeLog, debug_cmds.ct, debugfs.8.in, debugfs.c, dump.c, ls.c:
debugfs.8.in: Documented new behaviour.
  ls.c (ls_l_file): Fix Y2K bug -- was printing 22-May-100 for recent
  	files.  Switched to 4-digit years.
  dump.c, debug_cmds.ct (do_rdump): Add new debugfs command "rdump",
  	which recursively dumps a directory and its contents.
  	(fix_perms): New function.  Break permission-fixing code out of
  	dump_file() so it can be called by rdump code as well.
  	(dump_file): Call fix_perms().
  debugfs.c, debug_cmds.ct (do_lcd): Add new debugfs command "lcd",
  	which changes the cwd on the native filesystem.
  debugfs.c (open_filesystem): Extra args for superblock, blocksize, and
  	catastrophic mode.  Changed callers.
  	(do_open_filesys, main): Accept new -b, -s, -c options for
  	open_filesystem.
ChangeLog, mkdir.c:
  mkdir.c (ext2fs_mkdir): Read the parent directory's inode earlier, so
  	that if there's an error reading it, we can more cleanly back out of
  	the operation.
version.h:
  Update version file for WIP release.
2000-05-27 15:15:40 +00:00
Theodore Ts'o 415ed79ebc Many files:
Remove generated file.
2000-05-25 23:46:39 +00:00
Theodore Ts'o 7fd86d3967 ChangeLog, getsize.c:
getsize.c: Under linux, manually define the ioctl for BLKGETSIZE if it
  	isn't already defined and it's safe to do so.
.cvsignore:
  Ignore build files when builddir==srcdir
2000-05-25 23:42:22 +00:00
Theodore Ts'o dc5f68cad3 ChangeLog, getsize.c, llseek.c, unix_io.c:
getsize.c (ext2fs_get_device_size): Use open64() instead of open() if
  it exists.
  unix_io.c (unix_open): Use open64() instead of open() if it exists.
  llseek.c: Simplify header includes of unistd.h.  If lseek64 is
  	available (and prototypes are defined) use it in preference to llseek.
2000-05-25 23:31:54 +00:00
Theodore Ts'o f0f4acbdd5 ChangeLog, Makefile.in:
Makefile.in: Add hack dependency rule so that parallel makes work
  	correctly.
2000-05-25 23:22:11 +00:00
Theodore Ts'o bdcb8234e7 .cvsignore:
Supress build files when builddir==srcdir
2000-05-25 23:19:08 +00:00
Theodore Ts'o fa7ef7176e ChangeLog, ext2fs.h:
ext2fs.h: Add appropriate ifdef's to support C++ compilation.
2000-05-19 02:11:41 +00:00
Theodore Ts'o 06af47f0e8 ChangeLog, block.c:
block.c: Readibility tweak in conditionals involving ctx->fs->flags.
2000-04-03 13:51:00 +00:00
Theodore Ts'o e589f678e1 ChangeLog, gen_uuid.c:
gen_uuid.c (get_random_bytes): Make more paranoid about misbehaving
  	/dev/urandom.  If we get a return of zero without an error more than 8
  	times in a row, we break out and return an error.  Also, if
  	/dev/urandom doesn't exist, try /dev/random.
ChangeLog, ext2fs.h:
  ext2fs.h: Use AUTOCONF SIZEOF_* macros if available to determine how
  	to define __s64 and __u64.  Turn off "compression is experimental"
  	warning if the cpp macro I_KNOW_THAT_COMPRESSION_IS_EXPERIMENTAL is
  	defined.
2000-04-03 13:45:40 +00:00
Theodore Ts'o 5a63dd28f2 ChangeLog, ext2fs.h:
ext2fs.h: Define EXT2FS_COMPRESSED_BLKADDR and HOLE_BLKADDR.
  	Conditionally include Compression as a supported type if
  	ENABLE_COMPRESSION (via --enable-compression) is turned on.
2000-02-11 15:44:08 +00:00
Theodore Ts'o 2c1a0ce7c6 ChangeLog, swapfs.c:
swapfs.c (ext2fs_swap_super): Swap the compression usage bitmap.
2000-02-11 15:39:19 +00:00
Theodore Ts'o 28ffafb09c ChangeLog, bitops.h:
bitops.h (ext2fs_mark_generic_bitmap, ext2fs_unmark_generic_bitmap,
  	ext2fs_mark_block_bitmap, ext2fs_unmark_block_bitmap,
  	ext2fs_mark_inode_bitmap, ext2fs_unmark_inode_bitmap): Change to
  	return the previous state of the bit that is being marked or unmarked.
  	For speed optimization.
ChangeLog, pass3.c:
  pass3.c (check_directory): Only do the loop detection algorithm if
  	we've searched over 2048 parent directories and haven't found the end
  	yet.  This means that in the common case, we don't allocate or clear
  	the inode_loop_detection bitmap, which for large systems, merely
  	clearing the bitmap for each directory was turning out to be quite
  	expensive.  Thanks to Jani Jaakkola (jjaakkol@cs.helsinki.fi) for
  	identifying this problem.
ChangeLog, Makefile.in, e2fsck.h, unix.c:
  Makefile.in: Call sync after finishing building all in this directory.
  unix.c (PRS): sync the filesystem before trying to use BLKFLSBUF, to
  	minimize the chance of causing dirty blocks to get dropped.
  e2fsck.h: Manually define BLKFLSBUF if not defined, and we're on a
  	Linux/i386 system.
2000-02-08 19:14:02 +00:00
Theodore Ts'o 80e808fceb ChangeLog, debugfs.c:
debugfs.c (dump_inode): Remove #ifdef for i_version vs. i_generation
  	since we know it will always be i_generation now.
ChangeLog, e2fsck.h, flushb.c, scantest.c:
  e2fsck.h, flushb.c, scantest.c: Remove uneeded include of linux/fs.h
bmap.c:
  Fix silly spelling typo.
ChangeLog, getsize.c, ismounted.c, swapfs.c:
  getsize.c, ismounted.c: Remove unneeded include of linux/fs.h
  swapfs.c: Remove #ifdef HAVE_EXT2_INODE_VERSION since it's not needed
  	any more; we know it will always be i_generation.  Add support for
  	swapping the high bits of the uid and gid.
2000-02-02 16:19:59 +00:00
Theodore Ts'o dab278af81 ChangeLog, mkdir.c:
mkdir.c (ext2fs_mkdir): Only update the parent's inode link counts if
  	the link was successful.  Patch suggested by jeremy@goop.org.
1999-11-19 18:49:27 +00:00
Theodore Ts'o 5c36a2f85b ChangeLog, Makefile.in:
Makefile.in (distclean): Remove TAGS and Makefile.in.old from the
  	source directory.  Also, when making the .exclude file for the
  	source_tar_file, exclude those two files as well.
  Makefile.in (distclean): Remove TAGS and Makefile.in.old from the
  	source directory.
1999-11-19 18:42:30 +00:00
Theodore Ts'o cd08636179 libext2fs.texinfo, ChangeLog:
Update for 1.18 release.
1999-11-10 16:00:39 +00:00
Theodore Ts'o 9b9fe8ac19 ChangeLog, Makefile.in, badblocks.c, freefs.c, tst_badblocks.c:
Makefile.in (tst_badblocks): Add freefs.o to the object list, since
  ext2fs_badblocks_list_free was moved to freefs.c.
  tst_badblocks.c: Use the newer badblocks API names.  Add duplicate
  	blocks to the test inputs to test dealing with adding blocks which are
  	already in the badblocks list.
  badblocks.c (ext2fs_badblocks_list_add): If appending to the end of
  	the list, use a shortcut O(1) operations instead of an O(n) operation.
  	(Idea suggested by David Beattie.)
  freefs.c (ext2fs_free): Use ext2fs_badblocks_list_free() instead of
  	badblocks_list_free(), to save a procedure call.
1999-11-08 22:05:04 +00:00
Theodore Ts'o 28e1194e65 Many files:
Update for 1.17 release.
1999-10-26 18:17:20 +00:00
Theodore Ts'o 416c93d468 ChangeLog, ext2fs.h:
ext2fs.h: Add kludge to deal with the fact that egcs cpp doesn't seem
  	to handle ~0UL the same way as they used to.
1999-10-26 04:49:54 +00:00
Theodore Ts'o 00ab043507 nt_io.c:
Add e-mail address to author's name.
1999-10-26 02:39:02 +00:00
Theodore Ts'o fe70fd33d1 ChangeLog, nt_io.c:
nt_io.c (_OpenNtName): Open the device using
  	FILE_SYNCHRONOUS_IO_NONALERT instead of FILE_SYNCHRONOUS_IO_ALERT
  	(nt_open): At the end of the device open routine, unlock the drive but
  	do not dismount it.
1999-10-26 02:34:47 +00:00
Theodore Ts'o 601002bd2a .del-ext2_fs.h~7a460879, ChangeLog:
ext2_fs.h (i_reserved2): Use __GNU__ instead of __hurd__ to detect the
  	Hurd OS.  To protect against future irrationality on the part of the
  	FSF concerning whether Linux is GNU or not, on a system which defines
  	both __linux__ and __GNU___, __linux__ takes precedence.
ChangeLog, initialize.c:
  initialize.c (CREATOR_OS): Use __GNU__ instead of __gnu__ to detect
  	the Hurd OS.
ChangeLog, debugfs.c:
  debugfs.c (do_dirty_filesys): Make the "dirty" command clear the valid
  	bit on the superblock.  (And with a -clean option to set the valid
  	bit.)  Originally it was used just to set the "needs to be written"
  	bit in the in-core version of the fs structure.
1999-10-26 02:06:39 +00:00
Theodore Ts'o 614fdfd5d9 ChangeLog:
Update for 1.16 release.
libext2fs.texinfo:
  Update version number for 1.16 release.
1999-10-23 03:19:51 +00:00
Theodore Ts'o e6198e5a01 ChangeLog, link.c, mkdir.c, newdir.c:
mkdir.c (ext2fs_mkdir): Pass EXT2_FT_DIR flag to ext2fs_link().
  link.c (ext2fs_link): This call now uses the low three bits of the
  	flags parameter to pass the directory filetype information; it will
  	set the directory entry FILETYPE information if the filesystem
  	supports it.
  newdir.c (ext2fs_new_dir_block): If the FILETYPE superblock option is
  	set, then create the '.' and '..' entries with the filetype set to
  	EXT2_FT_DIR.
1999-10-23 00:58:54 +00:00
Theodore Ts'o aa4115a47c Many files:
pass4.c (e2fsck_pass4): If an inode is set in the inode_imagic_map
  	bitmap, don't check to see if it is disconnected from the inode tree
  	(because it almost certainly will be).  Free inode_imagic_map at the
  	end of pass 4.
  pass2.c (check_dir_block, check_filetype): If the FILETYPE feature is
  	set, check the directory entry's filetype information field, and
  	fix/set it if necessary.  (e2fsck_pass2): Free the inode_reg_map
  	bitmap at the end of pass 2.
  pass1.c (e2fsck_pass1, alloc_imagic_map): Allocate and fill in
  	information for inode_reg_map and inode_imagic_map, which indicates
  	which inodes are regular files and AFS inodes, respectively.
  	Since only the master superblock is written during a restart, force
  	that superblock to be used after a restart; otherwise changes to the
  	block group descriptors end up getting ignored.
  problem.c, problemP.h: If e2fsck is run -n, make def_yn variable be 0
  	for "no".  Add support for a new flag, PR_NO_NOMSG, which supresses
  	the problem message if e2fsck is run with the -n option.
  problem.c, problem.h (PR_2_SET_FILETYPE, PR_2_BAD_FILETYPE): Add new
  	problem codes.
  message.c (expand_dirent_expression): Add support for %dt which prints
  	the dirent type information.
  e2fsck.c (e2fsck_reset_context): Free new bitmaps (inode_reg_map and
  	inode_imagic_map).
  e2fsck.h (e2fsck_t): Add new inode_reg_map and inode_magic_map to the
  	context structure.
ChangeLog, nt_io.c:
  nt_io.c: New file which supports I/O under Windows NT.
ChangeLog, gen_uuid_nt.c:
  gen_uuid_nt.c: New file which creates a UUID under Windows NT.
Many files:
  Add support for non-Unix compiles
1999-10-21 19:33:18 +00:00
Theodore Ts'o 3a5f8eaa97 ChangeLog, expanddir.c, ext2fs.h:
ext2fs.h: Add new fields for journalling and define new feature bits
  	used by newer filesystems: IMAGIC_INODES, HAS_JOURNAL, RECOVER.
  expanddir.c (ext2fs_expand_dir, expand_dir_proc): Change where we
  	update the inode block count and size files so that the block count
  	field is updated correctly when we create an indirect block.
1999-09-14 20:21:26 +00:00
Theodore Ts'o 657cb97522 ChangeLog:
Add 1.15 release note to the Changelogs.
1999-07-30 23:19:10 +00:00
Theodore Ts'o 6c133523b2 ChangeLog, MCONFIG.in, configure.in, configure:
MCONFIG.in (BUILD_CC):
  configure.in (BUILD_CC): If cross compiling, find the native C
  	compiler and set it to BUILD_CC so that we can successfully build
  	util/subst.
ChangeLog, Makefile.in:
  Makefile.in (subst): Build subst using $(BUILD_CC), since it's a
  	helper program which must be built using the native C compiler during
  	a cross-compilation.
Makefile.in:
  Update dependencies.
1999-07-03 20:37:03 +00:00
Theodore Ts'o e72a9ba394 ChangeLog, e2fsck.h, pass1.c, pass2.c, pass4.c, swapfs.c:
e2fsck.h:
  pass1.c (pass1_get_blocks, pass1_read_inode, pass1_write_inode,
  	pass1_check_directory, e2fsck_use_inode_shortcuts): Make pass1_* be
  	private static functions, and create new function
  	e2fsck_use_inode_shortcuts which sets and clears the inode shortcut
  	functions in the fs structure.
  e2fsck.h:
  pass2.c (e2fsck_process_bad_inode): Make process_bad_inode() an
  	exported function.
  pass4.c (e2fsck_pass4): Call e2fsck_process_bad_inode to check if a
  	disconnected inode has any problems before connecting it to
  	/lost+found.  Bug and suggested fix by Pavel Machek <pavel@bug.ucw.cz>
ChangeLog, swapfs.c:
  swapfs.c (ext2fs_swap_inode): Add compatibility for Linux 2.3 kernels
  	that use i_generation instead of i_version.  Patch supplied by Jon
  	Bright <sircus@sircus.demon.co.uk>.
ChangeLog, mke2fs.8.in:
  mke2fs.8.in: Fix typo in man page which caused the badblocks command
  	to not show up in the "SEE ALSO" section.
ChangeLog, expect.1, expect.2, image.gz, name:
  f_recnect_bad: New test which checks the case where a disconnect inode
  	also bad inode fields; we need to make sure e2fsck offers to fix the
  	inode (or clear the inode, as necessary).
1999-06-25 15:40:18 +00:00
Theodore Ts'o 813bbb25a2 ChangeLog, dir_iterate.c:
dir_iterate.c (ext2fs_process_dir_block): Check for corrupted
  	directory entry before calling the callback function.  This should
  	prevent some core dumps of insufficiently paranoid callback functions.
ChangeLog, unix.c:
  unix.c (main): Add missing space in the disk write-protected message.
1999-06-22 03:17:45 +00:00
Theodore Ts'o a4bf69d919 ChangeLog, fileio.c:
fileio.c (ext2fs_file_open): Remove obsolete comment stating that we
  	don't handle writing yet (we do).  Fixed bug where we weren't
  	allocating a big enough buffer for ext2_bmap.
ChangeLog, ext2fs.h:
  ext2fs.h: Add feature definition for AFS IMAGIC inodes.
ChangeLog, MCONFIG.in, config.sub:
  MCONFIG.in: Define man1dir, man3dir, and man8dir in terms of mandir.
  config.sub: Update config.sub from autoconf 2.13 so that it will
  	recognize new machine types from the Alpha.
configure:
  Update to match latest changes to configure.in
1999-05-29 21:53:30 +00:00
Theodore Ts'o f0687a5e57 ChangeLog, openfs.c:
openfs.c (ext2fs_open): Check to make sure that the number of blocks
  	per group is not zero --- if so, it must be a bad superblock!
1999-05-29 21:48:03 +00:00
Theodore Ts'o 9e51eca782 ChangeLog, message.c:
message.c (safe_print): New function which prints strings, converting
  	non-printable characters using the '^' and M-notation.  This function
  	is now used to print directory name entries and pathnames.
ChangeLog:
  Update for release of E2fsprogs 1.14.
1999-01-09 16:32:31 +00:00
Theodore Ts'o 665f7107c5 ChangeLog, inode.c:
inode.c (ext2fs_read_inode, ext2fs_write_inode): Check to see if the
  inode number is zero; if it's zero, return EXT2_ET_BAD_INODE_NUM.
ChangeLog, fsck.c:
  fsck.c (load_fs_info): If the pass number field is missing, it needs
  	to be treated as zero.
libext2fs.texinfo, README:
  Update for 1.14 release.
1999-01-08 13:33:39 +00:00
Theodore Ts'o 7a46952e3f ChangeLog, initialize.c:
initialize.c (ext2fs_initialize): Use EXT2_FIRST_INODE instead of
  	EXT2_FIRST_INO to ensure compatibility with Linux 1.2 header files.
1999-01-04 08:50:59 +00:00
Theodore Ts'o 73f17cfc39 ChangeLog, unix.c:
unix.c (main): Reset the context before calling ext2fs_close(), to
  avoid referencing already freed memory.
ChangeLog, llseek.c:
  llseek.c (ext2fs_llseek): Change ext2fs_llseek() in the non-Linux case
  	to use EINVAL by default, unless it isn't defined, in which case we
  	use EXT2_ET_INVALID_ARGUMENT instead.
ChangeLog, mk_cmds.sh.in:
  mk_cmds.sh.in: Fixed portability bug in shell script; we were
  	depending on a bash'ism.
ChangeLog, uuid.c:
  uuid.c: Use asm/types.h instead of linux/types.h, to be consistent
  	with other locations where we've had to do this to work around glibc.
1999-01-04 07:35:45 +00:00
Theodore Ts'o 556ad1327f Many files:
Update version information in ChangeLogs, release notes,
  documentation, etc.  for release of version 1.13.
1998-12-19 08:10:58 +00:00
Theodore Ts'o 5a679c8fb1 ChangeLog, pass3.c, problem.c:
pass3.c (get_lost_and_found): If the filesystem is not opened
  	read-only, then force /lost+found to be created if it is not present.
  problem.c: Allow PR_3_NO_LF_DIR to be handled during a preen operation.
ChangeLog, Makefile.in:
  Makefile.in: Updated dependencies.
ChangeLog, fsck.c:
  fsck.c (load_fs_info): Parse /etc/fstab ourselves, instead of relying
  	on getmntent().  This has the advantage of allowing us to properly
  	handle missing pass numbers correctly.
ChangeLog, configure.in:
  configure.in: Add paths.h to header files for which we search.
1998-12-03 16:40:38 +00:00
Theodore Ts'o 8d7e83b025 ChangeLog, initialize.c:
initialize.c (ext2fs_initialize): Make sure that we allocate enough
  	inodes so that we can make a valid filesystem.
1998-09-23 00:27:26 +00:00
Theodore Ts'o 2eb374c940 Many files:
rw_bitmaps.c: Fixed signed/unsigned warnings.
  fileio.c (ext2fs_file_set_size): Remove unneeded extern from the
  	function declaration.
  dblist.c (make_dblist): Add safety check in case the dblist pointer
  	passed in is null (in which case, assign it to fs->dblist).  Fixed
  	some signed/unsigned warnings.
  bmap.c: Make addr_per_block be of type blk_t to avoid signed/unsigned
  	warnings.
  namei.c (ext2fs_follow_link): Remove uneeded extern from the function
  	declaration.
  get_pathname.c (get_pathname_proc): Use return value from
  	ext2fs_get_mem, instead of checking if &gp->name is NULL.
  dir_iterate.c (ext2fs_process_dir_block):
  dblist_dir.c (ext2fs_dblist_dir_iterate): Remove uneeded extern from
  	the function declaration.
  block.c (ext2fs_block_iterate2): If the read_inode call fails, return
  	the error directly instead of jumping to the cleanup routine, since we
  	don't need to do any cleanup.
  alloc_table.c (ext2fs_allocate_group_table): Make this function take a
  	dgrp_t for its group argument.
  ext2fs.h: Make dgrp_t an __u32 type, and make fs->desc_group_count be
  	of type dgrp_t.
1998-09-03 01:22:57 +00:00
Theodore Ts'o f75c28de47 ChangeLog, e2fsck.c, pass2.c, pass3.c, unix.c:
pass2.c (e2fsck_pass2): Fix the progress accounting so that we get to
  	100%.
  pass3.c (e2fsck_pass3): Change progress accounting to be consistent
  	with the other e2fsck passes.
  e2fsck.c (e2fsck_run): At the end of each pass, call the progress
  	function with the pass number set to zero.
  unix.c (e2fsck_update_progress): If the pass number is zero, ignore
  	the call, since that indicates that we just want to deallocate any
  	progress structures.
emptydir.c:
  Commit partially done file.
ChangeLog, badblocks.c:
  badblocks.c (ext2fs_badblocks_list_add): Use a bigger increment than
  	10 blocks when we need to expand the size of the badblocks list.
1998-08-01 04:18:06 +00:00
Theodore Ts'o 4a5fa19212 ChangeLog, .del-ChangeLog~905e7699, version.h:
Update for 1.12 release.
1998-07-09 05:42:45 +00:00
Theodore Ts'o 30c42619e8 ChangeLog, closefs.c, ext2fs.h:
closefs.c (ext2fs_flush): Update the s_block_group_nr field as
  	appropriate for all of the block group copies, so that it's clear
  	where the beginning of the filesystem is on the disk.  (For when the
  	partition table gets scrod.)
  ext2fs.h: Change the name of the feature from
  	EXT2_FEATURE_INCOMPAT_DIRNAME_SIZE to EXT2_FEATURE_INCOMPAT_FILESIZE
  	(to match with the kernel).
1998-06-30 05:33:11 +00:00
Theodore Ts'o 8362a4bfdb ext2fs.h:
Change the name of the feature to match with the name used in the
  Linux kernel.
1998-06-30 05:29:12 +00:00
Theodore Ts'o 818180cdfc ChangeLog, debugfs.8.in, debugfs.c:
Add a -V option which displays the current version.
ChangeLog, unix.c:
  unix.c (e2fsck_update_progress): Remove unused variables.
ChangeLog, inode.c:
  inode.c (get_next_blockgroup): Fix bug where if get_next_blockgroup()
  	is called early because of a missing inode table in a block group, the
  	current_inode counter wasn't incremented correctly.
ChangeLog, tst_uuid.c:
  tst_uuid.c (main): Fixed bogus declaration of the main's argv parameter.
ChangeLog, test_icount.c:
  test_icount.c (main): Fix main() declaration so that it returns int,
  	not void.
Many files:
  fsck.c (ignore): Remove unused variable cp.
  chattr.c (fatal_error):
  tune2fs.c (usage):
  lsattr.c (usage):
  dumpe2fs.c (usage):
  badblocks.c (usage): Remove volatile from declaration.
  fsck.c: Change use of strdup to be string_copy, since we don't trust
  	what glibc is doing with strdup.  (Whatever it is, it isn't pretty.)
1998-06-27 05:11:14 +00:00
Theodore Ts'o 4faba5b2ae ChangeLog, read_bb.c:
Make ext2fs_read_bb_inode more robust against a completely trashed bad
  block inode.
1998-06-16 05:23:41 +00:00
Theodore Ts'o 03673dbb04 Many files:
alloc_tables.c (ext2fs_allocate_group_table): Fix bug so that if the
  	stride length hits a bad value, we retry the block allocation starting
  	at the beginning of the block group.
  ext2fs.h, bb_inode.c, block.c, bmove.c, dir_iterate.c, expanddir.c,
  	ext2fsP.h, read_bb.c: Change blkcnt_t to be e2_blkcnt_t to avoid
  	collision with LFS API.
1998-06-10 20:39:43 +00:00
Theodore Ts'o 353952d157 ChangeLog, initialize.c:
initialize.c (ext2fs_initialize): Initialize s_inodes_count in a way
  that avoids overflows on disk sizes greater than 4GB.
1998-05-01 05:32:18 +00:00
Theodore Ts'o 4c77fe50d9 ChangeLog, e2fsck.h, pass1.c, super.c:
pass1.c (process_inode_cmp): Use EXT2_QSORT_TYPE to define the
  	appropriate return type for comparison functions for qsort.
  e2fsck.h: Add #ifdef protection for unistd.h
  super.c: Remove header files already included by e2fsck.h
ChangeLog, dblist.c, ext2fs.h:
  ext2fs.h: Define EXT2_QSORT_TYPE appropriately for the return type for
  	comparison functions for qsort.
  dblist.c (dir_block_cmp): Use EXT2_QSORT_TYPE in function declaration.
ChangeLog, extent.c:
  extent.c (ext2fs_create_extent_table): Use ext2fs_free_mem instead of
  	free().
  (extent_cmp): Use EXT2_QSORT_TYPE to define the appropriate return
  	type for comparison functions for qsort.
1998-04-30 17:35:59 +00:00
Theodore Ts'o 76f875daa1 Many files:
ext2fs.h, bitops.h: Add support for the Watcom C compiler to do inline
  	functions.
  ext2fs.h, dosio.c: Use asm/types.h instead of linux/types.h to evade a
  	potential problem with glibc's header files trying to spike out
  	linux/types.h.
  ext2fs.h (ext2fs_resize_mem): Change the function prototype to include
  	the old size of the memory, which is needed for some braindamaged
  	memory allocation systems that don't support realloc().
  badblocks.c (ext2fs_badblocks_list_add):
  bb_inode.c (clear_bad_block_proc):
  dblist.c (ext2fs_add_dir_block):
  icount.c (insert_icount_el):
  irel_ma.c (ima_put):
  rs_bitmap.c (ext2fs_resize_generic_bitmap): Update functions to pass
  	the old size of the memory to be resized to ext2fs_resize_mem().
ChangeLog, dirinfo.c:
  dirinfo.c (e2fsck_add_dir_info): Update function to pass the old size
  	of the memory to be resized to ext2fs_resize_mem().
ChangeLog, extent.c, resize2fs.c:
  resize2fs.c (adjust_superblock):
  extent.c (ext2fs_add_extent_entry): Update functions to pass the old
  	size of the memory to be resized to ext2fs_resize_mem().
1998-04-27 01:41:13 +00:00
Theodore Ts'o 469bec82e3 ChangeLog, Makefile.in:
Change to use new installation directory variables convention.  Fix
  uninstall rules to take $(DESTDIR) into account.
1998-04-01 02:46:43 +00:00
Theodore Ts'o 4a31c48b82 ChangeLog, Makefile.in, bmap.c, bmove.c, ext2fs.h, jump.funcs:
ext2fs.h: If __STRICT_ANSI__ is defined and we're on a platform with
  	32 bit longs, then we need to manually define __s64 and __u64, since
  	the current kernel header files don't define these if __STRICT_ANSI__
  	is defined.  This is a problem if we are compiling with full GCC
  	warnings, since we do need 64 bit support.
  Makefile.in (OBJS): Remove bmove.o from files to be built, since we're
  	not using ext2fs_move_blocks() and there is some question as to its
  	usefulness in its current form.
  bmap.c (block_bmap): Remove unused function.
  bmove.c (process_block): Fix -Wall warning.
ChangeLog, debugfs.c, debugfs.h, dump.c:
  debugfs.h: Add declaration for do_dirty_filsys() to prevent -Wall
  	warnings.
  debugfs.c (copy_file):
  dump.c (dump_file): Fix -Wall warning caused by signed/unsigned mismatch.
1998-03-30 01:27:25 +00:00
Theodore Ts'o 36a43d675e Many files:
block.c (ext2fs_block_iterate3): Make the ref_offset field contain the
  	offset into the inode.i_blocks array when ref_block is zero.  Since we
  	haven't done a formal release of e2fsprogs since block_iterate2 was
  	first introduced, I removed block_iterate2, and renamed block_iterate3
  	to be block_iterate2.
  bb_inode.c, bmove.c, dblist_dir.c, dir_iterate.c, expanddir.c,
  	ext2fs.h, ext2fsP.h, read_bb.c: Change use of block_iterate and
  	block_iterate2 to block_iterate2 with the new prototype for the
  	interator function.  (using blkcnt_t forr blockcount)
ChangeLog, debugfs.c, ls.c, lsdel.c:
  debugfs.c, ls.c, lsdel.c: Add support for large files.  (The high 32
  	bits share space with the i_dir_acl field.)
1998-03-24 16:17:51 +00:00
Theodore Ts'o 674a4ee1e3 Many files:
ext2fs.h: Add new superblock fields (s_algorithm_usage_bitmap,
  	s_prealloc_blocks, s_prealloc_dir_blocks).  Added conditional defines
  	of new features COMPAT_DIR_PREALLOC, RO_COMPAT_LARGE_FILE
  	RO_COMPAT_BTREE_DIR, INCOMPAT_COMPRESSION, INCOMPAT_DIRNAME_SIZE.
  	Changed the library to declare that we support COMPAT_DIR_PREALLOC,
  	INCOMPAT_DIRNAME_SIZE, RO_COMPAT_LARGE_FILE.
  fileio.c: Rename function ext2fs_file_llseek to be ext2fs_file_lseek,
  	which is more accurate.
  block.c: Add new function ext2fs_block_iterate3 which calls the
  	iterator function with the blockcount argument of type blkcnt_t.  This
  	version of the function is allowed to handle large files; the other
  	fucntions are not.
  ext2fs.h: Add new type blkcnt_t
  ext2_err.et.in: Add error code EXT2_ET_FILE_TOO_BIG
  block.c (ext2fs_block_iterate2): Fix bug where the block count field
  	wasn't getting correctly incremented for sparse files when the
  	indirect or doubly-indirect block specified in the inode was zero.
  unlink.c (unlink_proc):
  lookup.c (lookup_proc):
  link.c (link_proc):
  get_pathname.c (get_pathname_proc):
  dir_iterate.c (ext2fs_process_dir_block): Mask off high 8 bits from
  	dirent->name_len, so it can be used for other purposes.
  ext2fs.h: Add definition of EXT2_FEATURE_INCOMPAT_DIRNAME_SIZE, and
  	indicate that we have support for this incompatible option.
1998-03-23 02:06:52 +00:00
Theodore Ts'o 06b38e3a4a jump.funcs:
Updated to reflect new library function calls.
1998-03-04 16:29:30 +00:00
Theodore Ts'o c775256443 ChangeLog, ext2_err.et.in:
Added new error code, EXT2_ET_CANCEL_REQUESTED.
1998-02-24 04:25:52 +00:00
Theodore Ts'o 79b05dbed2 ChangeLog, dblist.c:
dblist.c (ext2fs_get_num_dirs): Improve the estimation of the number
  	of directories when the block group information is unreliable.
1998-02-21 05:01:19 +00:00
Theodore Ts'o 218a4864ec .del-ChangeLog~905e7699, image.gz:
Set the immutable flag on the block and character device so that
  e2fsck notices them as bad devices, and offers to fix them.  E2fsck
  currently only checks devices with the immutable flag set, since
  otherwise there might be some false positives --- the kernel doesn't
  always clear the all of i_blocks[n], n>=4, due to a race condition.
ChangeLog, inode.c:
  inode.c (ext2fs_get_next_inode): Always do the check to see if the
  	inode table is missing so that we catch the case where the first block
  	group is missing.
1998-02-21 01:41:39 +00:00
Theodore Ts'o c4e749abd8 ChangeLog, getsize.c, ismounted.c, unix_io.c:
getsize.c, ismounted.c, unix_io.c: #include errno.h since it's needed.
1998-02-20 05:33:14 +00:00
Theodore Ts'o 9abd2ce914 ChangeLog, bmove.c, ext2_io.h, ext2fs.h, rw_bitmaps.c, test_io.c:
ext2_io.h, ext2fs.h: Protect against being included multiple times.
  bmove.c: #include ext2fsP.h instead of "ext2fs/ext2fs.h"
  test_io.c (test_flush): Add a debugging printf when the flush method
  	is called.
  rw_bitmaps.c (ext2fs_read_bitmaps): If the bitmaps are already read
  	in, return right away.
1998-02-16 22:00:37 +00:00
Theodore Ts'o 5953b9de9c ChangeLog, bitops.h, ext2fs.h, icount.c, version.c:
bitops.h: Don't try to do i386 inline asm functions if the compiler
  	isn't GCC.
  ext2fs.h: If EXT2_FLAT_INCLUDES is defined, #include e2_types.h,
  	instead of linux/types.h, and e2_bitops.h instead of ext2fs/bitops.h.
  icount.c, version.c: Don't #include <et/com_err.h>, as it isn't necessary.
1998-02-01 13:23:02 +00:00
Theodore Ts'o b5abe6fac9 Many files:
inode.c (ext2fs_open_inode_scan): Initialize the group variables
  	so that we don't need to call get_next_blockgroup() the first
  	time around.  Saves a bit of time, and prevents us from
  	needing to assign -1 to current_group (which is an unsigned
  	value).
  icount.c (insert_icount_el): Cast the estimated number of inodes
  	from a float to an ino_t.
  alloc.c, alloc_tables.c, badlbocks.c, bb_compat.c, bb_inode.c,
  	bitmaps.c, bitops.c, block.c, bmap.c, bmove.c, brel_ma.c,
  	check_desc.c, closefs.c, cmp_bitmaps.c, dblist.c,
  	dblist_dir.c, dir_iterate.c, dirblock.c, dupfs.c, expanddir.c,
  	ext2fs.h, fileio.c, freefs.c, get_pathname.c, getsize.c,
  	icount.c, initialize.c, inline.c, inode.c, irel_ma.c,
  	ismounted.c, link.c, lookup.c, mkdir.c, namei.c, native.c,
  	newdir.c, openfs.c, read_bb.c, read_bb_file.c, rs_bitmap.c,
  	rw_bitmaps.c, swapfs.c, test_io.c, tst_badblocks.c,
  	tst_getsize.c, tst_iscan.c, unix_io.c, unlink.c, valid_blk.c,
  	version.c: If EXT2_FLAT_INCLUDES is defined, then assume all
  	of the ext2-specific header files are in a flat directory.
  block.c, bmove.c, dirblock.c, fileio.c: Explicitly cast
  	all assignments from void * to be compatible with C++.
  closefs.c (ext2fs_flush): Add a call to io_channel_flush() to
  	make sure the contents of the disk are flushed to disk.
  dblist.c (ext2fs_add_dir_block): Change new to be new_entry to
  	avoid C++ namespace clash.
  bitmaps.c (ext2fs_copy_bitmap): Change new to be new_map to
  	avoid C++ namespace clash.
  ext2fs.h, bb_inode.c, block.c, bmove.c, brel.h, brel_ma.c,
  	irel.h, irel_ma.c, dblist.c, dblist_dir.c, dir_iterate.c,
  	ext2fsP.h, expanddir.c, get_pathname.c, inode.c, link.c,
  	unlink.c: Change private to be priv_data (to avoid C++
  	namespace clash)
1998-01-19 14:47:53 +00:00
Theodore Ts'o 5be8dc2143 Many files:
dblist.c (ext2fs_get_num_dirs): Make ext2fs_get_num_dirs more paranoid
  	about validating the directory counts from the block group
  	information.
  all files: Don't include stdlib.h anymore; include it in ext2_fs.h,
  	since that file requires stdlib.h
ChangeLog, Makefile.in, dirinfo.c:
  dirinfo.c (e2fsck_add_dir_info): Use ext2fs_get_num_dirs instead of
  	e2fsck_get_num_dirs, which has been removed.
  Makefile.in (PROGS): Remove @EXTRA_PROGS@, since we don't want to
  	compile and install flushb.
ChangeLog, configure.in:
  Remove @EXTRA_PROGS@, since we aren't using it in 2fsck/Makefile.in anymore
ChangeLog, Makefile.in:
  Install debugfs in /sbin, instead of /usr/sbin.
libext2fs.texinfo:
  Update version string to be 1.12
Makefile.in:
  Fix bug in find script which made the exclusion list, where a '-' was
  missing from an -name option.
1997-12-01 18:24:10 +00:00
Theodore Ts'o 89270b5531 ChangeLog, expanddir.c:
expanddir.c (ext2fs_expand_dir): Check to make sure the block bitmap
  	is loaded, and return an error if it is not.
  expanddir.c (expand_dir_proc): Only use ext2fs_write_dir_block when
  	writing a directory block, not when writing out a fresh indirect
  	block.
1997-11-24 11:44:25 +00:00