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