blob: 511cd6327f76e1fd680696ecef740f181e444ac0 [file] [log] [blame]
Theodore Ts'o5c576471997-04-29 15:29:49 +00001
2E2fsprogs 1.06 (October 7, 1996)
3================================
4
5Fixed serious bug in e2fsck: if the block descriptors are bad, don't
6smash the backup copies in ext2fs_close(). (The problem was that when
7e2fsck -p discovered the problem, while it was closing the filesystem
8and exiting, it was also blowing away the backup superblocks on the
9disk, which was less than friendly.) We now make it the case that we
10only write out the backup superblock and the back block descriptors if
11the filesystem is completely free from problems.
12
13Fixed a bug in block_interate in the lib/ext2fs library which caused
14e2fsck to fail on GNU Hurd-created filesystems.
15
16Add support for Linux/FT's bootloader, which actually uses
17EXT2_BOOT_LOADER, and sets its mode bits which caused e2fsck to want
18to clear the inode.
19
20Add support for the "A" (no atime update) attribute. (Note: this
21attribute is not yet in production kernels.)
22
23The test suite is not automatically run when doing a "make all" from
24the top level directory. Users should manually run "make check" if
25they wish to run the test suite.
26
27Upon a preenhalt(), make the printed message more explicit that
28running e2fsck "MANAULLY" means without the -p or -a options.
29
30In e2fsck, if a disconnected inode is zero-length, offer to clear it
31instead of offering to connect it to lost+found.
32
33In e2fsck, if a filesystem was just unmounted uncleanly, and needs
34e2fsck to be run over it, change e2fsck to explicitly display this
35fact.
36
37For dumpe2fs and e2fsck, cause the -V option to print out which
38version of the ext2fs library is actually getting used. (This will
39help detect mismatches of using a 1.06 utility with a 1.05 library,
40etc.)
41
42Programmers' notes:
43-------------------
44
45EXT2_SWAP_BYTES was changed to EXT2_FLAG_SWAP_BYTES, which better fits
46the naming convention.
47
48In ext2fs_initialize(), make sure the description for the inode bitmap
49is correctly initialize.
50
51Fixed minor type typo in ext2fs_allocate_generic_bitmap();
52
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +000053E2fsprogs 1.05 (September 7, 1996)
54==================================
55
56Add support for new fields in the ext2 superblock --- volume name,
57volume UUID, and last mounted field. Dumpe2fs displays these fields,
58tune2fs and mke2fs allows you to set them. E2fsck will automatically
59generate a UUID for those volumes that don't have them.
60
61Put in support for e2fsck to recognize HURD specific ext2 features ---
62most notably, the translator block. The e2fsprogs tools will now use
63the creator_os field in the superblock to correctly handle different
64OS-specific variants of the ext2 filesystem.
65
66E2fsck now fixes inodes which have a the deletion time set, but which
67have a non-zero i_link_count field by offering to clear the deletion
68time. Previously e2fsck assumed that the inode was deleted (per 0.3c
69ext2 kernel behavior) and offered to unlink the file.
70
71If e2fsck sets the clean bit, but nothing else, set the exit code
72FSCK_NONDESTRUCT. After all, e2fsck did fix a filesystem error --- it
73set the filesystem valid bit when it was previously cleared. :-) This
74was needed to make the HURD fsck driver happy.
75
76If the user refuses to attach an unattached inode, e2fsck will no
77longer set the inode's link count. Otherwise, the inode would end up
78getting marked as unused, which might cause loss of data later.
79
80Make the message issued by e2fsck when the superblock is corrupt less
81confusing for users. It now mentions that another reason for the
82"corrupt superblock" message might be that the partition might not be
83an ext2 filesystem at all (it might swap, msdos filesystem, ufs, etc.)
84
85Make the libext2 library more robuest so that e2fsck won't coredump on
86an illegal superblock where the blocksize is zero. (f_crashdisk is
87the test case).
88
89By default, create filesystems where the default checkinterval is 6
90months (180 days). Linux servers can be robust enough that 20 reboots
91can be a long, long time.
92
93Added configure flag --enable-old-bitops, which forces the bitops to
94use the old (native) bitmask operations. By default on the sparc
95platform, the standard ext2 bit ordering is now used.
96
97Added a new feature to e2fsck to byte-swap filesystems; this can be
98used to convert old m68k filesystems to use the standard byte-order
99storage for the superblock, inodes, and directory blocks. This
100function is invoked by using the '-s' option to e2fsck.
101
102Debugfs's "dump" command has been enhanced so that it writes out the
103exact size of the file so that the nulls at the end of the file are
104eliminated. The command also accept a new "-p" option which will
105attempt preserve to preserve the ownernship, permissions, and
106file modification/access times.
107
108Debugfs has two new options, -f and -R. The -R option allows the user
109to execute a single debugfs command from the command line. The -f
110option allows the user to specify a "command file" containing debugfs
111commands which will get executed.
112
113Dumpe2fs now pretty prints the check interval, instead of just
114printing the check interval as a number of seconds.
115
116Fix bugs in debugfs: the params command when no filesystem is opened
117no longer causes a core dump. It is now possible to unlink a file
118when a pathame containing a '/' is specified.
119
120Tune2fs has a new -C option which sets the number of times the
121filesystem has been mounted.
122
123Fix the chattr '-v' option so that it actually works. Chattr was
124being buggy about the -v option parsing.
125
126Programmers' notes:
127-------------------
128
129The directory lib/uuid contains a set of library routines to generate
130DCE compatible UUIDs.
131
132Extended ext2fs_namei() to handle symbolic links. Added new function
133ext2fs_nami_follow() which will follow last symbolic link in the case
134where the pathname points to a sym link.
135
136The ext2fs_block_iterate function will now return the HURD translator
137block, if present. The new flag BLOCK_FLAG_DATA_ONLY will cause the
138iterator to return data blocks only. The ext2fs.h file now defines
139constants BLOCK_COUNT_IND, BLOCK_COUNT_DIND, BLOCK_COUNT_TIND, and
140BLOCK_COUNT_TRANSLATOR, which are the magic values passed in the block
141count field of the iterator callback function.
142
143The test script driver now takes an optional second argument, which is
144the test case to be run. This allows you to run a test case without
145needing to run the entire test suite.
146
147On Linux ELF systems, install the .so files in the correct places
148(/usr/lib). The .so files must be stored in the same directory as the
149.a files.
150
151Fixed miscellaneous HURD compilation issues with header file being
152included in the right order.
153
154Fixed debugfs so that it resets optind to zero, not one, since setting
155optind to zero is more correct.
156
157
Theodore Ts'oa4d09611997-04-29 14:28:00 +0000158E2fsprogs 1.04 (May 16, 1996)
159=============================
160
161First "official" (1.03 was a limited release only) to support building
162e2fsprogs under Linux 2.0 kernels (as well as late model 1.3 and 1.99
163kernels).
164
165This package includes a RPM specs file, that it can be built using the
166RedHat Package Manager.
167
168E2fsck now prints a hint that if there are lots of incorrectly located
169inode bitmaps, block bitmaps, and inode table blocks, the user might
170want to try using e2fsck -b 8193 first, to see if that fares any
171better.
172
173For ext2 filesystem written with the hurd, debugfs will now print out
174the translator field when printing an inode structure.
175
176Lots of miscellaneous linking/installation cleanups:
177
178 Libraries are now linked using a relative pathname, instead of
179 relying on -L working correct. It doesn't, in many cases, including
180 current versions of GNU ld. This guarantees that the build tree is
181 linking with the right libraries, instead of the ones installed in
182 /usr/lib.
183
184 Header files, man pages, and the et/ss shell scripts are now
185 generated using a custom substitution script, instead of relying on
186 the configure script. This prevents needless recompilation of
187 files; in addition, the custom substitution script is much faster.
188
189 e2fsck may now be linked dynamically, by using the
190 --enable-dynamic-e2fsck flag to configure. This is not recommended,
191 since it increases e2fsck's dependence on other files, but some
192 people need to save disk space, and other critical programs on their
193 systems were being linked dynamically anyway.
194
195 Programs such as fsck which didn't need to be linked against
196 libext2fs (or mke2fs which didn't need to be linked against libe2p)
197 only link against libraries they actually need. Otherwise, those
198 programs would require the presense of libraries that otherwise
199 could be removed from a rescuse diskette.
200
201 The ss include files are now installed correctly so they can
202 actually be used by another package.
203
204 If the profiling libraries are built, they are now installed on a
205 "make install-libs".
206
207
Theodore Ts'o7f88b041997-04-26 14:48:50 +0000208E2fsprogs 1.03 (March 27, 1996)
209===============================
210
211Change the m68k bit numbering for bitmasks to match the bit numbering
212used by all other ext2 implementations. (This change was requested by
213the m68k kernel development team.)
214
215Support (in-development) filesystem format revision which supports
216(among other things) dynamically sized inodes.
217
218Fixed a bug in the ext2 library so that an intelligent error is
219returned if mke2fs is run with a ridiculously small number of blocks
220for a partition.
221
222Fixed a bug in the ext2 library which required that the device be
223openable in read/write mode in order to determine its size. This
224caused e2fsck -n to require read/write access when it was not
225previously necessary.
226
227Fixed a bug in e2fsck which casued it to occasionally fail the test
228suite depending on which version of the floating point library it was
229using.
230
231Fixed a bug in e2fsck so that it now halts with a fatal error when
232certain superblock consistency checks fail. Previously it continued
233running e2fsck, with some potential confusing/damaging consequences.
234
235Added new flag to fsck which allows the root to be checked in parallel
236with other filesytems. This is not the safest thing in the world to
237do, but some system administrators really wanted it.
238
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +0000239Fixed -Wall flames in lib/ss.
240
Theodore Ts'o74becf31997-04-26 14:37:06 +0000241
242E2fsprogs 1.02 (January 16, 1996)
243=================================
244
245Fix to allow e2fsprogs to be compiled on recent 1.3 (pl45+) kernels.
246
247Change e2fsck to print statistics of how many non-contiguous files are
248on the system. Note that a file which is larger than 8k blocks, it is
249guaranteed to be non-contiguous.
250
251In mke2fs, print a warning message if a user tries to format a whole
252disk (/dev/hda versus /dev/hda1). If a user really wants to format a
253whole disk, the -F (force) option forces mke2fs to format a whole disk
254as a filesytem.
255
256Fix a bug in fsck where in some cases it might start checking
257partitions in the next pass before it finishes checking partitions in
258the current pass. This still won't cause two partitions on the same
259disk will be checked, so it's rarely a problem in real life.
260
261Patch lsattr so that it won't hang when checking a named pipe.
262
263Minor compilation fixes:
264 * Fix the order of libraries that were linked in debugfs.
265 * Allow the sources to be compiled with -ansi turned on.