1*6a54128fSAndroid Build Coastguard WorkerE2fsprogs 1.05 (September 7, 1996) 2*6a54128fSAndroid Build Coastguard Worker================================== 3*6a54128fSAndroid Build Coastguard Worker 4*6a54128fSAndroid Build Coastguard WorkerAdd support for new fields in the ext2 superblock --- volume name, 5*6a54128fSAndroid Build Coastguard Workervolume UUID, and last mounted field. Dumpe2fs displays these fields, 6*6a54128fSAndroid Build Coastguard Workertune2fs and mke2fs allows you to set them. E2fsck will automatically 7*6a54128fSAndroid Build Coastguard Workergenerate a UUID for those volumes that don't have them. 8*6a54128fSAndroid Build Coastguard Worker 9*6a54128fSAndroid Build Coastguard WorkerPut in support for e2fsck to recognize HURD specific ext2 features --- 10*6a54128fSAndroid Build Coastguard Workermost notably, the translator block. The e2fsprogs tools will now use 11*6a54128fSAndroid Build Coastguard Workerthe creator_os field in the superblock to correctly handle different 12*6a54128fSAndroid Build Coastguard WorkerOS-specific variants of the ext2 filesystem. 13*6a54128fSAndroid Build Coastguard Worker 14*6a54128fSAndroid Build Coastguard WorkerE2fsck now fixes inodes which have a the deletion time set, but which 15*6a54128fSAndroid Build Coastguard Workerhave a non-zero i_link_count field by offering to clear the deletion 16*6a54128fSAndroid Build Coastguard Workertime. Previously e2fsck assumed that the inode was deleted (per 0.3c 17*6a54128fSAndroid Build Coastguard Workerext2 kernel behavior) and offered to unlink the file. 18*6a54128fSAndroid Build Coastguard Worker 19*6a54128fSAndroid Build Coastguard WorkerIf e2fsck sets the clean bit, but nothing else, set the exit code 20*6a54128fSAndroid Build Coastguard WorkerFSCK_NONDESTRUCT. After all, e2fsck did fix a filesystem error --- it 21*6a54128fSAndroid Build Coastguard Workerset the filesystem valid bit when it was previously cleared. :-) This 22*6a54128fSAndroid Build Coastguard Workerwas needed to make the HURD fsck driver happy. 23*6a54128fSAndroid Build Coastguard Worker 24*6a54128fSAndroid Build Coastguard WorkerIf the user refuses to attach an unattached inode, e2fsck will no 25*6a54128fSAndroid Build Coastguard Workerlonger set the inode's link count. Otherwise, the inode would end up 26*6a54128fSAndroid Build Coastguard Workergetting marked as unused, which might cause loss of data later. 27*6a54128fSAndroid Build Coastguard Worker 28*6a54128fSAndroid Build Coastguard WorkerMake the message issued by e2fsck when the superblock is corrupt less 29*6a54128fSAndroid Build Coastguard Workerconfusing for users. It now mentions that another reason for the 30*6a54128fSAndroid Build Coastguard Worker"corrupt superblock" message might be that the partition might not be 31*6a54128fSAndroid Build Coastguard Workeran ext2 filesystem at all (it might swap, msdos filesystem, ufs, etc.) 32*6a54128fSAndroid Build Coastguard Worker 33*6a54128fSAndroid Build Coastguard WorkerMake the libext2 library more robust so that e2fsck won't coredump on 34*6a54128fSAndroid Build Coastguard Workeran illegal superblock where the blocksize is zero. (f_crashdisk is 35*6a54128fSAndroid Build Coastguard Workerthe test case). 36*6a54128fSAndroid Build Coastguard Worker 37*6a54128fSAndroid Build Coastguard WorkerBy default, create filesystems where the default checkinterval is 6 38*6a54128fSAndroid Build Coastguard Workermonths (180 days). Linux servers can be robust enough that 20 reboots 39*6a54128fSAndroid Build Coastguard Workercan be a long, long time. 40*6a54128fSAndroid Build Coastguard Worker 41*6a54128fSAndroid Build Coastguard WorkerAdded configure flag --enable-old-bitops, which forces the bitops to 42*6a54128fSAndroid Build Coastguard Workeruse the old (native) bitmask operations. By default on the sparc 43*6a54128fSAndroid Build Coastguard Workerplatform, the standard ext2 bit ordering is now used. 44*6a54128fSAndroid Build Coastguard Worker 45*6a54128fSAndroid Build Coastguard WorkerAdded a new feature to e2fsck to byte-swap filesystems; this can be 46*6a54128fSAndroid Build Coastguard Workerused to convert old m68k filesystems to use the standard byte-order 47*6a54128fSAndroid Build Coastguard Workerstorage for the superblock, inodes, and directory blocks. This 48*6a54128fSAndroid Build Coastguard Workerfunction is invoked by using the '-s' option to e2fsck. 49*6a54128fSAndroid Build Coastguard Worker 50*6a54128fSAndroid Build Coastguard WorkerDebugfs's "dump" command has been enhanced so that it writes out the 51*6a54128fSAndroid Build Coastguard Workerexact size of the file so that the nulls at the end of the file are 52*6a54128fSAndroid Build Coastguard Workereliminated. The command also accept a new "-p" option which will 53*6a54128fSAndroid Build Coastguard Workerattempt to preserve the ownership, permissions, and file 54*6a54128fSAndroid Build Coastguard Workermodification/access times. 55*6a54128fSAndroid Build Coastguard Worker 56*6a54128fSAndroid Build Coastguard WorkerDebugfs has two new options, -f and -R. The -R option allows the user 57*6a54128fSAndroid Build Coastguard Workerto execute a single debugfs command from the command line. The -f 58*6a54128fSAndroid Build Coastguard Workeroption allows the user to specify a "command file" containing debugfs 59*6a54128fSAndroid Build Coastguard Workercommands which will get executed. 60*6a54128fSAndroid Build Coastguard Worker 61*6a54128fSAndroid Build Coastguard WorkerDumpe2fs now pretty prints the check interval, instead of just 62*6a54128fSAndroid Build Coastguard Workerprinting the check interval as a number of seconds. 63*6a54128fSAndroid Build Coastguard Worker 64*6a54128fSAndroid Build Coastguard WorkerFix bugs in debugfs: the params command when no filesystem is opened 65*6a54128fSAndroid Build Coastguard Workerno longer causes a core dump. It is now possible to unlink a file 66*6a54128fSAndroid Build Coastguard Workerwhen a pathname containing a '/' is specified. 67*6a54128fSAndroid Build Coastguard Worker 68*6a54128fSAndroid Build Coastguard WorkerTune2fs has a new -C option which sets the number of times the 69*6a54128fSAndroid Build Coastguard Workerfilesystem has been mounted. 70*6a54128fSAndroid Build Coastguard Worker 71*6a54128fSAndroid Build Coastguard WorkerFix the chattr '-v' option so that it actually works. Chattr was 72*6a54128fSAndroid Build Coastguard Workerbeing buggy about the -v option parsing. 73*6a54128fSAndroid Build Coastguard Worker 74*6a54128fSAndroid Build Coastguard WorkerProgrammers' notes: 75*6a54128fSAndroid Build Coastguard Worker------------------- 76*6a54128fSAndroid Build Coastguard Worker 77*6a54128fSAndroid Build Coastguard WorkerThe directory lib/uuid contains a set of library routines to generate 78*6a54128fSAndroid Build Coastguard WorkerDCE compatible UUIDs. 79*6a54128fSAndroid Build Coastguard Worker 80*6a54128fSAndroid Build Coastguard WorkerExtended ext2fs_namei() to handle symbolic links. Added new function 81*6a54128fSAndroid Build Coastguard Workerext2fs_nami_follow() which will follow last symbolic link in the case 82*6a54128fSAndroid Build Coastguard Workerwhere the pathname points to a sym link. 83*6a54128fSAndroid Build Coastguard Worker 84*6a54128fSAndroid Build Coastguard WorkerThe ext2fs_block_iterate function will now return the HURD translator 85*6a54128fSAndroid Build Coastguard Workerblock, if present. The new flag BLOCK_FLAG_DATA_ONLY will cause the 86*6a54128fSAndroid Build Coastguard Workeriterator to return data blocks only. The ext2fs.h file now defines 87*6a54128fSAndroid Build Coastguard Workerconstants BLOCK_COUNT_IND, BLOCK_COUNT_DIND, BLOCK_COUNT_TIND, and 88*6a54128fSAndroid Build Coastguard WorkerBLOCK_COUNT_TRANSLATOR, which are the magic values passed in the block 89*6a54128fSAndroid Build Coastguard Workercount field of the iterator callback function. 90*6a54128fSAndroid Build Coastguard Worker 91*6a54128fSAndroid Build Coastguard WorkerThe test script driver now takes an optional second argument, which is 92*6a54128fSAndroid Build Coastguard Workerthe test case to be run. This allows you to run a test case without 93*6a54128fSAndroid Build Coastguard Workerneeding to run the entire test suite. 94*6a54128fSAndroid Build Coastguard Worker 95*6a54128fSAndroid Build Coastguard WorkerOn Linux ELF systems, install the .so files in the correct places 96*6a54128fSAndroid Build Coastguard Worker(/usr/lib). The .so files must be stored in the same directory as the 97*6a54128fSAndroid Build Coastguard Worker.a files. 98*6a54128fSAndroid Build Coastguard Worker 99*6a54128fSAndroid Build Coastguard WorkerFixed miscellaneous HURD compilation issues with header file being 100*6a54128fSAndroid Build Coastguard Workerincluded in the right order. 101*6a54128fSAndroid Build Coastguard Worker 102*6a54128fSAndroid Build Coastguard WorkerFixed debugfs so that it resets optind to zero, not one, since setting 103*6a54128fSAndroid Build Coastguard Workeroptind to zero is more correct. 104*6a54128fSAndroid Build Coastguard Worker 105