-2001-12-16 Theodore Tso <tytso@valinux.com>
+2003-01-25 Theodore Ts'o <tytso@mit.edu>
+
+ * dirhash.c: Fix gcc -Wall nits.
+
+2003-01-22 Theodore Ts'o <tytso@mit.edu>
+
+ * unix_io.c (unix_write_blk): Fix up GCC -Wall nits.
+
+2003-01-21 Theodore Ts'o <tytso@mit.edu>
+
+ * fileio.c (ext2fs_file_read, ext2_file_lseek,
+ ext2_file_get_size): Add 64-bit support.
+
+ * ext2fs.h (EXT2_I_SIZE): Add macro which caluates a 64bit size
+ from i_size and i_size_high.
+
+2003-01-19 Theodore Ts'o <tytso@mit.edu>
+
+ * initialize.c (ext2fs_initialize): If the user specifies a really
+ large number of inodes, then reduce the number of blocks
+ per group until we find a workable set of filesystem
+ parameters.
+
+ * ext2_err.et.in (EXT2_ET_TOO_MANY_INODES): Add new error code.
+
+2002-11-09 Theodore Ts'o <tytso@mit.edu>
+
+ * Release of E2fsprogs 1.32
+
+2002-11-09 Theodore Ts'o <tytso@mit.edu>
+
+ * unix_io.c (find_cached_block, reuse_cache, unix_read_blk,
+ unix_write_blk): Optimize routines so that we don't end up
+ searching the cache twice when a block isn't in the
+ cache. If reads are larger than READ_DIRECT_SIZE, don't
+ let them go through the cache.
+
+ * unix_io.c (find_cached_block): Fixed bug which caused some clean
+ blocks to be erroneously marked as dirty, so they would
+ get written back to the disk before they are evicted from
+ the cache. Harmless, but it slows down e2fsck
+ significantly.
+
+2002-11-08 Theodore Ts'o <tytso@mit.edu>
+
+ * Release of E2fsprogs 1.31
+
+2002-11-08 <tytso@snap.thunk.org>
+
+ * Makefile.in (check): Skip trying to compile test_byteswap
+ if --disable-byteswaap had been given to configure.
+
+2002-11-07 <tytso@snap.thunk.org>
+
+ * closefs.c (write_bgdesc, ext2fs_flush): Fix bug in meta_bg
+ support when the MASTER_SB_ONLY flag is set. Some of
+ the descriptor blocks that should have been written out
+ were getting skipped.
+
+2002-10-31 Theodore Ts'o <tytso@mit.edu>
+
+ * Release of E2fsprogs 1.30
+
+2002-10-31 Theodore Ts'o <tytso@mit.edu>
+
+ * ext2_fs.h: Add support for a new inode flag, which is to be used
+ for indicating the top of directory hierarchies for the
+ Orlov block allocator.
+
+ * ismounted.c (check_mntent, check_mntent_file): Add better
+ support for loopback-mounted filesystems. Check /etc/mtab
+ if /proc/mounts doesn't turn up any mount flags, since
+ /etc/mtab has the loopback image filename, instead of
+ /dev/loop0. Also, check based on st_dev and st_ino, so
+ that if a relative pathname or a pathnames using symbolic
+ links are used, we can detect the the filesystem correctly
+ in those cases. (Addresses Sourceforge bug #619119)
+
+ * flushb.c (ext2fs_sync_device): If the BLKFLSBUF ioctl succeeds,
+ don't try the FDFLUSH ioctl that was required for floppies
+ with older kernels. This avoids needless whining from the
+ MD device driver. (Addresses Sourceforge bug #545832).
+
+ * openfs.c (ext2fs_open): Fix bug which caused us to pass the
+ wrong group_block to ext2fs_descriptor_block_loc if we're
+ using the backup superblock/block group descriptors.
+ (ext2fs_descriptor_block_loc): If we're using the backup
+ superblock descriptors, use the backup descriptor block in
+ the next block group.
+
+2002-10-30 Theodore Ts'o <tytso@mit.edu>
+
+ * alloc_tables.c (ext2fs_allocate_group_table): Allocate the inode
+ table so that it buts up against the bitmap blocks, to
+ avoid block fragmentation.
+
+ * closefs.c (write_bgdesc), initalize.c (ext2fs_initialize): Fix
+ bug; only allocate group descriptor blocks up to
+ s_first_meta_bg.
+
+2002-10-25 Theodore Ts'o <tytso@mit.edu>
+
+ * ext2_fs.h: Add a new superblock field, s_mkfs_time, so that we
+ know when a filesystem was created. (Sometimes this can
+ be useful...)
+
+ * initialize.c (ext2fs_initialize): Set the s_mkfs_time field.
+
+2002-10-20 Theodore Ts'o <tytso@valinux.com>
+
+ * ext2_fs.h (EXT3_DEFM_JMODE): Add new default mount options for
+ the journal data mode.
+
+ * closefs.c (ext2fs_flush, write_bgdesc), ext2_fs.h, ext2fs.h,
+ openfs.c (ext2fs_descriptor_block_loc, ext2fs_open), initialize.c
+ (ext2fs_initialize), swapfs.c (ext2fs_swap_super): Add support for
+ the meta_blockgroup filesystem format.
+
+2002-10-15 <tytso@snap.thunk.org>
+
+ * ext2_fs.h: Add new field in superblock for default mount options.
+
+2002-10-13 Theodore Ts'o <tytso@mit.edu>
+
+ * ext2fs.h: Add #include of header files necessary for ext2fs.h to
+ compile cleanly.
+
+2002-10-02 Theodore Y. Ts'o <tytso@mit.edu>
+
+ * rw_bitmaps.c (ext2fs_write_block_bitmap,
+ ext2fs_read_block_bitmap): Don't set the CHANGED bit just
+ because the bitmap is getting written to disk. Make
+ ext2fs_swap_bitmap be a static function, since it's not
+ intended to be exported.
+
+ * swapfs.c (ext2fs_swap_super): Byte-swap the hash seed
+
+2001-09-24 Theodore Tso <tytso@mit.edu>
+
+ * Release of E2fsprogs 1.29
+
+2001-08-31 Theodore Tso <tytso@thunk.org>
+
+ * Release of E2fsprogs 1.28
+
+2002-08-31 Theodore Ts'o <tytso@valinux.com>
+
+ * dblist.c (ext2fs_dblist_sort): New function which allows the
+ caller to pass in a special sort comparison function.
+
+2002-08-20 Theodore Ts'o <tytso@mit.edu>
+
+ * valid_blk.c (ext2fs_inode_has_valid_blocks): Fix bug which
+ failed to accurately characterize non-standard slow
+ symlinks. (Which don't appear in practice on real-life
+ systems, fortunately.)
+
+2002-08-17 Theodore Ts'o <tytso@mit.edu>
+
+ * Makefile.in: Remove inode_io.o from the standard object files,
+ and only build it if debugfs is enabled (it requires
+ fileio.o, which is only built if --disable-debugfs isn't
+ specified to configure).
+
+ * dirhash.c (ext2fs_dirhash): Change the MD4 hash in a backwards
+ incompatible way so that it is no longer
+ endian-dependent. Add the TEA hash. Allow the seed
+ parameter to be optional.
+
+ * ext2_fs.h: Remove the HALF_MD4_SEED and HALF_MD4_64 hashes.
+ These features are all now in the HALF_MD4 hash. Add
+ definition for EXT2_HASH_TEA.
+
+ * ext2fs.h (ext2fs_dirhash): Change function prototype so it takes
+ a pointer instead of an array.
+
+2002-08-16 Theodore Ts'o <tytso@mit.edu>
+
+ * ext2_err.et.in (EXT2_ET_BAD_EA_BLOCK_NUM): New error code
+
+ * ext2fs.h (ext2fs_inode_data_blocks): New function which returns
+ the number of data blocks used by an inode exclusive of
+ the EA block.
+
+ * ext_attr.c (ext2fs_adjust_ea_refcount): New function which
+ adjusts the reference count in an extended attribute block.
+
+ * valid_blk.c (ext2fs_inode_has_valid_blocks): Add code to
+ correctly deal with extended attribute blocks in symbolic
+ links.
+
+2002-08-13 <tytso@snap.thunk.org>
+
+ * Makefile.in: Move dupfs.o and test_io.o from the
+ needed-by-debugfs object list to the needed-by-resizer
+ object list. Fixes compile problem if the system is built
+ with only --disable-debugfs.
+
+2002-07-29 Theodore Ts'o <tytso@mit.edu>
+
+ * link.c (ext2fs_link): When adding a new link to a directory,
+ clear the HTREE bit.
+
+2002-07-23 Theodore Ts'o <tytso@mit.edu>
+
+ * dirhash.c (ext2fs_dirhash): Fix bug which caused MD4
+ calculations for names > 32 characters to be completely
+ bogus. Changed MD4 calculation to match what is currently
+ being used in the CVS gkernel tree.
+
+2002-07-19 Theodore Ts'o <tytso@mit.edu>
+
+ * ext2_fs.h: Add s_hash_seed and s_def_hash_version to the
+ superblock definition.
+
+ * badblocks.c, freefs.c, ext2fs.h: Use the badblocks functions to
+ create a set of u32_list functions.
+
+ * dirhash.c (halfMD4Transform): Shift the hash by one bit,
+ since that's required by the directory indexing code.
+
+2002-07-14 Theodore Ts'o <tytso@mit.edu>
+
+ * ext2fs.h, read_bb_file.c: Change private to priv_data, to avoid
+ using a C++ reserved word.
+
+ * unix_io.c (unix_open): Only attempt the setrlimit workaround if
+ the kernel version is 2.4.10 -- 2.4.17, since otherwise an
+ old version of glibc (built against 2.2 headers) will
+ interact badly with the workaround to actually cause more
+ problems. I hate it when the glibc folks think they're
+ being smarter than the kernel....
+
+2002-06-28 Andreas Dilger <adilger@clusterfs.com>
+
+ * ext2_fs.h: Add superblock field for reserved group descriptors.
+
+2002-06-28 Theodore Ts'o <tytso@mit.edu>
+
+ * bitops.h: Add #define's for ext2fs_{l,b}e{32,16}_to_cpu and
+ ext2fs_cpu_to_{l,b}e{32,16}
+
+2002-06-27 Theodore Ts'o <tytso@mit.edu>
+
+ * ismounted.c (check_mntent): In AIX 4.3, MOUNTED isn't defined.
+ Add appropriate fallbacks in this case.
+
+2002-06-26 Theodore Ts'o <tytso@mit.edu>
+
+ * dirhash.c (ext2fs_dirhash): Change function signature to support
+ a hash seed, and to return the minor hash (for 64-bit hash
+ support). Add support for the half MD4, half MD4 with
+ seed, and half MD4 with seed and 64 bits.
+
+2002-06-15 Theodore Ts'o <tytso@mit.edu>
+
+ * ext2_fs.h (EXT2_DIRSYNC_FL): Add new file.
+
+2002-06-09 Andreas Dilger <adilger@clusterfs.com>
+
+ * ext2_fs.h: Add macros for maximum block/inode counts:
+ EXT2_INODES_PER_BLOCK, EXT2_MAX_BLOCKS_PER_GROUP,
+ and EXT2_MAX_INODES_PER_GROUP.
+
+ * openfs.c (ext2fs_open): Check that the number of blocks in a group
+ is less than 2^16, otherwise we need an INCOMPAT flag (not
+ in existence yet, if ever) to open such a filesystem.
+
+ * initialize.c (ext2fs_initialize): Limit the number of blocks and
+ inodes in a group to less than 2^16.
+
+2002-06-09 Andreas Dilger <adilger@clusterfs.com>
+
+ * ext2_fs.h: Further minor cleanups of the header. Consolidate
+ some checks for __KERNEL__ into one place.
+
+2002-05-22 Andreas Dilger <adilger@clusterfs.com>
+
+ * ext2_fs.h: Remove macros accessing u.ext2_sb field and use
+ the EXT2_SB() macro instead. Remove kernel function
+ prototypes also. This matches the 2.5 kernel, and
+ is also cleaner for other reasons. Whitespace cleanup.
+
+2002-05-21 Theodore Ts'o <tytso@mit.edu>
+
+ * ext2_ext_attr.h: Update to V2 version of the Bestbits format.
+
+2002-05-16 Andreas Dilger <adilger@clusterfs.com>
+
+ * ext2_fs.h: Change limits to support filesystems with 8k blocks.
+
+ * initialize.c (ext2fs_initialize): Remove assumption that
+ blocksizes are always <= 4k.
+
+2002-05-11 Theodore Ts'o <tytso@mit.edu>
+
+ * bmap.c (ext2fs_bmap): Fix bug which caused ext2fs_bmap to fail
+ silently if inode pointer is NULL (and ext2fs_bmap is
+ expected to read the inode itself).
+
+2002-04-27 Theodore Ts'o <tytso@mit.edu>
+
+ * ismounted.c (check_mntent_file, is_swap_device): Verify that the
+ file we are checking is a block device file before looking
+ at st_rdev, since it's not valid for normal files.
+ (is_swap_device): Move so that it is outside the
+ HAVE_MNTENT_H, so that it is always built.
+
+2002-03-11 Theodore Tso <tytso@mit.edu>
+
+ * dirblock.c (ext2fs_read_dir_block2, ext2fs_write_dir_block): New
+ functions which take an extra flags argument. The flag
+ EXT2_DIRBLOCK_V2_STRUCT will reverse when the name_len
+ field is byte swampped on big-endian machines, since in
+ the V2 structure, name_len is a char field which is
+ doesn't need to be byte swapped --- except if an
+ old-style kernel had byte-swapped the name_len field
+ as part of the V1 structure.
+
+ * ext2_err.et.in (EXT2_ET_DIRHASH_UNSUPP): New error code
+
+ * dirhash.c (ext2fs_dirhash): New function which calculates the
+ hash for a filename in an indexed directory.
+
+2002-03-08 Theodore Tso <tytso@mit.edu>
+
+ * Release of E2fsprogs 1.27
+
+2002-03-07 Theodore Tso <tytso@mit.edu>
+
+ * ext2fs.h (ext2fs_inode_io_intern): Add missing function prototype.
+
+ * bmap.c, fileio.c, inode_io.c, tst_badblocks.c,
+ tst_byteswap.c: Fix gcc -Wall complaints
+
+ * Makefile.in (check): Use LD_LIBRARY_PATH to run test programs.
+ (From Philipp Thomas <pthomas@suse.de>)
+
+2002-02-25 Theodore Tso <tytso@mit.edu>
+
+ * ext2_fs.h: Add structure definitions for the directory indexing
+ extension.
+
+2002-02-23 Theodore Tso <tytso@mit.edu>
+
+ * unix_io.c (unix_open): Fix 2.4 resource limit workaround so that
+ it doesn't break things on mis32, sparc32, and alpha
+ platforms.
+
+2002-02-21 Theodore Tso <tytso@mit.edu>
+
+ * ismounted.c (is_swap_device): Fix file descriptor/memory leak;
+ we were missing an fclose().
+
+2002-02-20 Theodore Tso <tytso@mit.edu>
+
+ * Makefile.in, inode_io.c, ext2fs.h, ext2_err.et.in: Add new io
+ abstraction interface which exports an ext2 inode.
+
+ * ext2fs.h, fileio.c (ext2fs_file_flush): Export ext2fs_file_flush
+ as a public interface. Change void * to const void * in
+ ext2fs_file_write's interface.
+
+ * test_io.c (test_close), unix_io.c (unix_close): Remove unneeded
+ conditional; save a few bytes.
+
+2002-02-12 Theodore Tso <tytso@mit.edu>
+
+ * Makefile.in (tst_badblocks): Add some extra .o files when
+ linking the debugging program tst_badblocks which are
+ needed if we aren't compiling with inline functions enable.
+
+ * kernel-list.h (__inline__): On non-gcc and non-Watcom compilers,
+ define away __inline__ since it may not be supported.
+
+ * kernel-jbd.h (jbd_debug): For systems that don't do STDC, use a
+ stripped down jbd_debug that doesn't use variadic
+ arguments. This will cause warnings under AIX, but things
+ should still build.
+
+2002-02-03 Theodore Tso <tytso@thunk.org>
+
+ * Release of E2fsprogs 1.26
+
+2002-02-03 Theodore Tso <tytso@mit.edu>
+
+ * mkdir.c (ext2fs_mkdir): Change to use ext2fs_inode_alloc_stats2
+ so that the number of directories in use is adjusted
+ appropriately.
+
+ * alloc_stats.c (ext2fs_inode_alloc_stats2): Add new function
+ which optionally will modify the number of directories
+ count.
+
+2002-01-03 Theodore Tso <tytso@mit.edu>
+
+ * dir_iterate.c (ext2fs_dir_iterate2, ext2fs_process_dir_block):
+ Add support for a new flag, DIRENT_FLAG_INCLUDE_REMOVED,
+ which will return deleted directory entries.
+ ext2fs_dir_iterate2 takes a new callback function which
+ is identical with the one used by
+ ext2fs_dblist_dir_iterate(). If the directory entry is
+ deleted, the callback function will be called with the
+ entry paraemter set to DIRENT_DELETED_FILE.
+
+ * Makefile.in, alloc_stats.c (ext2fs_inode_alloc_stats,
+ ext2fs_block_alloc_stats): New functions which update
+ block/inode allocation statistics in the bitmaps, block
+ group descriptors, and superblock.
+
+ * mkjournal.c (mkjournal_proc), mkdir.c (ext2fs_mkdir),
+ expanddir.c (expand_dir_proc), bb_inode.c
+ (clear_bad_block_proc, set_bad_block_proc,
+ ext2fs_update_bb_inode), alloc.c (ext2fs_alloc_block):
+ Update to use new block/inode allocation statistics.
+
+2001-12-24 Theodore Tso <tytso@mit.edu>
+
+ * ismounted.c (is_swap_device): New function used by
+ ext2fs_check_if_mounted and ext2fs_check_mount_point which
+ determines whether or not the specified device is a swap
+ device by using /proc/swaps. More bulletproofing for
+ idiotic/careless system administrators!
+
+ * ext2fs.h, openfs.c (ext2fs_open), initialize.c
+ (ext2fs_initialize), mkdir.c (ext2fs_mkdir): Add a new
+ field to struct_ext2_filsys, umask. This field is
+ initialize to 022, and affects ext2fs_mkdir in the obvious
+ way. (In the future umask should also affect new file
+ creation routines, but the fileio functions don't
+ currently support this yes.)
+
+ * ismounted.c (check_mntent_file): Stat all of the entries in
+ /etc/mtab and/or /proc/mounts in order to catch dim-witted
+ system administrators who might have created alias
+ devices.
+
+2001-12-23 Theodore Tso <tytso@mit.edu>
+
+ * Makefile.in, jfs_user.h: Move linux/jbd.h to
+ ext2fs/kernel-jbd.h, to avoid using the system header
+ file version of hbd.h when using diet glibc (since it
+ forcibly adds /usr/include to the beginning of the
+ include search path.)
+
+ * kernel-jbd.h, kernel-list.h, jfs_compat.h: Move files from
+ include/linux directory.
+
+2001-12-16 Theodore Tso <tytso@mit.edu>
+
+ * bitops.h (ext2fs_mark_generic_bitmap, ext2fs_unmark_generic_bitmap),
+ ext_attr.c (ext2fs_read_ext_attr, ext2fs_write_ext_attr),
+ fileio.c (ext2fs_file_write): Fix gcc -Wall nits
* Makefile.in, jfs_user.h: linux/jfs.h has been renamed to
linux/jbd.h
-2001-12-03 Theodore Tso <tytso@valinux.com>
+2001-12-03 Theodore Tso <tytso@mit.edu>
* unix_io.c (unix_open): Make sure the ulimit workaround works
regardless of the version of glibc which is used to
compild e2fsprogs.
-2001-11-26 Theodore Tso <tytso@valinux.com>
+2001-11-26 Theodore Tso <tytso@mit.edu>
* unix_io.c (unix_open): Work around a bug in 2.4.10+ kernels by
trying to unset the filesize limit if at all possible,
shouldn't be applied against writes to a block device, but
starting in 2.4.10, the kernel is doing this.)
-2001-11-05 Theodore Tso <tytso@valinux.com>
+2001-11-05 Theodore Tso <tytso@mit.edu>
* mkjournal.c (ext2fs_add_journal_inode): When creating a .journal
file on adding a journal to an already-mounted filesystem,
* Release of E2fsprogs 1.25
-2001-09-16 Theodore Tso <tytso@valinux.com>
+2001-09-16 Theodore Tso <tytso@mit.edu>
* ext2_ext_attr.h: Remove unneeded #include of <linux/config.h>
which was breaking the build on the Hurd. (Addresses
Debian bug #112414).
-2001-09-13 Theodore Ts'o <tytso@valinux.com>
+2001-09-13 Theodore Ts'o <tytso@mit.edu>
* ismounted.c (check_mntent_file): We now validate the entry in
/etc/mtab to make sure the filesystem is really mounted,