You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
123 lines
4.9 KiB
123 lines
4.9 KiB
7 months ago
|
E2fsprogs 1.07 (March 9, 1997)
|
||
|
==============================
|
||
|
|
||
|
E2fsck is now uses much less memory when checking really large
|
||
|
filesystems (or rather, filesystems with a large number of inodes).
|
||
|
Previously a filesystem with 1 million inodes required 4 megabytes of
|
||
|
memory to store inode count statistics; that storage requirement has
|
||
|
now been reduced to roughly half a megabyte.
|
||
|
|
||
|
E2fsck can now properly deal with bad blocks appearing inside the
|
||
|
inode table. Instead of trying to relocate the inode table (which
|
||
|
often failed because there wasn't enough space), the inodes in the bad
|
||
|
block are marked as in use.
|
||
|
|
||
|
E2fsck will automatically try to use the backup superblocks if the
|
||
|
primary superblocks have a bad magic number or have missing meta-data
|
||
|
blocks (or meta-data blocks which are out of range).
|
||
|
|
||
|
E2fsck's pass 3 has been made more efficient; most noticeable on
|
||
|
filesystems with a very large number of directories.
|
||
|
|
||
|
Completely revamped e2fsck's system of printing problem reports. It
|
||
|
is now table driven, to make them more easily customizable and
|
||
|
extendable. Error messages which can be printed out during preen mode
|
||
|
are now one line long.
|
||
|
|
||
|
Fixed e2fsck's filesystem swapping code so that it won't try to swap
|
||
|
fast symbolic links or deleted files.
|
||
|
|
||
|
Fixed e2fsck core dumping when fixing a filesystem which has no
|
||
|
directories (not even a root directory).
|
||
|
|
||
|
Added a check to e2fsck to make sure that the length of every
|
||
|
directory entry is a multiple of 4 (since the kernel complains if it
|
||
|
isn't).
|
||
|
|
||
|
Added a check to e2fsck to make sure that a directory entry isn't a
|
||
|
link to the root directory, since that isn't allowed.
|
||
|
|
||
|
Added a check to e2fsck to now make sure the '.' and '..' directory
|
||
|
entries are null terminated, since the 2.0 kernel requires it.
|
||
|
|
||
|
Added check to write_bitmaps() to make sure the superblock doesn't get
|
||
|
trashed if the inode or block bitmap is marked as being block zero.
|
||
|
|
||
|
Added checking of the new feature set fields in the superblock, to
|
||
|
avoid dealing with new filesystem features that this package wasn't
|
||
|
set up to handle.
|
||
|
|
||
|
Fixed a fencepost error in ext2fs_new_block() which would occasionally
|
||
|
try to allocate a block beyond the end of a filesystem.
|
||
|
|
||
|
When the UUID library picks a random IEEE 802 address (because it
|
||
|
can't find one from a network card), it sets the multicast bit, to
|
||
|
avoid conflicting with a legitimate IEEE 802 address.
|
||
|
|
||
|
Mke2fs now sets the root directory's owner to be the real uid of the
|
||
|
user running mke2fs. If the real uid is non-zero, it also sets
|
||
|
the group ownership of the root directory to be the real group-id of
|
||
|
the user running mke2fs.
|
||
|
|
||
|
Mke2fs now has more intelligent error checking when it is given a
|
||
|
non-existent device.
|
||
|
|
||
|
When badblocks is given the -vv option, it now updates the block that
|
||
|
it is currently testing on every block.
|
||
|
|
||
|
Fixed a bug in fsck where it wouldn't modify the PATH environment
|
||
|
currently correctly if PATH wasn't already set.
|
||
|
|
||
|
Shared libraries now built with dependencies. This allows the shared
|
||
|
library files to be used with dlopen(); it also makes the transition
|
||
|
to libc 6 easier, since ld.so can tell which libc a particular shared
|
||
|
library expects to use.
|
||
|
|
||
|
Programmer's notes:
|
||
|
-------------------
|
||
|
|
||
|
Added new abstraction (defined in dblist.c) for maintaining a list of
|
||
|
blocks which belongs to directories. This is used in e2fsck and other
|
||
|
programs which need to iterate over all directories.
|
||
|
|
||
|
Added new functions which test to see if a contiguous range of blocks
|
||
|
(or inodes) are available. (ext2fs_*_bitmap_range).
|
||
|
|
||
|
Added new function (ext2_inode_has_valid_blocks) which returns true if
|
||
|
an inode has valid blocks. (moved from e2fsck code).
|
||
|
|
||
|
Added new function (ext2fs_allocate_tables) which allocates the
|
||
|
meta-data blocks as part of initializing a filesystem. (moved from
|
||
|
mke2fs code).
|
||
|
|
||
|
Added a new I/O manager for testing purposes. It will either allow a
|
||
|
program to intercept I/O requests, or print debugging messages to
|
||
|
trace the activity of a program using the I/O manager.
|
||
|
|
||
|
The badblocks_list functions now store the bad blocks in a sorted
|
||
|
order, and use a binary search to speed up badblocks_list_test.
|
||
|
|
||
|
The inode scan function ext2fs_get_next_inode() may now return a soft
|
||
|
error returns: MISSING_INODE_TABLE and BAD_BLOCK_IN_INODE_TABLE in
|
||
|
those cases where part of an inode table is missing or there is a bad
|
||
|
block in the inode table.
|
||
|
|
||
|
Added a new function (ext2fs_block_iterate2) which adds new arguments to
|
||
|
the callback function to return a pointer (block and offset) to the
|
||
|
reference of the block.
|
||
|
|
||
|
Added new function (ext2fs_inode_scan_goto_blockgroup) which allows an
|
||
|
application to jump to a particular block group while doing an inode
|
||
|
scan.
|
||
|
|
||
|
The badblocks list functions were renamed from badblocks_* to
|
||
|
ext2fs_badblocks_*. Backwards compatibility functions are available
|
||
|
for now, but programs should be modified to use the new interface.
|
||
|
|
||
|
Some of the library functions were reorganized into separate files to
|
||
|
reduce the size of some programs which statically link against the
|
||
|
ext2 library.
|
||
|
|
||
|
Put in some miscellaneous fixes for the Alpha platform.
|
||
|
|