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