• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1E2fsprogs 1.19 (July 13, 2000)
2==============================
3
4Release the resize2fs program since the timeout before it could
5be released under the GPL has finally expired.
6
7Add experimental support needed for the ext2 compression patches.
8This requires compiling e2fsprogs with the --enable-compression flag
9to the configure script.
10
11Added ext3 journalling support.  E2fsck will run the journal (if
12necessary) by temporarily mounting the filesystem.  /sbin/fsck.ext3 is
13installed as a symlink to e2fsck.  Fsck has been taught about ext3,
14and treats it the same as ext2 in terms of the progress bar logic.
15Dumpe2fs will display the superblock journalling information if the
16filesystem has a journal.  The ext2 library will now permit opening an
17ext3 filesystem with the recovery flag set.  This is necessary for
18on-line dump's to work correctly, but there may be issues with this
19working well since ext3 is much less aggressive about syncing blocks to
20the filesystem, since they're safe on the journal.
21
22Tune2fs and e2fsck have been changed to allow the mount_count check to
23be disabled by setting max_mount_count to -1.  (This was already
24supported by the kernel.)
25
26Create a symbolic link for fsck.ext3, since the e2fsprogs utilities
27are used for ext3 as well.
28
29Added internationalization support for e2fsprogs; must be enabled
30by passing --enable-nls to configure.
31
32Always use the provided ext2fs header files to insulate ourselves from
33kernel version changes.  Which include files are used by e2fsprogs
34have also been cleaned up to improve portability.
35
36Limit the number of times that e2fsck updates the progress bar so that
37people who are booting using a 9600 baud console don't get swamped by
38too many updates.
39
40Improved the loop detection algorithm in e2sck's pass #3 so that it is
41much, much faster for large filesystems with a large number of
42directories.
43
44The memory footprint for e2fsck is now slightly smaller than before.
45
46E2fsck now checks if special devices have a non-zero size, and offers
47to clear the size field if it finds such an inode.
48
49E2fsck now checks if special devices have the append-only flag set,
50and offers to clear the inode.
51
52E2fsck now properly handles some "should never fail" cases during a
53bitmap copy in pass5.
54
55E2fsck now properly prints control characters in filenames as ^A .. ^Z.
56
57E2fsck now calculates the correct location of the backup superblock in
58the case of filesystem blocksizes > 1k.
59
60Fixed a bug in e2fsck's calculation of the number of inodes_per_block
61which normally didn't cause problems under most filesystem parameters,
62but could cause a valid superblock to be rejected in extreme cases.
63Other checks for validating superblock values were made more
64stringent.
65
66Added non-destructive write testing to the badblocks program, courtesy
67of David Beattie.  The badblocks also now has an option to input the
68current set of bad blocks, so that known bad blocks are skipped to
69speed up the badblocks test.  There is also a persistent rescan
70feature which causes badblocks to run until it has completed some
71number of passes without discovering any new bad blocks.
72
73Badblocks now checks to see if the device is mounted and refuses to do
74the tests involving writing to the device if it is mounted.  Also,
75badblocks now allows the number of blocks to be checked to be
76defaulted to the size of the partition.
77
78Fixed a bug in fsck which didn't allow non-root users to be able to
79check filesystems if there were any LABEL= or UUID= entries in
80/etc/fstab.
81
82The Hurd doesn't support the filetype filesystem feature.  The mke2fs
83program now makes sure that for the Hurd, the filetype feature is
84turned off.  E2fsck will check to see if the filetype feature is
85turned on for Hurd filesystems, and offer to turn off the feature.
86
87Mke2fs now has a safety check to make sure the number of blocks do not
88exceed 32 bits even on a 64 bit platform.
89
90Really fixed a bug in fsck to allow "fsck -As" to run interactive
91fsck's.  (For those people who like to do interactive fsck's in the
92/etc/rc scripts!?!)
93
94Debugfs has a few new features: the rdump command, which will do a
95recursive dump of a directory and all of its contents, and the lcd
96command which does a local chdir (much like the ftp command of the
97same name).  In addition, the debugfs program and the open_filesystem
98command now takes three new options: -b and -s, which allows the
99blocksize and superblock location to be specified, and the -c option
100which is used in catastrophic situations where the block group
101descriptors are corrupt.  If the -c option is specified, debugfs will
102skip trying to read in the block and inode bitmaps.
103
104Debugfs's lsdel command was fixed to handle bad blocks in the inode
105table.
106
107A Y2K bug in debugfs's "ls -l" handling was fixed by switching to use
1084 digit years.
109
110General improvements in error messages
111
112  - Mke2fs prints a sane error message if the partition size is zero
113	(usually because the partition table wasn't reread by the
114	kernel due to the partition being busy), instead of "invalid
115	argument passed to ext2 library while initializing superblock".
116
117  - Fsck now prints more self-explanatory message if an invalid UUID=
118	or LABEL= specification is passed to it.
119
120UUID library changed to use the LGPL.
121
122Fixed a bug in the UUID library where very rapid calls to the
123time-based UUID generator could cause duplicate UUID's to be returned.
124This was not a problem for e2fsprogs, but it could be a problem for
125other users of the library.
126
127Make the UUID library more robust in the face of missing or an
128improper /dev/urandom or /dev/random files.
129
130Added some random portability fixes for Solaris.
131
132Some minor man page updates.
133
134Fixed a memory leak in the ss library.
135
136
137Programmer's notes:
138-------------------
139
140We now try to use lseek64 and open64 from the LFS if possible.
141
142The 3rd parameter in e2p's print_flags is now a flags word, instead of
143a boolean option.
144
145The mark and unmark bitmap functions now return the previous state of
146the bit that was being changed, which is useful for some speed
147optimizations.
148
149The following functions have been added to enhance the badblocks list
150handling in libext2fs: ext2fs_write_bb_FILE, ext2fs_read_bb_FILE2, and
151ext2fs_badblocks_equal.
152
153The ext2 header files now have the latest journalling fields to the
154superblock.
155
156The ext2fs_mkdir function in libext2fs now properly backs out of error
157conditions robustly.
158
159Cleaned up makefiles:
160  - to cleanly  compile with the -j flag.
161  - so distclean removes all generated files.
162  - so in case of an error while installing header files, the make aborts.
163
164Fix test_script so that it works correctly when compiling in the
165source directory.
166
167The random UUID generation routine has been made slightly better in
168the case where /dev/random doesn't exist.  (Use of randomly-based UUID
169is still not recommended if /dev/random doesn't exist, however; it's
170better to use the time/ethernet MAC address UUID in this case.)
171
172Clean up the build process so it's more friendly in case of missing
173directories.
174
175The ext2fs header file can now be #include'd into C++ programs.
176
177The e2p.h header file is now installed.
178
179Added workaround to a gawk 3.0.5 bug in lib/ss/mk_cmds.
180
181