ext2_types.h.in: If linux/types.h has been defined, then don't try to
redefine the typedefs.
ChangeLog, Makefile.in:
Makefile.in: Make the install target depend on $(SUBS) to accomodate
the fools who want to compile and install e2fsprogs as root using just
one command.
setsuper.c: Add s_lastcheck field to the fields which can be modified
using set_super_value. (Suggested by Andreas Dilger)
ChangeLog, Makefile.in:
Makefile.in (HFILES): Add ext2_types.h to the list of files which
should be installed.
Makefile.in: Limit some .o files from being included into the library
if --disable-debugfs, --disable-swapfs, --disable-imager, or
--disable-resizer are used.
dumpe2fs.c: Use WORDS_BIGENDIAN to determine whether or not we're
(not) using i386 byte order.
dumpe2fs.c, mke2fs.c: Stop using the compatibility badblocks function,
and use the ext2fs_badblocks_* functions instead.
ChangeLog, inode.c, tst_iscan.c:
inode.c, tst_iscan.c: Stop using the compatibility badblocks function,
and use the ext2fs_badblocks_* functions instead.
ChangeLog, badblocks.c:
badblocks.c: Stop using the compatibility badblocks function, and use
the ext2fs_badblocks_* functions instead.
Makefile.in, gen_bitmap.c, bitops.h: Move inline functions
ext2fs_mark_generic_bitmap and ext2fs_unmark_generic_bitmap to
gen_bitmap.c as normal functions. (This saves space and doesn't
significantly change the speed of e2fsck on a P-III.)
ChangeLog:
Add missing log entry for unix.c.
Makefile.in: Add message.c and swapfs.c to the list of source files to
build the make depend.
swapfs.c, unix.c: Only support the -s and -S options to e2fsck if
ENABLE_SWAPFS is defined.
Many files:
ext2fs.h, bitops.h, block.c, bmap.c, closefs.c, dirblock.c, inode.c,
native.c, openfs.c, rw_bitmaps.c, swapfs.c: Only include the
byte-swapping logic if ENABLE_SWAPFS is turned on or if we're on a
big-endian machine.
initialize.c (ext2fs_initialize):Use WORDS_BIGENDIAN directly to set
EXT2_FLAG_SWAP_BYTES, instead of using ext2fs_native_flag.
native.c (ext2fs_native_flag): Use WORDS_BIGENDIAN provided by
autoconf to determine whether or not return EXT2_FLAG_SWAP_BYTES.
Makefile.in: Remove the dependence on the libe2p library.
mkjournal.c (ext2fs_add_journal_inode): Replace use of fsetflags with
direct usage of the ioctl/fchflags so that we don't have to depend on
the libe2p library.
icount.c (insert_icount_el): Fix the code used to estimate the size of
the new icount array to be more intelligent, to avoid reallocating the
array too many times.
ChangeLog, ext2_types.h.in:
ext2_types.h.in: Use unsigned ints in favor of unsigned longs when
trying to find a 32-bit wide type.
Makefile.in: Move include/asm/types.h.in to lib/ext2fs/ext2_fs.h.in.
wordwrap.pl: Add some rules which help fix up the dependencies.
Many files:
Move include/asm/types.h.in to lib/ext2fs/ext2_fs.h.in.
ismounted.c: More cleanups for ismounted.c, some from Andreas, some to
clean up Andreas's patches. Use strncpy instead of strcpy to save the
root's mountpoint. Clean up #ifdef structure. Remove uneeded
variable in testing/debug driver.
ismounted.c: Add check for root device which doesn't depend on
/etc/fstab or /proc/mounts to be correct. Don't call endmntent()
before we are done with mnt struct.
ext2_fs.h: Change assignment of EXT2_FEATURE_COMPAT_DIR_INDEX to make
room for pre-existing usage of EXT2_FEATURE_COMPAT_EXT_ATTR. Add flag
EXT2_INDEX_FL with the same codepoint as EXT2_BTREE_FL.
ext2fs.h: #include <> instead of "" for ext2fs and et header files,
since they will be installed in /usr/include
ChangeLog, e2p.h:
e2p.h: #include <> instead of "" for ext2fs and et header files, since
they will be installed in /usr/include
badblocks.c, chattr.c, dumpe2fs.c, e2image.c, findsuper.c, lsattr.c,
mke2fs.c, mklost+found.c, tune2fs.c, util.c: Change location of
ext2_fs.h to be ext2fs/ext2_fs.h
ChangeLog, Makefile.in, resize2fs.h:
resize2fs.h: Change location of ext2_fs.h to be ext2fs/ext2_fs.h
ChangeLog, Makefile.in, debugfs.h:
debugfs.h: Change location of ext2_fs.h to be ext2fs/ext2_fs.h
ChangeLog, Makefile.in, e2fsck.h, scantest.c:
e2fsck.h, scantest.c: Change location of ext2_fs.h to be
ext2fs/ext2_fs.h
ChangeLog, Makefile.in, tst_uuid.c, uuid_time.c:
tst_uuid.c, uuid_time.c: Remove unneeded #include of ext2_fs.h
ChangeLog, Makefile.in, e2p.h:
e2p.h: Change location of ext2_fs.h to be ext2fs/ext2_fs.h
ChangeLog, Makefile.in, test_icount.c, test_rel.c:
test_icount.c, test_rel.c: Change location of ext2_fs.h to be
ext2fs/ext2_fs.h
ls.c (print_features): Added missing space when printing (none) as the
filesystem feature.
(list_super2): If the filesystem revision is unknown, say so.
fileio.c (ext2fs_file_read): Factored out common code and cleaned up
function. Fixed a bug where if there was an error reading from the
disk, the number of bytes read wasn't reliably set. (Fixes Debian bug
#79163)
(ext2fs_file_write): Factored out common code and made function more
efficient; if writing a full block, don't bother to do a
read-modify-write cycle.
dirblock.c (ext2fs_read_dir_block): Check for an directory record
length which isn't a multiple four, and treat that as an invalid.
Scan the directory and return an error (EXT2_ET_DIR_CORRUPTED) if the
directory records are orrupted.
(ext2fs_write_dir_block): If while byte-swapping the directory block,
if there's an error, abort and return EXT2_ET_DIR_CORRUPTED.
ext2fs.h (EXT2_FLAG_IMAGE_FILE): Add new flag, and add image_header
field in the ext2_filsys structure
block.c (block_iterate_ind, block_iterate_dind, block_iterate_tind):
inode.c (ext2fs_read_inode):
rw_bitmaps.c (read_bitmaps):
openfs.c (ext2fs_open): Add support for EXT2_FLAG_IMAGE_FILE
imager.c (ext2fs_image_bitmap_read): Fix bug in imager to make sure
the full bitmap is saved.
dir_iterate.c (ext2fs_process_dir_block): Add a double-check to make
sure the rec_len is a multiple of 4, to prevent bus-errors on
architectures which care about mis-aligned pointer references.
parse.c, compare.c: Include string.h to fix gcc -Wall complaints.
gen_uuid.c: Define _SVID_SOURCE to avoid gcc -Wall errors because some
required structures wouldn't be otherwise defined. Fix a minor gcc
-Wall nit in the declaration of get_random_fd().
ismounted.c (check_mntent): Check /proc/mounts on Linux systems before
checking /etc/mtab. The EXT2_MF_READONLY flag is now set from the
/etc/mtab options field for all filesystems, not just the root
filesystem. Add debugging code to make it easier to test
ext2fs_check_if_mounted().
mkjournal.c (ext2fs_create_journal_superblock): Add safety check;
return an error if there's an attempt to create a journal less than
1024 filesystem blocks.
ext2_err.et.in, mkjournal.c: Change EXT2_JOURNAL_NOT_BLOCK and
EXT2_NO_JOURNAL_SB to be EXT2_ET_*.
bitops.h (ext2fs_swab16, ext2fs_swab32): Add i386 assembly inline
functions.
tst_byteswap.c: New function to test the byteswap functions. Add to
regression test suite.
mkjournal.c (ext2fs_create_journal_superblock): Fix the setting of
s_first for external devices to always be 1, since jsb->s_first is
always relative to the start of the journal superblock. Use htonl(1)
when setting s_nr_users.
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.
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().