| E2fsprogs 1.16 (October 22, 1999) |
| ================================= |
| |
| Fixed a race condition bug in fsck; when printing a progress bar, if |
| checking multiple filesystems in parallel, it was possible for fsck to |
| send e2fsck a SIGUSR1 signal before e2fsck had installed its signal |
| handler, which would cause it to terminate with a signal 10. |
| |
| E2fsck now properly handles filesystems that have the |
| INCOMPAT_FILETYPE feature turned on. It can be used to convert a |
| filesystem into using or not using FILETYPE feature. |
| |
| E2fsck now properly handles filesystems that have the IMAGIC feature |
| turned on (this is used on Linux AFS servers). |
| |
| The mke2fs program now creates filesystems that have the filetype and |
| sparse_superblock features enabled by default, unless it is run on a |
| pre-2.2 kernel. These features are not supported by a pre-2.2 kernel, |
| so there is now a new flag -O which allows the user to specify with |
| which features she would like to create the filesystem; "mke2fs -O |
| none" will create a filesystem compatible with 2.0 kernels. |
| |
| The tune2fs program now has a -O option which allows the user to set |
| and reset "safe" filesystem features. Currently, the only ones which |
| allows to be modified are the filetype and sparse_superblock features. |
| Note setting or clearing either feature will require running e2fsck on |
| the filesystem afterwards. (n.b. Clearing the sparse_superblock feature |
| requires that there is enough free space on the filesystem for the |
| extra superblocks which will be created by e2fsck.) |
| |
| Debugfs can now set and print filesystem features in the superblock |
| using the "features" command. Dumpe2fs will print out the complete |
| set of features when listing the superblock. |
| |
| Dumpe2fs has new options -f (force) and -h (header-only). |
| |
| Fixed a bug in e2fsck which could cause the PROGRAMMING ERROR/bonehead |
| message to come up. This could happen when decrementing or |
| incrementing a link count could result in an overflow. |
| |
| Fixed a bug in e2fsck where the block count on the lost+found |
| directory would not be properly incremented when the directory was |
| expanded to the point where an indirect block needed to be allocated. |
| |
| E2fsck now makes some additional sanity checks on the superblock to |
| avoid crashing or giving a memory allocation error if some of the |
| values in the superblock are unreasonable (but the superblock otherwise |
| looks valid). |
| |
| Fixed a bug in e2fsck where a very badly corrupted filesystem might |
| require two passes to completely fix the filesystem. This happened if |
| an inode claimed blocks that was part of the filesystem metadata |
| (typically, when garbage was written into an inode table or indirect |
| block, since this kind of filesystem corruption normally doesn't |
| happen otherwise). |
| |
| On the Alpha, glibc declares st_flags although it isn't actually used; |
| the configure script was improved to detect this case so that |
| e2fsprogs can avoid using the non-functional stat field. |
| |
| The manual pages were updated to use a more consistent formatting |
| style consistent with standard Unix man pages. Mke2fs's man page |
| added documentation for a few previously undocumented options. |
| |
| Fixed minor display bugs in tune2fs and mke2fs. |
| |
| Programmer's notes: |
| ------------------- |
| |
| Improved portability of e2fsprogs to non-Unix systems (in particular, NT). |
| |
| Added features to parse and print feature strings into the e2p library. |
| (e2p_feature2string, e2p_string2feature, e2p_edit_feature). |
| |
| ext2fs_mkdir() and ext2fs_new_dir_block() now creates directories |
| whose directory entries contain proper filetype information if the |
| filesystem supports it. |
| |
| ext2fs_link() now uses the low 3 bits of its flags parameter to pass |
| the directory entry filetype information. This is used to set the |
| directory entry filetype information if the filesystem supports it. |
| |
| Fixed a bug in ext2fs_expand_dir() where the block count in a |
| directory's inode would not be properly incremented when the directory |
| was expanded to the point where an indirect block needed to be |
| allocated. |
| |