]> git.ipfire.org Git - thirdparty/e2fsprogs.git/blob - doc/RelNotes/v1.36.txt
libext2fs: fix potential divide by zero bug caused by a lxcfs bug
[thirdparty/e2fsprogs.git] / doc / RelNotes / v1.36.txt
1 E2fsprogs 1.36 (February 4, 2005)
2 =================================
3
4 All of the patches that were applied to Fedora Core 3's
5 e2fsprogs-1.35-11.2 have been integrated, although sometimes with a
6 lot of bug fixes first. Users of Fedora Core 3 are strongly
7 encouraged to upgrade to e2fsprogs 1.36 as soon as possible.
8
9 Add support for filesystem with the online resizing via resize inode
10 feature. Fixed numerous bugs from the Fedora patches. The Fedora
11 patches also didn't bother to do any consistency checking on the
12 resize inode, or add any tests to the regression test suite. The "-R
13 resize=4g" option to mke2fs was a no-op in the Fedora patches, despite
14 being listed in mke2fs's usage message. All of these shortcomings
15 have been corrected.
16
17 E2fsck can also also fix filesystems trashed by Fedora's resize2fs
18 program. In order to do this, the user must run the commands:
19
20 debugfs -w /dev/hdXXX -R "features ^resize_inode"
21 e2fsck -f /dev/hdXXX
22
23 Optionally, the ext2prepare command can be used to re-enable online
24 resizing after the filesystem has been fixed.
25
26 The fsck program will now accept an optional filedescriptor argument
27 to the -C option. (The Fedora version of this patch would sometimes
28 cause fsck to ignore a parameter on fsck's command line in some rare
29 cases, sigh.)
30
31 Make sure e2fsprogs doesn't write garbage into the reserved portion of
32 large inodes.
33
34 Make sure resize2fs releases the blocks belonging to the old inode
35 table blocks when moving the inode table. (Addresses Debian Bug:
36 #290894)
37
38 Skip the r_resize_inode test if resize2fs is not compiled (due to
39 configure --disable-resizer)
40
41 E2fsck now checks the summary filesystem accounting information, and
42 if any of the information is obviously wrong, it will force a full
43 filesystem check. (Addresses Debian Bug #291571)
44
45 Fix e2fsck to not complain when the resize_inode feature is enabled,
46 s_reserved_gdt_blocks is zero, and there is no DIND block allocated in
47 the resize inode.
48
49 Fix e2fsck to note delete symlinks that contain an extended attribute
50 after the ext_attr feature flag has been cleared. (Addresses Red Hat
51 Bugzilla #146284).
52
53 Add new utility program, copy_sparse.c, which is very useful
54 for dealing with large sparse files (such as e2image files).
55
56 Add support for jnl_blocks[] for debugfs's set_super_value.
57
58 Fix filefrag so that it works correctly with sparse files.
59
60 Filefrag -v will print first and last blocks.
61
62 Add interpretation of OS Creator values for FreeBSD and Lites in mke2fs
63 and dumpe2fs.
64
65 Add mke2fs support so that it can support filesystems larger than 4TB
66 automatically, by retrying with a 4k blocksize if the device size is
67 too big to be expressed using a 1k blocksize. (Addresses Sourceforge
68 bug #1106631)
69
70 Change blkid to test for NTFS first because Windows sometimes doesn't
71 clear enough of the partition to confuse the probing routines into
72 thinking the old filesystem type is still valid. (Addresses Debian
73 Bug #291990)
74
75 Add support for swap partition label and uuid's in the blkid library.
76
77 Add support to the blkid library to recognize Oracle ASM volumes.
78
79 Make blkid -t display all devices that match the specified criteria,
80 not just the first one, and work more consistently when the blkid
81 cache file is not available or set to /dev/null. (Addresses Debian
82 Bug #290530 and #292425)
83
84 Badblocks will now correctly display block numbers greater than
85 999,999,999 in its progress display.
86
87 The tune2fs program will not allow the user from setting a ridiculous
88 number of reserved blocks which would cause e2fsck to assume the
89 superblock was corrupt. E2fsck's standards for what is a ridiculous
90 number of reserved block has also been relaxed to 50% of the blocks in
91 the filesystem.
92
93 The blkid library will return vfat in preference to msdos, and ext3 in
94 preference to ext2 (if the journalling flag is set) so that mount will
95 do the right thing. (Addresses Debian bug #287455)
96
97 Mke2fs will now use the -E option for extended options; the old -R
98 (raid options) option is still accepted for backwards compatibility.
99 Fix a double-free problem in resize2fs. (Red Hat Bugzilla #132707)
100
101 Mke2fs will now accept a size in megabytes, gigabytes, and other units
102 (via "32m" or "4g" on the command line) if the user finds this more
103 convenient than specifying a block count.
104
105 Fix an obscure, hard-to find bug in "e2fsck -S" caused by an inode
106 cache coherency problem.
107
108 Debugfs now supports a new command, set_inode_field, which allows a
109 user to manually set a specific inode field more conveniently, as well
110 as set entries in the indirect block map.
111
112 Debugfs's set_super_value command has been enhanced so that the user
113 can set most superblock fields, including the date/time fields and
114 some of the more newly added superblock fields.
115
116 E2fsprogs programs now accept an offset to be passed to the file
117 specifiers, via the syntax: "/tmp/test.img?offset=1024".
118
119 E2fsprogs programs will now accept blocksizes up to 65536; kernel
120 support on the x86 doesn't exist for now, but it can be useful on
121 other architectures with page sizes greater than 4k. There are 2.6
122 kernel patches out there which enable this, but they are of this
123 writing still experimental.
124
125 The e2image command now takes the -s option which will scramble
126 directory entries for raw image files.
127
128 Fix a file descriptor leak in the filefrag program.
129
130 Make sure e2fsck doesn't crash when /proc/acpi/ac_adapter is not
131 present.
132
133 Fix bug in debugfs where kill_file would lead to errors when deleting
134 devices and symlinks. (Sourceforge Bugs #954741 and #957244)
135
136 Fix bug in the blkid library when detecting the ocfs1 filesystem
137
138 Remove obsolete EVMS 1.x and a.out DLL support.
139
140 E2fsck will attempt to recover from a journal containing illegal blocks.
141
142 Fixed two potential ordering constraint problems in e2fsck which might
143 cause the filesystem to be corrupted if e2fsck is interrupted during a
144 (extremely narrow) race window. Thanks to Junfeng Yang from the
145 Stanford Metacompilation group for pointing this out.
146
147 Fixed bug in e2fsck where it would not accurately detect whether or
148 not the system is running on adaptor if the ACPI device representing
149 the AC adapter didn't correspond to the what was used on IBM
150 Thinkpads.
151
152 Change e2fsck to accept directories greater than 32MB.
153
154 Fix e2fsck so that a checkinterval of zero disables a time-based check
155 of the filesystem.
156
157 Debugfs will check the DEBUGFS_PAGER environment variable in preference
158 to the PAGER environment variable. (Addresses Debian Bug #239547)
159
160 Tune2fs will not mark rewrite the superblock if the feature bitmasks
161 are not modified.
162
163 The debugfs program will set the filetype information when creating a
164 link.
165
166 Add debugfs -d option to use a separate source of data blocks when
167 reading from an e2image file.
168
169 Add e2image -I option which allows the e2image metadata to be
170 installed into a filesystem.
171
172 Fixed bug in the badblocks program which caused "done" to always
173 appear in English even when a translation was available. (Addresses
174 Debian Bug #252836)
175
176 The blkid program has a new option -o which controls the output format
177 of the blkid program; this is makes blkid more convenient to use in
178 shell scripts.
179
180 Fix a minor bug in uuid library, which was not using the full 14 bits
181 of clock sequence when generating UUID's.
182
183 Fix a Y8.8888K problem in the uuid library.
184
185 Logsave now creates a new session id for itself to avoid getting
186 killed by init when transitioning between init levels.
187
188 Change the licensing of the UUID library to be the 3-clause BSD-style
189 license; this allows Apple to use the uuid library in Darwin.
190
191 Add ocfs and ocfs2 probe support into the blkid library.
192
193 Fix a memory and file descriptor leak in the blkid library.
194
195 The blkid library will revalidate the device if the system time is
196 earlier than last verification time of the device, since that
197 indicates that the system time is probably not trustworthy.
198
199 The blkid library will override the default location of the blkid.tab
200 file by the BLKID_FILE environment variable, if it is available.
201
202 Change the getsize functions to use the BLKGETSIZE64 ioctl on Linux 2.6.
203
204 Add various portability fixes for lame new versions of glibc, Darwin
205 and GNU/KFreeBSD, as well as removing XSI:ism's. (Addresses Debian
206 Bugs #239934, #264630, #269044, #255589, #289133)
207
208 Add support for Windows 9x/NT under Cygwin.
209
210 Updated and clarified various man pages. (Addresses Debian Bugs #236383,
211 #241940, #238741, #242995, #256669, #268148, #256760, #273679)
212
213 Updated and fixed translations. (Addresses Debian bugs #244105, #262836)
214
215 Update the rpm spec files so that it works better with Fedora core 2
216 and RH9.
217
218 Fixed various Debian packaging issues (see debian/changelog). In
219 particular, fixed the Debian initrd scripts. (#241183, #248050,
220 #253595, #247775)
221
222
223 Programmer's notes:
224 -------------------
225
226 Fixed various gcc -Wall warnings.
227
228 The uuid library now has new functions uuid_unparse_upper() and
229 uuid_unparse_lower() which forces the case of the hex digits to be
230 upper case, or lower case.
231
232 The build process has been sped up by enhancing the subst program
233 to update the modtime on the generated files even when the generated
234 file hasn't changed.
235
236 The uuid library now uses C99 stdint.h types instead of custom types.
237
238 Updated config.guess and config.sub with newer versions from the FSF.
239
240 Removed out of date .cvsignore files from the source distribution.
241
242 The ext2fs_unlink() function will return an error if both the name and
243 inode number are unspecified, to avoid doing something surprising
244 (such as unconditionally deleting the first directory entry).
245 Directory entries are now deleted by coalescing them with the previous
246 directory entry if possible, to avoid directory fragmentation. This
247 is not an issue with the e2fsprogs suite, but may be a problem for
248 some of the users of libext2fs, such as e2tools.
249
250 Add support for version numbers of the form "1.36-rc1".
251
252 Fix build of mke2fs.static.
253
254 Add basic ext2fs library support for large (EA in inode) inodes.
255
256 The test_io mechanism can now abort after n reads or writes to a
257 particular block. The block is specified by TEST_IO_BLOCK environment
258 variable, and the read/write count by the TEST_IO_READ_ABORT and
259 TEST_IO_WRITE_ABORT environment variables. The block data is now only
260 dumped if the 0x10 bit is set in TEST_IO_FLAGS.
261
262 UUID_DEFINE() in the uuid library now creates a static variable, with
263 __attribute__ ((unused)) if we are using GCC, so that UUID_DEFINE can
264 be used in header files.
265
266 Add support for the install-strip and install-shlibs-strip targets, as
267 suggested by the GNU coding guidelines. "make install" no longer
268 strips the binaries which are installed.
269
270 Remove support for the --enable-old-bitops configure option which was
271 only for very old sparc systems.
272
273 Remove support for --enable-clear-htree; this was only needed during
274 the early development of the htree patch.
275
276 Use Linux-kernel-style makefile output so it is easier to see compiler
277 warnings.
278
279 Update gettext files to version 0.14.1.
280
281 Update to use autoconf 2.5x.
282
283 Improved support for compiling e2fsprogs under dietlibc.
284
285 Make e2fsprogs portable to Solaris and FreeBSD systems.
286
287 Add blkid_verify(), blkid_get_library_version(), and
288 blkid_parse_version_string() functions to the blkid library.
289
290 Add pkg-config files for e2fsprogs's libraries.
291
292 Fix "make uninstall" to so that it removes everything that is installed.
293
294 Add a configure --enable-maintainer-mode option which enables the
295 makefile rules to rebuild the configure script from configure.in, and
296 to rebuild the .gmo files in po directory.
297
298 Drop the sparc assembly bitwise operations; it's less efficient
299 than the GCC 3.4 compile code and triggers compiler warnings on
300 sparc64. Thanks to Matthias Andree for his analysis and suggestions.
301 (Addresses Debian Bug #232326)
302