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