xref: /aosp_15_r20/external/e2fsprogs/doc/RelNotes/v1.39.txt (revision 6a54128f25917bfc36a8a6e9d722c04a0b4641b6)
1*6a54128fSAndroid Build Coastguard WorkerE2fsprogs 1.39 (May 29, 2006)
2*6a54128fSAndroid Build Coastguard Worker=============================
3*6a54128fSAndroid Build Coastguard Worker
4*6a54128fSAndroid Build Coastguard WorkerFix 32-bit cleanliness in e2fsprogs so that we can support filesystems
5*6a54128fSAndroid Build Coastguard Workerbetween 2**31 and 2**32 blocks.
6*6a54128fSAndroid Build Coastguard Worker
7*6a54128fSAndroid Build Coastguard WorkerChange mke2fs to use /etc/mke2fs.conf as a configuration file to
8*6a54128fSAndroid Build Coastguard Workerconfigure the filesystem features, blocksize, and inode_ratio for
9*6a54128fSAndroid Build Coastguard Workerdifferent filesystem types.
10*6a54128fSAndroid Build Coastguard Worker
11*6a54128fSAndroid Build Coastguard WorkerMke2fs will now create filesystems hash trees and on-line resizing
12*6a54128fSAndroid Build Coastguard Workerenabled by default, based on the new /etc/mke2fs.conf file.
13*6a54128fSAndroid Build Coastguard Worker
14*6a54128fSAndroid Build Coastguard WorkerThe e2fsprogs tools (resize2fs, e2fsck, mke2fs) will open the
15*6a54128fSAndroid Build Coastguard Workerfilesystem device node in exclusive mode to prevent accidents by
16*6a54128fSAndroid Build Coastguard Workersystem administrators.  In the case of resize2fs and mke2fs, it will
17*6a54128fSAndroid Build Coastguard Workeronly use exclusive mode if the filesystem is not mounted.
18*6a54128fSAndroid Build Coastguard Worker
19*6a54128fSAndroid Build Coastguard WorkerFixed a bug in mke2fs which caused it to to fail when creating the
20*6a54128fSAndroid Build Coastguard Workerresize inode for large filesystems.  (Addresses Debian Bug #346580)
21*6a54128fSAndroid Build Coastguard Worker
22*6a54128fSAndroid Build Coastguard WorkerWhen allocating space for the RAID filesystems with the stride
23*6a54128fSAndroid Build Coastguard Workerparameter, mke2fs will now place each portion of the group's inode
24*6a54128fSAndroid Build Coastguard Workertable right up after the superblock (if present) in order to minimize
25*6a54128fSAndroid Build Coastguard Workerfragmentation of the free space.
26*6a54128fSAndroid Build Coastguard Worker
27*6a54128fSAndroid Build Coastguard WorkerSpeed up mke2fs and e2fsck by writing inode and block bitmaps more
28*6a54128fSAndroid Build Coastguard Workerefficiently by writing the inode and block bitmaps in one pass, thus
29*6a54128fSAndroid Build Coastguard Workerreducing the number of disk seeks required.
30*6a54128fSAndroid Build Coastguard Worker
31*6a54128fSAndroid Build Coastguard WorkerAdd support for on-line resizing to resize2fs.
32*6a54128fSAndroid Build Coastguard Worker
33*6a54128fSAndroid Build Coastguard WorkerFix blkid library so that logic to determine whether or not a device's
34*6a54128fSAndroid Build Coastguard Workercached information in /etc/blkid.tab needs to be verified or not
35*6a54128fSAndroid Build Coastguard Workerdoesn't get confused by a system clock which is insane (for example,
36*6a54128fSAndroid Build Coastguard Workerif the battery is dead on a Macintosh running PPC Linux.  (Addresses
37*6a54128fSAndroid Build Coastguard WorkerRed Hat Bug: #182188)
38*6a54128fSAndroid Build Coastguard Worker
39*6a54128fSAndroid Build Coastguard WorkerThe blkid library will now store the UUID of the external journal used
40*6a54128fSAndroid Build Coastguard Workerby ext3 filesystems, so that in the future, the userspace mount binary
41*6a54128fSAndroid Build Coastguard Workercan use this to find the location of the external journal and pass
42*6a54128fSAndroid Build Coastguard Workerthis information to the kernel.
43*6a54128fSAndroid Build Coastguard Worker
44*6a54128fSAndroid Build Coastguard WorkerE2fsck will now consult a configuration file, /etc/e2fsck.conf to
45*6a54128fSAndroid Build Coastguard Workercontrol how various options should be handled.  See the e2fsck.conf
46*6a54128fSAndroid Build Coastguard Workerman page for more details.   (Addresses Debian Bug: #150295)
47*6a54128fSAndroid Build Coastguard Worker
48*6a54128fSAndroid Build Coastguard WorkerE2fsck now prints an explanatory message when delaying a filesystem
49*6a54128fSAndroid Build Coastguard Workercheck when the system is running on battery.  (Addresses Debian Bug:
50*6a54128fSAndroid Build Coastguard Worker#350306)
51*6a54128fSAndroid Build Coastguard Worker
52*6a54128fSAndroid Build Coastguard WorkerE2fsck will detect if the superblock's last mount field or last write
53*6a54128fSAndroid Build Coastguard Workerfield is in the future, and offer to fix if so.  (Addresses Debian Bug
54*6a54128fSAndroid Build Coastguard Worker#327580) These problems will be fixed automatically in preen mode
55*6a54128fSAndroid Build Coastguard Workersince Debian's boot sequence bogusly doesn't set the time correctly
56*6a54128fSAndroid Build Coastguard Workeruntil potentially very late in the bootup process, and this can cause
57*6a54128fSAndroid Build Coastguard Workerfalse positives which will cause users' systems to fail to boot.
58*6a54128fSAndroid Build Coastguard Worker(Addresses Debian Bugs #343662 and #343645)
59*6a54128fSAndroid Build Coastguard Worker
60*6a54128fSAndroid Build Coastguard WorkerE2fsck now checks to see if the superblock hint for the location of
61*6a54128fSAndroid Build Coastguard Workerthe external journal is incorrect, and if so, offer to update it.
62*6a54128fSAndroid Build Coastguard Worker(Addresses Debian Bug: #355644)
63*6a54128fSAndroid Build Coastguard Worker
64*6a54128fSAndroid Build Coastguard WorkerFix e2fsck from segfaulting on disconnected inodes that contain one or
65*6a54128fSAndroid Build Coastguard Workermore extended attributes.  (Addresses Debian Bug: #316736, #318463)
66*6a54128fSAndroid Build Coastguard Worker
67*6a54128fSAndroid Build Coastguard WorkerE2fsck will stop and print a warning if the user tries running a
68*6a54128fSAndroid Build Coastguard Workerread/write badblocks test on a read-only mounted root filesystem.
69*6a54128fSAndroid Build Coastguard Worker
70*6a54128fSAndroid Build Coastguard WorkerFix a memory leak in e2fsck's error paths.  (Thanks to Michael
71*6a54128fSAndroid Build Coastguard WorkerC. Thompson for pointing these out; they were originally found using
72*6a54128fSAndroid Build Coastguard WorkerCoverity.)
73*6a54128fSAndroid Build Coastguard Worker
74*6a54128fSAndroid Build Coastguard WorkerWhen resizing a file containing a filesystem, resize2fs will expand or
75*6a54128fSAndroid Build Coastguard Workertruncate a file as necessary.  (Addresses Debian Bug: #271607)
76*6a54128fSAndroid Build Coastguard Worker
77*6a54128fSAndroid Build Coastguard WorkerResize2fs will now automatically determine the RAID stride parameter that
78*6a54128fSAndroid Build Coastguard Workerhad been used to create the filesystem, and use that for newly created
79*6a54128fSAndroid Build Coastguard Workerblock groups.   The RAID stride parameter may also be manually specified
80*6a54128fSAndroid Build Coastguard Workeron the command line using the new -S option to resize2fs.
81*6a54128fSAndroid Build Coastguard Worker
82*6a54128fSAndroid Build Coastguard WorkerFix mke2fs so that it correctly creates external journals on
83*6a54128fSAndroid Build Coastguard Workerbig-endian machines (such as a S/390).
84*6a54128fSAndroid Build Coastguard Worker
85*6a54128fSAndroid Build Coastguard WorkerFix a bug in the e2p library which could cause dumpe2fs to (rarely)
86*6a54128fSAndroid Build Coastguard Workerfail to print out the journal or hash seed UUID.  (Thanks to Guillaume
87*6a54128fSAndroid Build Coastguard WorkerChambraud for pointing this out.)
88*6a54128fSAndroid Build Coastguard Worker
89*6a54128fSAndroid Build Coastguard WorkerDumpe2fs will now print the size of the journal (if present).
90*6a54128fSAndroid Build Coastguard Worker
91*6a54128fSAndroid Build Coastguard WorkerFix debugfs's set_inode_field command so it can properly set the frag,
92*6a54128fSAndroid Build Coastguard Workerfsize, uid_high, gid_high, and author fields in the inode instead of
93*6a54128fSAndroid Build Coastguard Workersilently failing, and so that setting the i_size actually sets i_size
94*6a54128fSAndroid Build Coastguard Workercorrectly.
95*6a54128fSAndroid Build Coastguard Worker
96*6a54128fSAndroid Build Coastguard WorkerAdd a new debugfs command, set_current_time, which sets fs->now so
97*6a54128fSAndroid Build Coastguard Workerthat regression test suites can repeatedly modify the filesystem's
98*6a54128fSAndroid Build Coastguard Workerlast_write fields.
99*6a54128fSAndroid Build Coastguard Worker
100*6a54128fSAndroid Build Coastguard WorkerFix a bug in debugfs's icheck which would incorrectly report the owner
101*6a54128fSAndroid Build Coastguard Workerof an extended attribute block.
102*6a54128fSAndroid Build Coastguard Worker
103*6a54128fSAndroid Build Coastguard WorkerFix the debugfs commands htree_dump, dx_hash, and list_dir so they print a
104*6a54128fSAndroid Build Coastguard Workerprint a usage message when an illegal option character is given.
105*6a54128fSAndroid Build Coastguard Worker
106*6a54128fSAndroid Build Coastguard WorkerFix debugfs's dump_unsued command on filesystems with a 64k blocksize
107*6a54128fSAndroid Build Coastguard Workerso it won't core dump.  (Addresses SourceForge bug #1424311)
108*6a54128fSAndroid Build Coastguard Worker
109*6a54128fSAndroid Build Coastguard WorkerFix mklost+found so that it creates a full-sized directory on
110*6a54128fSAndroid Build Coastguard Workerfilesystems with larger block sizes.
111*6a54128fSAndroid Build Coastguard Worker
112*6a54128fSAndroid Build Coastguard WorkerFix a file descriptor leak in blkid library.
113*6a54128fSAndroid Build Coastguard Worker
114*6a54128fSAndroid Build Coastguard WorkerFix a display bug in "badblocks -sv" so that the done message properly
115*6a54128fSAndroid Build Coastguard Workerclears the block number at the end of the test.  (Addresses Debian Bug
116*6a54128fSAndroid Build Coastguard Worker#322231)
117*6a54128fSAndroid Build Coastguard Worker
118*6a54128fSAndroid Build Coastguard WorkerAllow fractional percentages to the -m option in mke2fs and tune2fs
119*6a54128fSAndroid Build Coastguard Worker(Addresses Debian Bug: #80205)
120*6a54128fSAndroid Build Coastguard Worker
121*6a54128fSAndroid Build Coastguard WorkerUse fstat/fstat64 in getsize.c if the the target is a regular file,
122*6a54128fSAndroid Build Coastguard Workerinstead of attempting to do a binary search.  Fix some fd leaks in
123*6a54128fSAndroid Build Coastguard Workererror cases.
124*6a54128fSAndroid Build Coastguard Worker
125*6a54128fSAndroid Build Coastguard WorkerAdd support for device mapper library to the blkid library to ensure
126*6a54128fSAndroid Build Coastguard Workerthat the "best" (i.e., leaf) device is probed by the blkid library.
127*6a54128fSAndroid Build Coastguard Worker
128*6a54128fSAndroid Build Coastguard WorkerFix the blkid library so that it notices when an ext2 filesystem is
129*6a54128fSAndroid Build Coastguard Workerupgraded to ext3.
130*6a54128fSAndroid Build Coastguard Worker
131*6a54128fSAndroid Build Coastguard WorkerImprove the blkid's library VFAT/FAT detection; it now understands
132*6a54128fSAndroid Build Coastguard Workerlabels stored in the root directory, and is more paranoid about
133*6a54128fSAndroid Build Coastguard Workerchecking the FAT superblock values.
134*6a54128fSAndroid Build Coastguard Worker
135*6a54128fSAndroid Build Coastguard WorkerFixed a fd leak in the uuid library which was causing problems for the
136*6a54128fSAndroid Build Coastguard WorkerLVM tools.  (Addresses Debian Bug: #345832)
137*6a54128fSAndroid Build Coastguard Worker
138*6a54128fSAndroid Build Coastguard WorkerAdd support for the reiser4 and software suspend partitions to the
139*6a54128fSAndroid Build Coastguard Workerblkid library.  Also add support for extract the label from iso9660
140*6a54128fSAndroid Build Coastguard Workerfilesystems.
141*6a54128fSAndroid Build Coastguard Worker
142*6a54128fSAndroid Build Coastguard WorkerFix a compile_et bug which miscount the number of error messages if
143*6a54128fSAndroid Build Coastguard Workercontinuations are used in the .et file.
144*6a54128fSAndroid Build Coastguard Worker
145*6a54128fSAndroid Build Coastguard WorkerAdd extra sanity checks to protect users from unusual circumstances
146*6a54128fSAndroid Build Coastguard Workerwhere /etc/mtab may not be sane, by checking to see if the device is
147*6a54128fSAndroid Build Coastguard Workerreported busy (works on Linux 2.6) kernels.  (Addresses Debian Bug
148*6a54128fSAndroid Build Coastguard Worker#319002)
149*6a54128fSAndroid Build Coastguard Worker
150*6a54128fSAndroid Build Coastguard WorkerUpdated French, Dutch, Polish, and Swedish translations.  (Addresses Debian
151*6a54128fSAndroid Build Coastguard WorkerBug: #343149, #341911, #300871, #316604, #316782, #330789)
152*6a54128fSAndroid Build Coastguard Worker
153*6a54128fSAndroid Build Coastguard WorkerFix use-after-free bug in e2fsck when finishing up the use of the
154*6a54128fSAndroid Build Coastguard Workere2fsck context structure.
155*6a54128fSAndroid Build Coastguard Worker
156*6a54128fSAndroid Build Coastguard WorkerFixed spelling mistakes, typos, and otherwise clarified man pages and
157*6a54128fSAndroid Build Coastguard Workerdocumentation.  (Addresses Debian Bugs: #329859, #322188, #316811,
158*6a54128fSAndroid Build Coastguard Worker#312515, #351268, #357951, #347295, #316040, #368392, #368393, #368394,
159*6a54128fSAndroid Build Coastguard Worker#368179)
160*6a54128fSAndroid Build Coastguard Worker
161*6a54128fSAndroid Build Coastguard WorkerFixed various Debian packaging issues --- see debian/changelog for
162*6a54128fSAndroid Build Coastguard Workerdetails.  (Addresses Debian Bugs #317862, #320389, #290429, #310950,
163*6a54128fSAndroid Build Coastguard Worker#310428, #330737, #330736, #329074, #356293, #360046, #366017, #364516,
164*6a54128fSAndroid Build Coastguard Worker#362544, #362970)
165*6a54128fSAndroid Build Coastguard Worker
166*6a54128fSAndroid Build Coastguard Worker
167*6a54128fSAndroid Build Coastguard WorkerProgrammer's notes:
168*6a54128fSAndroid Build Coastguard Worker-------------------
169*6a54128fSAndroid Build Coastguard Worker
170*6a54128fSAndroid Build Coastguard WorkerUpdate config.guess and config.sub to latest version (2006-02-23) from
171*6a54128fSAndroid Build Coastguard WorkerFSF.
172*6a54128fSAndroid Build Coastguard Worker
173*6a54128fSAndroid Build Coastguard WorkerFix asm_types.h type conflicts on AMD 64 platforms.  (Addresses Debian
174*6a54128fSAndroid Build Coastguard WorkerBugs: #360661, #360317)
175*6a54128fSAndroid Build Coastguard Worker
176*6a54128fSAndroid Build Coastguard WorkerFixed the Makefile so that they work correctly on newer versions of
177*6a54128fSAndroid Build Coastguard WorkerGNU make (i.e., 3.81).
178*6a54128fSAndroid Build Coastguard Worker
179*6a54128fSAndroid Build Coastguard WorkerAdd valgrind support to the regression test suites, and eliminate
180*6a54128fSAndroid Build Coastguard Workerfalse positives from valgrind.
181*6a54128fSAndroid Build Coastguard Worker
182*6a54128fSAndroid Build Coastguard WorkerAdd a regression test suite for the blkid library.
183*6a54128fSAndroid Build Coastguard Worker
184*6a54128fSAndroid Build Coastguard WorkerFix a fencepost error in resize2fs caught by valgrind.
185*6a54128fSAndroid Build Coastguard Worker
186*6a54128fSAndroid Build Coastguard WorkerFix compiler warnings about missing memcpy prototypes.
187*6a54128fSAndroid Build Coastguard Worker
188*6a54128fSAndroid Build Coastguard WorkerWe no longer have the sparc assembly code in the header file any more,
189*6a54128fSAndroid Build Coastguard Workerso we shouldn't set _EXT2_HAVE_HAS_BITOPS_ for the sparc.  This would
190*6a54128fSAndroid Build Coastguard Workerbreak compiles on the sparc architectures when using gcc.
191*6a54128fSAndroid Build Coastguard Worker
192*6a54128fSAndroid Build Coastguard WorkerIn the libext2fs library, add the new field fs->now which if non-zero
193*6a54128fSAndroid Build Coastguard Workeris used instead of the system time when setting various filesystem
194*6a54128fSAndroid Build Coastguard Workerfields (last modified time, last write time, etc.)
195*6a54128fSAndroid Build Coastguard Worker
196*6a54128fSAndroid Build Coastguard WorkerFix gcc 4.01 complaints by adding a missing #include <string.h> to
197*6a54128fSAndroid Build Coastguard Workerext2fs.h which is needed since the inline functions use memcpy().
198*6a54128fSAndroid Build Coastguard Worker(Addresses Sourceforge Bug #1251062)
199*6a54128fSAndroid Build Coastguard Worker
200*6a54128fSAndroid Build Coastguard WorkerUse BUILD_CFLAGS and BUILD_LDFLAGS instead of CFLAGS and LDFLAGS in
201*6a54128fSAndroid Build Coastguard Workerthe build system when building files in the util directory which are
202*6a54128fSAndroid Build Coastguard Workerneeded during the build process.  This avoids potential problems when
203*6a54128fSAndroid Build Coastguard Workercross-compiling and some of the options specified in CFLAGS or LDFLAGS
204*6a54128fSAndroid Build Coastguard Workerare not recognized as valid by the host compiler.  (Addresses
205*6a54128fSAndroid Build Coastguard WorkerSourceforge Bug #1261547)
206*6a54128fSAndroid Build Coastguard Worker
207*6a54128fSAndroid Build Coastguard WorkerClean up the blkid library by making the superblock and generic i/o
208*6a54128fSAndroid Build Coastguard Workerfunctions to be more generic.  Clean up interface to the probe
209*6a54128fSAndroid Build Coastguard Workerfunction, and fix memory leak.  Finally, remove an unneeded reference
210*6a54128fSAndroid Build Coastguard Workerto probe.h in the lib/blkid/resolve.c
211*6a54128fSAndroid Build Coastguard Worker
212*6a54128fSAndroid Build Coastguard WorkerAdd an ext2fs_read_bb_FILE regression test to confirm proper detection
213*6a54128fSAndroid Build Coastguard Workerof invalid block #'s.
214*6a54128fSAndroid Build Coastguard Worker
215*6a54128fSAndroid Build Coastguard WorkerThe x86 asm constraints for ext2fs_{set/clear}_bit have been fixed to
216*6a54128fSAndroid Build Coastguard Workerindicate that the the function read/writes the memory location.
217*6a54128fSAndroid Build Coastguard Worker
218*6a54128fSAndroid Build Coastguard WorkerFix various gcc -Wall complaints.
219*6a54128fSAndroid Build Coastguard Worker
220*6a54128fSAndroid Build Coastguard WorkerAdd a dependency to make sure that the subdirectories are created
221*6a54128fSAndroid Build Coastguard Workerbefore creating all of the object files, in order to address parallel
222*6a54128fSAndroid Build Coastguard Workerbuild problem in the library Makefiles.  (Addresses Sourceforge Bug:
223*6a54128fSAndroid Build Coastguard Worker#1261553)
224*6a54128fSAndroid Build Coastguard Worker
225*6a54128fSAndroid Build Coastguard WorkerAdd $(LDFLAGS) to the command line argument when generating an ELF or
226*6a54128fSAndroid Build Coastguard WorkerSolaris shared library, to allow cross-compile and other builds that
227*6a54128fSAndroid Build Coastguard Workermight need to specify -L paths to needed libraries.  (Addresses
228*6a54128fSAndroid Build Coastguard WorkerSourceforge Bug #1261549)
229*6a54128fSAndroid Build Coastguard Worker
230*6a54128fSAndroid Build Coastguard WorkerAdd a new feature, EXT2_FEATURE_COMPAT_LAZY_BG, which is initially
231*6a54128fSAndroid Build Coastguard Workerintended for testing purposes.  It allows an ext2/ext3 developer to
232*6a54128fSAndroid Build Coastguard Workercreate very large filesystems using sparse files where most of the
233*6a54128fSAndroid Build Coastguard Workerblock groups are not initialized and so do not require much disk
234*6a54128fSAndroid Build Coastguard Workerspace.  Eventually it could be used as a way of speeding up mke2fs and
235*6a54128fSAndroid Build Coastguard Workere2fsck for large filesystem, but that would be best done by adding an
236*6a54128fSAndroid Build Coastguard WorkerRO_COMPAT extension to the filesystem to allow the inode table to be
237*6a54128fSAndroid Build Coastguard Workerlazily initialized on a per-block basis, instead of being entirely
238*6a54128fSAndroid Build Coastguard Workerinitialized or entirely unused on a per-blockgroup basis.
239*6a54128fSAndroid Build Coastguard Worker
240*6a54128fSAndroid Build Coastguard WorkerFix backwards compatibility so e2fsprogs will better compile on Linux
241*6a54128fSAndroid Build Coastguard Worker2.0.35 systems.
242*6a54128fSAndroid Build Coastguard Worker
243*6a54128fSAndroid Build Coastguard WorkerMake test scripts more robust against locale-related environment variables
244*6a54128fSAndroid Build Coastguard Worker
245*6a54128fSAndroid Build Coastguard WorkerFix type warning problem with sizeof() in ext2fs_open2().
246*6a54128fSAndroid Build Coastguard Worker
247*6a54128fSAndroid Build Coastguard WorkerFix type warning problem with time_t in debugfs.
248*6a54128fSAndroid Build Coastguard Worker
249