1E2fsprogs 1.26 (February 3, 2002) 2================================= 3 4Dumpe2fs will keep going now if the bad block inode can't be read. 5(Previously it stopped with a fatal error.) 6 7E2fsck will now give an opportunity to run the journal even if the 8recovery flag is not set. This is the default behaviour if e2fsck is 9using a backup superblock, since the needs_recovery flag will never be 10set in the backup superblock copies. 11 12E2fsck now automatically finds the backup superblock/group descriptors 13even when the primary superblock is completely destroyed for 2k and 4k 14filesystems. (Previously it just guessed/assumed that we were dealing 15with a 1k filesystem in that case, and users had to manually specify 16the backup superblock number.) 17 18Fixed a bug in e2fsck where it dereferences a null pointer when there 19is a problem opening a filesystem in preen mode. 20 21E2fsck now handles external journals correctly; previously it trashed 22the external journal device if the journal needed to be replayed. 23 24Work around ulimit incompatibility problem caused by recent 2.4 25kernels; the unix IO module will automatically try to set any resource 26limits to be infinite on startup. 27 28Fixed a bug in e2fsck where it wasn't allocating a new block or inode 29bitmap if it wasn't present and the blocksize was 2k or 4k. 30 (Addresses Debian Bug #116975) 31 32E2fsck will check and fix botched ext3 V1 to V2 superblock updates by 33clearing the new V2 fields if they do not make sense or if the ext3 34superblock is version 1 superblock. 35 36E2fsck will automatically relocate the ext3 journal from a visible 37file (i.e., /.journal) to an hidden inode if the filesystem has been 38opened read/write. This allows the users to add a journal while the 39filesystem is mounted, but the next time the system is rebooted, the 40journal file will disappear. This avoids problems with backups, 41stupid operators with superuser bits, etc. 42 43Fix a bug in fsck where it would not support a filesystem type of 44"auto" if the device was specified in terms of LABEL=xxx or UUID=xxx. 45 46Fsck now supports fstab entries of the form "ext3,ext2". It will also 47automatically identify reiserfs filesystems. 48 49The number of processes spawned by fsck can now be limited using the 50FSCK_MAX_INST environment variable. 51 52Fsck now searches the LVM proc hierarchy to find logical volumes which 53should be searched for UUID and label information. 54 55Work around a bug in 2.4.10+ kernels by trying to unset the filesize 56limit if at all possible, when opening a block device. (The filesize 57limit shouldn't be applied against writes to a block device.) 58 59In mke2fs and e2fsck, specifying the -c option twice will now do 60a read/write test on the disk. Update the man pages to encourage 61using the -c option, and to discouraging running badblocks separately, 62since users tend to forget to set the blocksize when running 63badblocks. 64 65Mke2fs now automatically clears the immutable attribute on a 66pre-existing .journal file left over from a previous failed attempt to 67add a journal to an already-mounted filesystem. 68 69Fixed mke2fs's exit codes to consistently indicate when the mke2fs 70operation failed. 71 72Mke2fs now creates the lost+found directory with permissions of 0700, 73so that files that had previously lived in protected directory are 74safe if they get dropped in lost+found and the system administrator 75doesn't deal with immediately. (Addresses Debian #bug 118443) 76 77Mke2fs and e2fsck (and all programs that use the 78ext2fs_check_if_mounted function) will now properly identify that a 79device is mounted, even in cases where devfs has confused things with 80multiple devices names with the same identity, or if a dim-witted 81system administrator has done something stupid like creating device 82file aliases in their home directory. Also now checks for swap devices 83by using /proc/swaps. (Addresses Debian bug #106622) 84 85Added a new option (-T) to tune2fs which sets the time a filesystem 86was last checked. 87 88Speed up e2image when creating sparse raw image files by optimizing 89away excess lseek() system calls. 90 91Fix support of large (> 2GB) files when used as a filesystem in 92mke2fs, tune2fs, debugfs, and findsuper. 93 94Debugfs's stat and icheck commands now properly deals with large (> 952GB) files. 96 97Debugfs's set_super_value command now prints out the list of valid 98superblock fields which can be set using the command. 99 100Debugfs's rm and kill_file command now updates the superblock free block 101and inode counts, thus keeping the filesystem consistent. 102 103Debugfs's lsdel command now takes an optional argument which allows 104the user to only see the most recently deleted files. 105 106A new command (undel) was added to debugfs which automates 107undeleting a deleted inode and linking it back to a directory. 108 109Debugfs's ls command now takes a new option, -d, which lists 110deleted directory entries. 111 112Debugfs's testb, freeb, setb, and find_free_block commands now take an 113optional count argument. 114 115Add support for a new ext2 file attribute, EXT2_NOTAIL_FL, which will 116be used to signal that a particular inode should not be eligible for 117tail-merging --- this is needed for programs like LILO. 118 119The findsuper (an unreleased, uninstalled utility program) has been 120improved to add extra validity checks and to add a progress meter. 121(It is still an unsupported program; the officially supported way to 122recover from a trashed partition table is to use gpart; findsuper is 123for wizards only. :-) 124 125Debugfs was fixed to compile with "configure --disable-swapfs". 126 127Cleaned up various manual pages. (Addresses Debian bug #119624, #120171) 128 129Added new translation file for Turkish. 130 131Programmer's notes: 132------------------- 133 134Fix general gcc -Wall complaints. 135 136E2fsprogs (mostly) works with the dietlibc. 137 138The programming texinfo file has been expanded to include description 139of additional libext2fs functions. (Still not completely done, but a 140lot of the more important functions have been documented.) 141 142Added a umask structure to struct_ext2_filsys, which currently only 143modifies the behaviour of ext2fs_mkdir(), but if we add any file 144creation functions to libext2fs, we should also make sure they respect 145the umask setting. 146 147The build-rpm script was fixed to be a bit more safe. 148 149The tests' Makefile now has a way of automating test case creation 150for e2fsck, using "make testnew". 151 152Created a new function, ext2fs_dir_iterate2 which passes more 153information to the callback function (identical to the one used by 154ext2fs_dblist_dir_iterate). The directory iterator functions take a 155new flag, DIRENT_FLAG_INCLUDE_REMOVED, which will return deleted 156directory entries. If the directory entry is deleted, the callback 157function will be called with the entry parameter set to 158DIRENT_DELETED_FILE. 159 160Added new functions, ext2fs_inode_alloc_stats and 161ext2fs_block_alloc_stats, which takes updates block/inode allocation 162statistics in the bitmaps, block group descriptors, and superblock 163when inodes or blocks are allocated or deallocated. 164 165