1E2fsprogs 1.21 (June 15, 2001) 2============================== 3 4Added new configure flags which allow a subset e2fsprogs to be built; 5this is most useful for boot floppies, since the resulting shared 6libraries and programs are slimmed down by removing features that 7aren't necessary for a boot floppy. The new flags that were added 8are: --disable-swapfs, which removes support for byte swapping old 9legacy PPC/68k filesystems, --disable-debugfs, which removes support 10for debugfs from the libext2fs library, --disable-imager, which 11removes support for the e2image program, and --disable-resizer, which 12removes support for resize2fs. 13 14E2fsck now prints the number of mounts or days elapsed since the last 15check when e2fsck is forced to check an otherwise clean filesystem. 16 17Tune2fs now prints an informative message about how often a filesystem 18will be checked when adding a journal to the filesystem, to remind the 19user that he/she may want to adjust those parameters using tune2fs 20-c/-i. 21 22Worked around hurd brain-damage which causes e2fsck to sometimes 23believe a filesystem is the root filesystem based on device numbers 24(since Hurd doesn't have dev_t's, which is arguably a POSIX.1 25violation). 26 27Fixed a bug introduced in 1.20 which caused e2fsck to abort with an 28erroneous error with the -F option was specified. 29 30Fixed a ext3 recovery bug in the revoke handling; synchronized with 31ext3 0.7a. 32 33Fixed two bugs in e2fsck's handling of dup block handling, dealing 34with relatively uncommon edge cases: a directory with an indirect 35block which is claimed by another file, and when the last inode in the 36filesystem has blocks claimed by another file. 37 38E2fsck now checks to see if the i_size field of a fast symlink is too 39big, and offers to clear the symlink if so. 40 41E2fsck now checks to see if i_size_high of special files is non-zero, 42and offers to clear i_size_high. 43 44Fix e2fsck's handling of incompatible journal flags so that the user 45has chance to abort, and then has the option to clear out the journal 46entirely. (Addresses Debian bug #98527.) 47 48Fixed a bug in fsck which could cause it to core dump if a mix of 49standard and non-standard device names are used in /etc/fstab. 50(Debian bug #100559) 51 52Fixed a bug in debugfs which caused read errors when copying a file to 53not be noticed. 54 55The debugfs set_super_value command can now modify the s_lastcheck field. 56 57Fixed a bug in lsattr and chattr which was accidentally introduced in 581.20 to support > 2GB files; both lsattr and chattr wasn't reading 59directories correctly because the change modified the layout of struct 60dirent to be incompatible with the libe2p shared library. 61 62Cleaned up the mke2fs manual page and included a discussion about why 63it's good to periodically check the filesystem even when journalling is 64enabled. 65 66Programmer's notes: 67------------------- 68 69Fix general gcc -Wall complaints. 70 71The types needed by the ext2 header files are now provided by 72lib/ext2fs/ext2_types.h, instead of include/asm/types.h. 73 74Integers are now preferred to longs when trying to find a 32-bit type 75in ext2_types.h. Also, if linux/types.h has already been defined, 76don't try to redefine the types. 77 78Fixed make depend script so that it automatically corrects the 79pathname cleanups performed by make -M, so I don't have to fix them up 80by hand. 81 82Fixed the d_loaddump test case to be more robust, and not depend on 83bash'isms. 84 85Removed debugfs's dependence on pread(), which was accidentally 86introduced in e2fsprogs 1.20 87 88Fixed a performance bug in the libext2fs's icount routine; the size 89estimate of the icount array was incorrectly being calculated. 90 91Removed use of the badblocks compatibility functions in the e2fsprogs 92programs. 93 94Added paranoia code which protects against strange cases where /etc 95isn't on the root filesystem, or if /etc/mtab doesn't exist. 96 97The header file ext2_types.h is now installed. 98 99Autoconf is used to determine when we are on big-endian machines, 100instead of doing run-time tests, to save a few bytes of code. 101 102The ext2fs_mark_generic_bitmap and ext2fs_unmark_generic_bitmap 103functions are no longer inline functions, which saves space and 104doesn't really cost any real performance. 105 106The ext2fs library no longer depends on the e2p library. (What need 107there was of it --- namely, fsetflags, was coded in-line). 108 109Fixed the makefile so that lib/ext2fs/ext2_types.h is generated even 110when the user is stupid and tries compiling the package using "make 111install" as root. 112 113Miscellaneous code cleanups: 114 * Added missing files from Makefile.in's SRCS file, so that 115 their dependencies would be properly calculated. 116 * Removed redundant code 117 * Fixed comments in code 118 * Removed no-longer needed argsused #pragma. 119 120