xref: /aosp_15_r20/external/e2fsprogs/doc/RelNotes/v1.26.txt (revision 6a54128f25917bfc36a8a6e9d722c04a0b4641b6)
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