diff options
Diffstat (limited to 'doc/RelNotes/v1.07.txt')
-rw-r--r-- | doc/RelNotes/v1.07.txt | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/doc/RelNotes/v1.07.txt b/doc/RelNotes/v1.07.txt new file mode 100644 index 0000000..d780c93 --- /dev/null +++ b/doc/RelNotes/v1.07.txt @@ -0,0 +1,122 @@ +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. + |