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