xref: /aosp_15_r20/external/e2fsprogs/doc/RelNotes/v1.28.txt (revision 6a54128f25917bfc36a8a6e9d722c04a0b4641b6)
1*6a54128fSAndroid Build Coastguard WorkerE2fsprogs 1.28 (August 31, 2002)
2*6a54128fSAndroid Build Coastguard Worker================================
3*6a54128fSAndroid Build Coastguard Worker
4*6a54128fSAndroid Build Coastguard WorkerAdd support for the Hashed-Tree Directory Indexing to e2fsck.  Support
5*6a54128fSAndroid Build Coastguard Workerfor setting the htree flag is not included yet, although it can be
6*6a54128fSAndroid Build Coastguard Workermanually turned on via the debugfs program.
7*6a54128fSAndroid Build Coastguard Worker
8*6a54128fSAndroid Build Coastguard WorkerClarified e2fsck error message which is printed when it cannot find
9*6a54128fSAndroid Build Coastguard Workersufficient contiguous block when relocating filesystem metadata.
10*6a54128fSAndroid Build Coastguard Worker
11*6a54128fSAndroid Build Coastguard WorkerAdded support for building an EVMS plugin module for ext2/3.  This
12*6a54128fSAndroid Build Coastguard Workermodule is substantially the same as the EVMS module shipping with EVMS
13*6a54128fSAndroid Build Coastguard Worker1.1, with one or two bugfixes.  E2fsprogs can also build this plugin
14*6a54128fSAndroid Build Coastguard Workerfor use with EVMS 1.0 (which did not include the ext2 plugin module),
15*6a54128fSAndroid Build Coastguard Workerif the configure --enable-old-evms flag is given.
16*6a54128fSAndroid Build Coastguard Worker
17*6a54128fSAndroid Build Coastguard WorkerFsck will search through EVMS volumes when trying to resolve
18*6a54128fSAndroid Build Coastguard Workerfilesystem specifications such as LABEL=xxx or UUID=xxx.
19*6a54128fSAndroid Build Coastguard Worker
20*6a54128fSAndroid Build Coastguard WorkerAdded a new utility program, /sbin/findfs, which will return
21*6a54128fSAndroid Build Coastguard Workerfilesystem specifications such as LABEL=xxx or UUID=xxx, and prints
22*6a54128fSAndroid Build Coastguard Workerthe device name.
23*6a54128fSAndroid Build Coastguard Worker
24*6a54128fSAndroid Build Coastguard WorkerUpdate and clarified various man pages. (addresses Debian Bug #145044,
25*6a54128fSAndroid Build Coastguard Worker#146437, #131350, #151990, #144621, #141938)
26*6a54128fSAndroid Build Coastguard Worker
27*6a54128fSAndroid Build Coastguard WorkerIf there are no filesystems specified on fsck's command line, fsck now
28*6a54128fSAndroid Build Coastguard Workertreat that as if the -As options were given.  Previously it would
29*6a54128fSAndroid Build Coastguard Workersimply do nothing.  (Addresses Debian Bug #153102)
30*6a54128fSAndroid Build Coastguard Worker
31*6a54128fSAndroid Build Coastguard WorkerMke2fs no longer treats a failure to be able to clear the MD signature
32*6a54128fSAndroid Build Coastguard Workerat the end of the filesystem as a fatal error.  (Addresses Debian Bug
33*6a54128fSAndroid Build Coastguard Worker#155007)
34*6a54128fSAndroid Build Coastguard Worker
35*6a54128fSAndroid Build Coastguard WorkerThe e2p library functions (which are used by lsattr and chattr) now
36*6a54128fSAndroid Build Coastguard Workerdouble check to make sure the file is a regular file or directory
37*6a54128fSAndroid Build Coastguard Workerbefore attempting to use the ext2 ioctls.  Some device drivers
38*6a54128fSAndroid Build Coastguard Workerunfortunately respond to the ext2 ioctl's with unknown behaviour.
39*6a54128fSAndroid Build Coastguard Worker(Addresses Debian Bug #152029).
40*6a54128fSAndroid Build Coastguard Worker
41*6a54128fSAndroid Build Coastguard WorkerThe extended attribute handling has been updated to correspond with
42*6a54128fSAndroid Build Coastguard Workerthe latest V2 bestbits ACL code.
43*6a54128fSAndroid Build Coastguard Worker
44*6a54128fSAndroid Build Coastguard WorkerFixed bug in e2fsck which caused it to not clear the dtime field when
45*6a54128fSAndroid Build Coastguard Workerprocessing truncated inodes on the orphan list.  This could cause data
46*6a54128fSAndroid Build Coastguard Workerloss(!) if a filesystem is rebooted before a truncate has been
47*6a54128fSAndroid Build Coastguard Workercommitted.
48*6a54128fSAndroid Build Coastguard Worker
49*6a54128fSAndroid Build Coastguard WorkerE2fsck now uses red/black trees in pass1b, which removes some O(n**2)
50*6a54128fSAndroid Build Coastguard Workeralgorithms.  This makes e2fsck much faster in the case of severely
51*6a54128fSAndroid Build Coastguard Workercorrupted filesystems where a large number of blocks are claimed by a
52*6a54128fSAndroid Build Coastguard Workerlarge number of inodes.  (Thanks to the 2.5 IDE device driver for
53*6a54128fSAndroid Build Coastguard Workerinspiring this work.)
54*6a54128fSAndroid Build Coastguard Worker
55*6a54128fSAndroid Build Coastguard WorkerResize2fs has been significantly sped up when shrinking and expanding
56*6a54128fSAndroid Build Coastguard Workera filesystem by a very small number of blocks (for example, when EVMS
57*6a54128fSAndroid Build Coastguard Workeris converting a partition to be an EVMS legacy volume).
58*6a54128fSAndroid Build Coastguard Worker
59*6a54128fSAndroid Build Coastguard WorkerAdded a new option to e2fsck, -D, which will optimize or compress all
60*6a54128fSAndroid Build Coastguard Workerof the directories in the filesystem.
61*6a54128fSAndroid Build Coastguard Worker
62*6a54128fSAndroid Build Coastguard WorkerE2fsck now catches SIGINT and SIGTERM to make sure it will can
63*6a54128fSAndroid Build Coastguard Workerproperly clean up and only exit at safe points.  Fsck will pass
64*6a54128fSAndroid Build Coastguard WorkerSIGINT/SIGTERM to its child processes, and wait until they have all
65*6a54128fSAndroid Build Coastguard Workerexited before it exits.
66*6a54128fSAndroid Build Coastguard Worker
67*6a54128fSAndroid Build Coastguard WorkerThe uuid parsing code in the uuid library now properly complains when
68*6a54128fSAndroid Build Coastguard Workeran illegally formatted uuid is presented to it.  (Addresses Debian bug
69*6a54128fSAndroid Build Coastguard Worker#152891)
70*6a54128fSAndroid Build Coastguard Worker
71*6a54128fSAndroid Build Coastguard WorkerRestrict use of the 2.4 setrlimit ABI f*ckup to kernels between 2.4.10
72*6a54128fSAndroid Build Coastguard Workerand 2.4.17, since the workaround can cause problems when using a 2.4
73*6a54128fSAndroid Build Coastguard Workerkernel with an old version of glibc built with the 2.2 headers.
74*6a54128fSAndroid Build Coastguard Worker
75*6a54128fSAndroid Build Coastguard WorkerFixed a bug in mke2fs where it wasn't properly clearing the initial
76*6a54128fSAndroid Build Coastguard Workersuperblock used by other filesystems.  (Addresses Debian bug #147256.)
77*6a54128fSAndroid Build Coastguard Worker
78*6a54128fSAndroid Build Coastguard WorkerAdded support for the synchronous directory feature written by Andrew
79*6a54128fSAndroid Build Coastguard WorkerMorton.
80*6a54128fSAndroid Build Coastguard Worker
81*6a54128fSAndroid Build Coastguard WorkerThe debugfs program can delete directories using the rmdir command.
82*6a54128fSAndroid Build Coastguard Worker
83*6a54128fSAndroid Build Coastguard WorkerAdd support for 8k and 16k filesystems (for systems with page sizes
84*6a54128fSAndroid Build Coastguard Workerthat are greater or equal to 8k or 16k, respectively).  Note that
85*6a54128fSAndroid Build Coastguard Workerthese filesystems can not be mounted on x86 systems, or other systems
86*6a54128fSAndroid Build Coastguard Workerwith only 4k page sizes, due to limitations in the current Linux VM
87*6a54128fSAndroid Build Coastguard Workercode.
88*6a54128fSAndroid Build Coastguard Worker
89*6a54128fSAndroid Build Coastguard WorkerResize2fs requires that the filesystem state be valid and have no
90*6a54128fSAndroid Build Coastguard Workererrors; otherwise, e2fsck -f must be run first.  (Previously it simply
91*6a54128fSAndroid Build Coastguard Workerrequired that the last fsck time be greater than the last mount time.)
92*6a54128fSAndroid Build Coastguard Worker
93*6a54128fSAndroid Build Coastguard WorkerConfigure now defaults the man pages directory to /usr/share/man on
94*6a54128fSAndroid Build Coastguard WorkerLinux systems.
95*6a54128fSAndroid Build Coastguard Worker
96*6a54128fSAndroid Build Coastguard WorkerE2fsck now offers to truncate inodes which contain too many blocks (so
97*6a54128fSAndroid Build Coastguard Workerthat i_blocks would overflow.  Also fixed handling of large sparse
98*6a54128fSAndroid Build Coastguard Workerfiles.
99*6a54128fSAndroid Build Coastguard Worker
100*6a54128fSAndroid Build Coastguard WorkerE2fsck now more completely checks for symlink validity, including
101*6a54128fSAndroid Build Coastguard Workerrequiring NULL termination and length checks.
102*6a54128fSAndroid Build Coastguard Worker
103*6a54128fSAndroid Build Coastguard WorkerE2fsck will offer to try forcing a disk write to remap a bad block
104*6a54128fSAndroid Build Coastguard Workerafter finding a read error when reading a filesystem metadata block.
105*6a54128fSAndroid Build Coastguard Worker
106*6a54128fSAndroid Build Coastguard WorkerFixed a bug in debugfs which caused the -b and -s options to crash
107*6a54128fSAndroid Build Coastguard Workerdebugfs, as well as breaking the testb, setb, and clearb functions.
108*6a54128fSAndroid Build Coastguard Worker
109*6a54128fSAndroid Build Coastguard WorkerAdded a bmap command to debugfs which calculates the logical to
110*6a54128fSAndroid Build Coastguard Workerphysical block mapping for a particular inode.
111*6a54128fSAndroid Build Coastguard Worker
112*6a54128fSAndroid Build Coastguard WorkerFixed a bug in code which checked to see if a device was mounted which
113*6a54128fSAndroid Build Coastguard Workersometimes (rarely) failed in the case of a plain file.
114*6a54128fSAndroid Build Coastguard Worker
115*6a54128fSAndroid Build Coastguard WorkerFixed a bug in resize2fs where when it reported an error, it would
116*6a54128fSAndroid Build Coastguard Workerprint a message erroneously indicating that the filesystem had been
117*6a54128fSAndroid Build Coastguard Workerresized before it aborted.
118*6a54128fSAndroid Build Coastguard Worker
119*6a54128fSAndroid Build Coastguard WorkerWhen resizing a plain file which is smaller than the requested size,
120*6a54128fSAndroid Build Coastguard Workerresize2fs will attempt to extended the file so that programs like
121*6a54128fSAndroid Build Coastguard Workere2fsck will not complain that the file is too small.
122*6a54128fSAndroid Build Coastguard Worker
123*6a54128fSAndroid Build Coastguard WorkerResize2fs will print the actual new size of the filesystem when it is
124*6a54128fSAndroid Build Coastguard Workerfinished resizing.
125*6a54128fSAndroid Build Coastguard Worker
126*6a54128fSAndroid Build Coastguard WorkerFixed a bug in debugfs where "ls -l" would report incorrect file type
127*6a54128fSAndroid Build Coastguard Workerinformation on big-endian systems.
128*6a54128fSAndroid Build Coastguard Worker
129*6a54128fSAndroid Build Coastguard Worker
130*6a54128fSAndroid Build Coastguard WorkerProgrammer's notes:
131*6a54128fSAndroid Build Coastguard Worker-------------------
132*6a54128fSAndroid Build Coastguard Worker
133*6a54128fSAndroid Build Coastguard WorkerFixed collisions with C++ reserved words.
134*6a54128fSAndroid Build Coastguard Worker
135*6a54128fSAndroid Build Coastguard WorkerAdded portability fixes for building e2fsprogs on the HURD and AIX.
136*6a54128fSAndroid Build Coastguard Worker
137*6a54128fSAndroid Build Coastguard WorkerAdded the ext2ed program for creation of test cases.  (ext2ed has many
138*6a54128fSAndroid Build Coastguard Workerlimitations and bugs which make it unsuitable for production use.)
139*6a54128fSAndroid Build Coastguard Worker
140*6a54128fSAndroid Build Coastguard WorkerThe ext2fs_read_dir_block2 and ext2fs_write_dir_block now take a new
141*6a54128fSAndroid Build Coastguard Workerflag, EXT2_DIRBLOCK_V2_STRUCT, which will will reverse when the
142*6a54128fSAndroid Build Coastguard Workername_len field is byte swapped on big-endian machines, since in the
143*6a54128fSAndroid Build Coastguard WorkerV2 structure, name_len is a char field which is doesn't need to be
144*6a54128fSAndroid Build Coastguard Workerbyte swapped --- except if an old-style kernel had byte-swapped the
145*6a54128fSAndroid Build Coastguard Workername_len field as part of the V1 structure.
146*6a54128fSAndroid Build Coastguard Worker
147