1E2fsprogs 1.16 (October 22, 1999) 2================================= 3 4Fixed a race condition bug in fsck; when printing a progress bar, if 5checking multiple filesystems in parallel, it was possible for fsck to 6send e2fsck a SIGUSR1 signal before e2fsck had installed its signal 7handler, which would cause it to terminate with a signal 10. 8 9E2fsck now properly handles filesystems that have the 10INCOMPAT_FILETYPE feature turned on. It can be used to convert a 11filesystem into using or not using FILETYPE feature. 12 13E2fsck now properly handles filesystems that have the IMAGIC feature 14turned on (this is used on Linux AFS servers). 15 16The mke2fs program now creates filesystems that have the filetype and 17sparse_superblock features enabled by default, unless it is run on a 18pre-2.2 kernel. These features are not supported by a pre-2.2 kernel, 19so there is now a new flag -O which allows the user to specify with 20which features she would like to create the filesystem; "mke2fs -O 21none" will create a filesystem compatible with 2.0 kernels. 22 23The tune2fs program now has a -O option which allows the user to set 24and reset "safe" filesystem features. Currently, the only ones which 25allows to be modified are the filetype and sparse_superblock features. 26Note setting or clearing either feature will require running e2fsck on 27the filesystem afterwards. (n.b. Clearing the sparse_superblock feature 28requires that there is enough free space on the filesystem for the 29extra superblocks which will be created by e2fsck.) 30 31Debugfs can now set and print filesystem features in the superblock 32using the "features" command. Dumpe2fs will print out the complete 33set of features when listing the superblock. 34 35Dumpe2fs has new options -f (force) and -h (header-only). 36 37Fixed a bug in e2fsck which could cause the PROGRAMMING ERROR/bonehead 38message to come up. This could happen when decrementing or 39incrementing a link count could result in an overflow. 40 41Fixed a bug in e2fsck where the block count on the lost+found 42directory would not be properly incremented when the directory was 43expanded to the point where an indirect block needed to be allocated. 44 45E2fsck now makes some additional sanity checks on the superblock to 46avoid crashing or giving a memory allocation error if some of the 47values in the superblock are unreasonable (but the superblock otherwise 48looks valid). 49 50Fixed a bug in e2fsck where a very badly corrupted filesystem might 51require two passes to completely fix the filesystem. This happened if 52an inode claimed blocks that was part of the filesystem metadata 53(typically, when garbage was written into an inode table or indirect 54block, since this kind of filesystem corruption normally doesn't 55happen otherwise). 56 57On the Alpha, glibc declares st_flags although it isn't actually used; 58the configure script was improved to detect this case so that 59e2fsprogs can avoid using the non-functional stat field. 60 61The manual pages were updated to use a more consistent formatting 62style consistent with standard Unix man pages. Mke2fs's man page 63added documentation for a few previously undocumented options. 64 65Fixed minor display bugs in tune2fs and mke2fs. 66 67Programmer's notes: 68------------------- 69 70Improved portability of e2fsprogs to non-Unix systems (in particular, NT). 71 72Added features to parse and print feature strings into the e2p library. 73(e2p_feature2string, e2p_string2feature, e2p_edit_feature). 74 75ext2fs_mkdir() and ext2fs_new_dir_block() now creates directories 76whose directory entries contain proper filetype information if the 77filesystem supports it. 78 79ext2fs_link() now uses the low 3 bits of its flags parameter to pass 80the directory entry filetype information. This is used to set the 81directory entry filetype information if the filesystem supports it. 82 83Fixed a bug in ext2fs_expand_dir() where the block count in a 84directory's inode would not be properly incremented when the directory 85was expanded to the point where an indirect block needed to be 86allocated. 87 88