blob: 483bc65b62980863d2042a8fd4851c7afa34bd7a [file] [log] [blame]
Theodore Ts'offf18b42001-02-08 03:06:43 +000012001-02-07 Theodore Tso <tytso@valinux.com>
2
Theodore Ts'o8b164f92001-02-08 03:24:18 +00003 * dumpe2fs.c (list_desc): Fix fencepost error when calculating the
4 range of inode table blocks. Add '0x' to values printed
5 in hex.
6
Theodore Ts'offf18b42001-02-08 03:06:43 +00007 * chattr.c, lsattr.c: Define the _LARGEFILE64_SOURCE to force the
8 use of the LFS so that lstat will work on large files.
9
Theodore Ts'o02088862001-01-18 01:44:19 +0000102001-01-17 Theodore Ts'o <tytso@valinux.com>
11
Theodore Ts'odc2ec522001-01-18 01:51:15 +000012 * tune2fs.c, mke2fs.c, tune2fs.8.in, mke2fs.8.in: Change user
13 interface so that -J is used to specify journal options,
14 and -j is used to request creation of a journal using
15 default values. (This is a UI change, but we haven't done
16 a formal release, and it makes things much more consistent
17 with the rest of the options out there.)
18
19 * tune2fs.c: Add support for removing a filesystem from an
20 external journal; we correctly remove the filesystem UUID
21 from the external journal's filesystem list.
22
Theodore Ts'o5683e6e2001-01-18 01:47:48 +000023 * util.h, util.c (journal_default_size): New function from Andreas
24 Dilger to calculate an appropriate default journal size
25 given a filesystem size.
26
27 * util.c (parse_journal_opts): Allow the creation of a journal as
28 small as 1MB.
29
Theodore Ts'o02088862001-01-18 01:44:19 +000030 * dumpe2fs.c (print_journal_information): Use s_first_data_block
31 to find the correct block to read the journal superblock.
32
Theodore Ts'o16ed5b32001-01-16 07:47:31 +0000332001-01-15 Theodore Ts'o <tytso@valinux.com>
34
35 * tune2fs.c: Changed the external journal code so that it simply
36 adds a filesystem to a journal; the journal must have bene
37 created via "mke2fs -O journal_dev /dev/XXX".
38
39 * mke2fs.c: Add support for creating an external journal device by
40 using the command "mke2fs -O journal_dev /dev/XXX". Also
41 changed the external journal code so -j device=/dev/XXX it
42 simply adds a filesystem to that journal; the journal must
43 have been created via separate step.
44
45 * dumpe2fs.c (print_journal_information): Add support for dumping
46 information about an external journal device.
47
Theodore Ts'o4055ef72001-01-14 16:11:14 +0000482001-01-14 Theodore Ts'o <tytso@valinux.com>
49
Theodore Ts'o44c09c02001-01-14 17:02:09 +000050 * mke2fs.c: Add new filesystem types, largefile and largefile4,
51 for those filesystems whose average inode size is 1MB and
52 4MB, respectively. Allow the inode ratio specified to be
53 has high as 4MB. Make the s_max_mount_count vary between
54 20 and 40, to avoid needing to check all of the
55 filesystems at the same time. Add some random jitter to
56 the s_max_mount_count value so that we avoid checking all
57 of the filesystems at the same time when we reboot.
58
Theodore Ts'o08dd8302001-01-14 16:25:58 +000059 * tune2fs.8.in: Add description of the -j option.
60
Theodore Ts'o4055ef72001-01-14 16:11:14 +000061 * tune2fs.c (add_journal): Minor fixes from Andreas Dilger. Flush
62 stdout after printing in-progress message.
63 (main): Exit with status code 1 if we failed to determine
64 the mount status of the device.
65
Theodore Ts'odfcdc322001-01-11 15:38:00 +0000662001-01-11 <tytso@snap.thunk.org>
67
Theodore Ts'oc8c071a2001-01-11 16:08:23 +000068 * e2image.c, mke2fs.c, mklost+found.c, tune2fs.c, util.c,
69 uuidgen.c: Fix gcc -Wall complaints, including one bug in
70 tune2fs caused by a block automatic shadowing version of
71 the variable we really wanted to use, which broke the
72 logic testing to see if the filesystem was mounted.
73
Theodore Ts'o4d404542001-01-11 16:04:59 +000074 * badblocks.c (flush_bufs): Use ext2fs_sync_device() to sync and
75 flush the device.
76
Theodore Ts'odfcdc322001-01-11 15:38:00 +000077 * mke2fs.c: Change ino_t to ext2_ino_t.
78
Theodore Ts'o83238152001-01-09 00:16:26 +0000792001-01-08 <tytso@snap.thunk.org>
80
81 * Makefile.in, tune2fs.c: Move e2label functionality into tune2fs,
82 using argv[0] as a dispatch. This allows e2label to be
83 (more) safely used on mounted filesystems.
84
Theodore Ts'o8820c792001-01-06 04:20:03 +0000852001-01-05 <tytso@snap.thunk.org>
86
87 * get_device_by_label.h (get_volume_label_by_spec): Add function
88 prototype.
89
90 * get_device_by_label.c: Use string_copy() instead of strdup() for
91 portability's sake. Fix a few other gcc -Wall
92 complaints.
93
94 * fsck.c (string_copy): Export string_copy() extern.
95
96 * badblocks.c: Fix various gcc -Wall complaints, including
97 an incorrect reference to sync in flush_bufs().
98
Theodore Ts'o63985322001-01-03 17:02:13 +0000992001-01-03 <tytso@snap.thunk.org>
100
101 * tune2fs.c (update_feature_set, add_journal): Moved to separate
102 functions. Added ability to add and remove the journal
103 while the filesystem is live. Added support for setting
104 a time-based UUID. Removed zero-initialized static variables.
105
106 * mke2fs.c, util.c, util.h (strcasecmp, proceed_question,
107 check_plausibility, parse_journal_opts, check_mount):
108 Moved functions to util.c so they can be used by tune2fs.
109
110 * mke2fs.c (main): Change ext2fs_add_journal_fs() to
111 ext2fs_add_journal_inode() to reflect function renaming.
112
Theodore Ts'ob21e38a2001-01-01 15:26:58 +00001132001-01-01 <tytso@snap.thunk.org>
114
Theodore Ts'oef9abe52001-01-01 15:31:53 +0000115 * mke2fs.c, e2image.c: Removed references to struct ext2fs_sb to
116 struct ext2_super_block.
117
Theodore Ts'ob21e38a2001-01-01 15:26:58 +0000118 * tune2fs.c (main): Add support to allow HAS_JOURNAL flag to be
119 cleared, but only if the filesystem is unmounted or
120 mounted read-only. Changed struct ext2fs_sb to struct
Theodore Ts'oef9abe52001-01-01 15:31:53 +0000121 ext2_super_block, and cleaned up old code which was needed
122 for old versions of ext2_fs.h (not needed since we're
123 using our own version now).
Theodore Ts'ob21e38a2001-01-01 15:26:58 +0000124
Theodore Ts'o9a718842000-12-31 13:48:12 +00001252000-12-31 <tytso@snap.thunk.org>
126
Theodore Ts'od4cf2fc2000-12-31 14:09:38 +0000127 * fsck.c (check_all): Call interpet_device to resolve LABEL= and
128 UUID= right away so that the device_already_active() logic
129 can do the right thing. Also cleaned up the the root
130 filesystem logic checking code; fixed up a logic bug with
131 the parallel_root option.
132
Theodore Ts'of10748d2000-12-31 13:55:14 +0000133 * lsattr.1.in: Add pointer to chattr man page for definition of
134 the file attributes.
135
136 * lsattr.c (list_attributes): Minor cleanup to smooth out logic
137 flow. Also removed static initialized variables to zero.
138
Theodore Ts'o9a718842000-12-31 13:48:12 +0000139 * chattr.c (decode_arg, get_flag): Use a table-driven method for
140 decoding the ext2 file flags character options. Add
141 support for the journaled data flag.
142
143 * chattr.1.in: Document the -j/+j/=j flag.
144
Theodore Ts'o16ad3332000-12-31 03:21:56 +00001452000-12-30 <tytso@snap.thunk.org>
146
147 * mke2fs.8.in: Minor clarity edit.
148
149 * mke2fs.c (usage): Document the -j option.
150 (main): Print the number blocks used in the journal.
151
Theodore Ts'ob9fd8c12000-12-29 03:10:45 +00001522000-12-28 <tytso@snap.thunk.org>
153
154 * base_device.c (base_device): Add support for DAC960 device
155 names.
156
157 * fsck.c (device_already_active): Handle the case where
158 base_device doesn't know how to interpret the device name,
159 instead of core dumping.
160
Theodore Ts'o74a74d22000-12-09 14:33:29 +00001612000-12-09 <tytso@snap.thunk.org>
162
Theodore Ts'od48755e2000-12-09 14:36:04 +0000163 * mke2fs.c (main, parse_journal_opts): Add support for creating V1
164 superblocks. We now pass in a journal_flags field to the
165 journal creation routines for this purpose.
166
167 * mke2fs.c: Remove zero initializers to save a few bytes from the
168 executable image. (Are we excited yet?)
169
Theodore Ts'o74a74d22000-12-09 14:33:29 +0000170 * findsuper.c: And non-subtle copyright licensing restriction to
171 get Yann to remove this program from the Debian package. :-)
172
Theodore Ts'o793e27d2000-12-03 06:33:56 +00001732000-12-03 <tytso@snap.thunk.org>
174
175 * fsck.c (device_already_active): Change to use new version of
176 base_device() which now returns dynamically allocated
177 memory.
178
179 * base_device.c (base_device): New version moved from fsck.c which
180 now understands ugly devfs names. (Debian bug #65181)
181
182 * base_device.tst: Test case for base_device.c
183
Theodore Ts'oe1c6b2f2000-12-02 06:19:33 +00001842000-12-02 <tytso@snap.thunk.org>
185
Theodore Ts'o2d091792000-12-02 07:03:32 +0000186 * fsck.8.in: Add clarification that filesystems with a fs_passno
187 of 0 are skipped with the -A option. (Debian wishlist/bug
188 #63442)
189
Theodore Ts'oe9f9dd82000-12-02 06:35:07 +0000190 * fsck.c (wait_one): When we let a new fsck take control of the
191 console to display the progress bar, set FLAG_PROGRESS to
192 so that fsck knows not to start new processes during an
193 fsck pass with the progress bar. (Should fix debian bug
194 #65267)
195
Theodore Ts'oe1c6b2f2000-12-02 06:19:33 +0000196 * tune2fs.8.in: Add clarifying statement about converting user and
197 group names to uid's before storing them in the
198 superblock. (Debian bug #67446)
199
Theodore Ts'o8ddaa662000-11-17 04:55:24 +00002002000-11-16 Theodore Ts'o <tytso@valinux.com>
201
202 * mke2fs.c(main): Expand the -j option so that it parses
203 option=argument style options, and add support for
204 creating filesystems with external journals.
205
206 * mke2fs.8.in: Document new syntax for the -j option.
207
Theodore Ts'o72ed1262000-11-12 19:32:20 +00002082000-11-05 <tytso@snap.thunk.org>
209
210 * e2image.c, Makefile.in: New program which saves ext2 metadata to
211 a file for people who need a last-ditch saving throw.
212
Theodore Ts'o85ef4ae2000-10-24 19:33:45 +00002132000-10-24 <tytso@snap.thunk.org>
214
Theodore Ts'of6f65832000-10-25 03:01:37 +0000215 * mke2fs.c (PRS): Applied Andreas Dilger's patch to make the -r -s
216 handling a bit more sane. (Even though -s is deprecated
217 at this point.)
218
Theodore Ts'o0056be12000-10-25 02:24:33 +0000219 * get_device_by_label.c: Apply fix from Erik Troan to support 16
220 character labels.
221
Theodore Ts'o43819662000-10-25 02:06:09 +0000222 * fsck.c (device_already_active): Add a special case check for MD
223 devices, so we don't try to check them in parallel with
224 other devices.
225
Theodore Ts'o85ef4ae2000-10-24 19:33:45 +0000226 * mke2fs.c (PRS, main), mke2fs.8.in: Add support for the -j
227 option, which builds an ext2/3 filesystem with an ext3
228 journal.
229
Theodore Ts'oe294cf22000-10-24 18:41:44 +00002302000-10-24 <tytso@valinux.com>
231
232 * mke2fs.c (zap_sector): Fix really stupid typo which gcc 2.95
233 didn't catch.
234
Theodore Ts'o3f1e9a52000-09-12 21:21:52 +00002352000-09-12 <tytso@valinux.com>
236
237 * fsck.c: Add base device definitions for hd[e-h], for those
238 systems with four IDE interfaces.
239
Theodore Ts'od7e39b02000-09-11 17:01:35 +00002402000-09-11 <tytso@valinux.com>
241
242 * mke2fs.c (zap_sector): Fix error message printed when zap_sector
243 fails.
244
245 * dumpe2fs.c (list_desc): Fixed format string bug when printing
246 the inode table location in non-hex format.
247
Theodore Ts'o556ccbd2000-08-20 19:11:05 +00002482000-08-20 <tytso@valinux.com>
249
250 * get_device_by_label.c: Add call to ext2fs_find_block_device if
251 we can't find the device using the name given by
252 /proc/partitions. (This can happen if devfs is compiled
253 into the kernel, but not mounted.)
254
Theodore Ts'o80c22c92000-08-14 15:32:11 +00002552000-06-27 Andreas Dilger <adilger@turbolabs.com>
256
257 * dumpe2fs.c (usage): add fhx options to usage message, add -x option
258 to print out the per-group block numbers in hex, add line for
259 location of primary/backup superblock and group descriptors
260
261 * mke2fs.c: rename max to group_blk_max avoid potential macro conflict
262
Theodore Ts'oe41784e2000-08-14 14:44:15 +00002632000-08-14 <tytso@valinux.com>
264
265 * mke2fs.c (zap_sector): Change zap_bootsect to more general
266 zap_sect.
267 (main): Clear the superblock when starting mke2fs, to
268 avoid leaving the filesystem in an inconsistent state.
269
Theodore Ts'o28412de2000-07-27 02:45:55 +00002702000-07-26 <tytso@valinux.com>
271
272 * get_device_by_label.c: Improve /proc/partitions parsing in
273 fsck, and speed up fsck -a.
274
Theodore Ts'of9e67062000-07-13 23:25:54 +00002752000-07-13 <tytso@valinux.com>
276
277 * Release of E2fsprogs 1.19
278
Theodore Ts'oa551b782000-07-13 22:05:31 +00002792000-07-13 <tytso@snap.thunk.org>
280
281 * badblocks.8.in: Added text explaining that the -n and -w options
282 are mutually exclusive.
283
284 * badblocks.c (usage): Fix usage message to make it clear that the
285 block count must be specified if the starting block is to
286 be specified. (The starting block should be a option, in
287 the long run.)
288
289 * badblocks.c (test_nd): Save and restore the currently_testing
290 variable before going into the write verification loop.
291 This avoids a loop termination problem if the last block
292 on the disk is bad. Also, turn off the SIGALRM signal
293 while restoring blocks after the user types ^C. The
294 num_saved variable is now static so that it won't get
295 clobbered by a longjmp. buf_used and bb_count are no
296 longer static, since they aren't used by the cleanup
297 routines anymore.
298
299 * badblocks.c (main): Removed an unsued varaible (buf_size).
300 Fixed bad getopt argument that didn't allow the 'b' option
301 to take an argument. Added error checking when parsing
302 the starting block number. Fixed lint warning in fscanf
303 format string.
304
Theodore Ts'o35964b52000-07-06 13:19:43 +00003052000-07-06 Theodore Ts'o <tytso@valinux.com>
306
Theodore Ts'o19c68912000-07-07 03:25:13 +0000307 * fsck.c (execute, wait_one): Treat fsck.ext3 the same as
308 fsck.ext2 (because they are the same) for the purposes of
309 the progress bar display logic.
310
Theodore Ts'o45d9e2f2000-07-07 03:12:54 +0000311 * tune2fs.8.in: Update manual page to document what happens if
312 max_mount_count is negative.
313
314 * tune2fs.c (main): Allow setting the maximal count value to be
315 negative, since the kernel interprets that as forcing a
316 check.
317
Theodore Ts'o5b1519b2000-07-06 14:16:08 +0000318 * fsck.c (lookup, load_fs_info, check_all): Use lazy evaluation
319 for calling interpret_device(), since this requires root
320 privileges if the partitions need to be scanned.
321 Otherwise, it's not possible to do non-proot fsck's for
322 removeable devices such as floppies if there are any
323 LABEL= or UUID= entries in /etc/fstab.
324
Theodore Ts'o981dc562000-07-06 14:13:29 +0000325 * badblocks.c (check_mount, main): Check to see if the filesystem
326 is mounted before doing a read/write or non-destructive
327 test. This can be overriden using the new -f option.
328
Theodore Ts'o35964b52000-07-06 13:19:43 +0000329 * badblocks.8.in: Update manual page to reflect that the
330 blocks-count parameter is now optional. Also properly
Theodore Ts'o981dc562000-07-06 14:13:29 +0000331 document the start-block parameter. Added documentation
332 for the -f option.
Theodore Ts'o35964b52000-07-06 13:19:43 +0000333
334 * badblocks.c (main): Allow the blocks-count parameter to be
335 optional. If it's not specified, use the size of the
336 device as a default.
337
Theodore Ts'od49a22b2000-07-06 00:31:27 +00003382000-07-05 Theodore Ts'o <tytso@valinux.com>
339
340 * badblocks.c (test_nd): Significantly simplify the logic so that
341 it's more obviously what's going on. Fixed a few
342 potential cases which weren't handled correctly in the
343 old, overly complicated logic.
344 (flush_bufs): Now doesn't take a second argument, and
345 always forces a sync; this is required before it's really
346 safe to call BLKFLSBUF, at least for some kernels.
347
Theodore Ts'o26ab5312000-05-29 15:05:42 +00003482000-05-29 Theodore Ts'o <tytso@valinux.com>
349
350 * mke2fs.c (PRS): Add a much more specific error message if the
351 filesystem size is defaulted and get_device_size returns a
352 size of zero. Otherwise, users get a confusing "invalid
353 argument while passed to ext2 library" error message.
354
Theodore Ts'o4ea0a112000-05-08 13:33:17 +00003552000-05-08 Theodore Ts'o <tytso@valinux.com>
356
Theodore Ts'oc96e5112000-05-08 14:47:15 +0000357 * fsck.c (interpret_device): Add better error messages if a UUID=
358 or LABEL= specification is given.
359
Theodore Ts'o4ea0a112000-05-08 13:33:17 +0000360 * mke2fs.c (main): We forcibly turn off the filetype feature if
361 the OS is the hurd, since the hurd doesn't support it.
362 (And since the hurd allows the transmogrification of files
363 to special files and vice versa --- for no good reason
364 that I can understand --- it can't support the filetype
365 feature for the forseeable future, either.)
366
367 * mke2fs.c (proceed_question): Fix reversed sense of
368 proceed_question that was busted due to the
369 internationalization patch. Fixed bug where if
370 proceed_question was called twice, the input buffer wasn't
371 cleared of the previous question's newline.
372
Theodore Ts'oe2207ce2000-04-06 21:51:18 +0000373Thu Apr 6 17:50:25 2000 Theodore Y. Ts'o <tytso@signal.thunk.org>
374
375 * badblocks.c (flush_bufs): Use fsync() if the system doesn't
376 support fdatasync().
377
Theodore Ts'offe4cab2000-04-03 13:27:41 +00003782000-04-03 Theodore Ts'o <tytso@valinux.com>
379
Theodore Ts'o373b8332000-04-03 16:22:35 +0000380 * badblocks.c, dumpe2fs.c, e2label.c, mke2fs.c, tune2fs.c,
381 uuidgen.c: For platforms that don't define optarg.h,
382 manually define optarg and optind.
383
Theodore Ts'o4d003982000-04-03 16:01:11 +0000384 * badblocks.8.in: Updated manual page with suggestions from David
385 Beattie.
386
387 * badblocks.c (test_nd): Generalized cleanup and bug-fixes. We
388 now explicitly clear out the signal handlers to prevent a
389 longjmp to a deactivated stack frame.
390 (test_rw): Fixed a signed vs. unsigned comparison error.
391
Theodore Ts'offe4cab2000-04-03 13:27:41 +0000392 * badblocks.8.in, chattr.1.in, dumpe2fs.8.in, lsattr.1.in,
393 mklost+found.8.in, tune2fs.8.in: Update Remy Card's e-mail
394 address.
395 chattr.1.in: Update which attributes aren't supported.
396
Theodore Ts'oe1a0a3e2000-02-11 05:00:19 +00003972000-02-09 Theodore Ts'o <tytso@valinux.com>
398
399 * chattr.1.in:
400 * lsattr.1.in: Change "version" to "version/generation number".
401
402 * chattr.1.in: Fix stupid file vs filesystem typo.
403
404 * tune2fs.c Fix spelling error (spare vs sparse).
405
406 * mke2fs.c (PRS): Add safety check to make sure the number of
407 blocks doesn't exceed 32 bits on a 64 bit machine.
408
409 * chattr.c: Random cleanup; file-only variables are now static.
410 Options for setting/clearings flags put into order, and
411 #ifdef's removed (since we now use a built-in header
412 file). Add error message if user tries to set and reset
413 the same flag.
414
415 * lsattr.c: Random cleanup; file-only variables are now static.
416 The -l "long" listing has been changed to look nicer.
417 Options names have been renamed to be more descriptive.
418
Theodore Ts'odd018f52000-02-06 23:57:07 +00004192000-02-06 Theodore Ts'o <tytso@valinux.com>
420
Theodore Ts'od9c56d32000-02-08 00:47:55 +0000421 * badblocks.c, chattr.c, dumpe2fs.c, e2label.c, findsuper.c,
422 fsck.c, get_device_by_label.c, lsattr.c, mke2fs.c,
423 mklost+found.c, nls-enable.h, partinfo.c, tune2fs.c,
424 uuidgen.c: Add Internationalization support as
425 suggested by Marco d'Itri <md@linux.it>.
426
Theodore Ts'odd018f52000-02-06 23:57:07 +0000427 * badblocks.c: Fix non-destructive read/write patches from David
428 Beattie. Non-standard variable-length automatic arrays
429 removed. Non-destrutive write test fixed so that logic is
430 clearer and more provably correct. (I believe the old
431 code had a bug where the disk data wasn't restored if it
432 was interrupted at the wrong time.)
433
434 * badblocks.8.in: Document new options in man page.
435
Theodore Ts'ob4ee1fb2000-02-02 19:08:51 +00004362000-02-02 Theodore Ts'o <tytso@valinux.com>
437
438 * fsck.c (interpret_device): If there was an attempt to interpret
439 a device specification of the type "UUID=" or "LABEL=",
440 and it fails, check to see if /proc/partitions is
441 readable. If not, print a warning message about /proc
442 perhaps not being mounted, and exit.
443
444 * mke2fs.c (check_plausibility): Remove unneeded #include of
445 linux/fs.h. Add #define of MAJOR if necessary.
446
447 * partinfo.c: Remove unneeded #include of linux/fs.h
448
Theodore Ts'o582134c2000-01-19 13:26:23 +00004492000-01-19 Theodore Ts'o <tytso@valinux.com>
450
451 * tune2fs.c (usage): Update the usage message to correctly
452 document the -s option.
453
Theodore Ts'o879ac922000-01-18 20:59:11 +00004542000-01-18 Theodore Ts'o <tytso@valinux.com>
455
456 * badblocks.c: Folded in patches David Beattie <dbeattie@usa.net>.
457 Need to do cleanup before release: use of GCC extensions
458 (dynamic arrays); unclean coding tricks (use of || instead
459 of if statements, etc.). Comments from David Beattie:
460
461 "I added non-destructive write-testing, and quite a few
462 other features. The non-destructive write testing,
463 triggered by new "-n" command-line option, will write test
464 patterns to the disk, but only after reading data off the
465 disk into memory. Then, comparing the test patterns gives
466 a result as to whether or not those sectors are reliable.
467 Finally, the original data is written back.
468
469 To streamline this operation, I added another option, "-c
470 blocks_at_once", which will give the number of disk blocks
471 to process at one time (mnemonic--"count"). I made this
472 default to 16 (as in the read-only testing mode), and also
473 affect the read-only testing mode. Of course, read-only
474 mode needs (count * block_size) amount of memory, and
475 non-destructive read-write needs 3 times that much, so it
476 makes sense to do the calculations and not overrun
477 available RAM...I would have liked to implement and
478 auto-memory-usage heuristic, but I have no idea if it's
479 even possible to determine the amount of free memory on a
480 Unix system except by reading /proc entries, and that
481 didn't seem portable. I did NOT make this blocks_at_once
482 affect the behavior of the test_rw routine, as it is
483 processing the whole disk at once, anyway.
484
485 I *think* that I got higher detection rates on my hard
486 drive using random test data than patterned test data, so
487 my non-destructive mode initializes its test data buffer
488 randomly.
489
490 I fixed a typo in flush_bufs that caused the ioctl
491 BLKFLSBUF to never get compiled into the program.
492
493 Also, I added an "undocumented" (I didn't put it into the
494 usage message; you can if you think it's useful) "-h"
495 option to specify the host device to flush--useful if you
496 want to test out my "non-destructive" code on something
497 other than a hard drive, such as a file on a hard drive,
498 and want the host hard drive to flush.
499
500 I provided support for an "input" file (via option "-i",
501 similar to the "-o" option)...containing a list of
502 already-known bad blocks; it will skip testing those
503 blocks, thus adding speed to the bad block scan (on my
504 computer, hitting a physically bad block causes a
505 half-second-or-more freeze as the kernel waits for the
506 hard drive to give up and reset itself; pretty annoying
507 when you already know the block is bad from a previous
508 scan).
509
510 Finally, the real killer, the persistent re-scan (option:
511 "-p num_passes") that I created will, if desired,
512 persistently re-scan the drive until it has completed a
513 user-decidable number of passes in a row during which no
514 new bad blocks are found. On my drive, I would see
515 behavior that a certain percentage of bad blocks would be
516 found with each pass (it was not reliable in the defective
517 areas!), so I wanted it to check it over and over again
518 until it didn't find any more, several times. Perhaps
519 this will be useful to others. Defaults of course to
520 zero, meaning it will stop after the first pass. I used
521 "-p 2" on my drive, and it ran for 2 1/2 days...then used
522 "-p 3" a couple days later and it ran for a few more
523 hours, and since then the rest of my drive has been
524 completely reliable.
525
526 Implementation of these last two features, "-i" and "-p",
527 I did using a bb_list from libext2fs. I debated whether
528 bad blocks input through "-i" should be output into the
529 "-o" file (or stdout, of course), and decided against it,
530 but left the code to do so in place, commented out, just
531 for your information.
532
533 In order to maintain data integrity upon interruption of a
534 non-destructive-write test, I created a signal handler
535 which I install which will write back whatever original
536 disk data is in the buffers upon any of the fatal signals
537 (except SIGKILL, of course).
538
539 Of course, ideally, the new options would be reflected in
540 the badblocks manual page, but I am not experienced at
541 manual page modification; if you decide my patch to
542 badblocks should be incorporated into the distribution, I
543 could learn how to update the manpage and other
544 documentation, or you could do it for me after exercising
545 your opinions, if you have any, on exactly what the
546 command-line parameters should be called and which ones
547 should be in the distribution."
548
Theodore Ts'o3cb77842000-01-18 16:30:27 +00005492000-01-07 Theodore Ts'o <tytso@valinux.com>
550
551 * Really fix the bug where "fsck -As" will actually allow
552 interactive fsck's. (For those people who like to do
553 interactive fsck's in the /etc/rc scripts!?!)
554
Theodore Ts'obfd21931999-11-23 13:48:58 +00005551999-11-23 <tytso@valinux.com>
556
557 * tune2fs.8.in: Fix man page so that the sparse_super filesystem
558 option is properly named.
559
Theodore Ts'o6733c2f1999-11-23 02:23:30 +00005601999-11-22 <tytso@valinux.com>
561
562 * mke2fs.c: Change log2() and log10() to int_log2() and
563 int_log10() to avoid namespace collisions. Change #ifdef
564 sparc to #ifdef __sparc__.
565
Theodore Ts'o5c36a2f1999-11-19 18:42:30 +00005661999-11-19 <tytso@valinux.com>
567
568 * Makefile.in (distclean): Remove TAGS and Makefile.in.old from
569 the source directory.
570
Theodore Ts'o6fdc7a31999-11-10 13:34:40 +00005711999-11-10 <tytso@valinux.com>
572
Theodore Ts'ocd086361999-11-10 16:00:39 +0000573 * Release of E2fsprogs 1.18
574
5751999-11-10 <tytso@valinux.com>
576
Theodore Ts'o6fdc7a31999-11-10 13:34:40 +0000577 * mke2fs.8.in: Update manual page so that the sparse_option
578 filesystem option is properly named.
579
Theodore Ts'o6a35ffa1999-11-04 22:34:43 +00005801999-11-04 <tytso@valinux.com>
581
582 * fsck.c (main): Move setting of the interactive flag to before
583 the call to check_all(), so that people who try to use
584 fsck -As can do so interactively.
585
Theodore Ts'o36caf251999-10-26 14:29:22 +00005861999-10-26 <tytso@valinux.com>
587
Theodore Ts'o28e11941999-10-26 18:17:20 +0000588 * Release of E2fsprogs 1.17
589
5901999-10-26 <tytso@valinux.com>
591
Theodore Ts'o3bc03661999-10-26 17:17:00 +0000592 * fsck.c (PRS, device_already_active): Add debugging hook; if the
593 environment variable FSCK_FORCE_ALL_PARALLEL is set, then
594 force all fsck runs to happen in parallel.
595
Theodore Ts'o36b01301999-10-26 14:38:36 +0000596 * get_device_by_label.c (has_right_label): Fixed bug where code
597 used a strncmp to compare a binary UUID value which may
598 contain a NULL. Fixed GCC warnings; added const to char *
599 typed variables. Eliminated non-portable use of u_char.
600
Theodore Ts'o4a600561999-10-26 14:35:51 +0000601 * mke2fs.c (PRS): Fix gcc warnings; add const to some char *
Theodore Ts'o9094f281999-10-26 16:42:50 +0000602 variables, including in struct mke2fs_defaults.
603 (set_fs_defaults): Changed parameter name to avoid
604 gcc warnings.
Theodore Ts'o4a600561999-10-26 14:35:51 +0000605
Theodore Ts'ob5135711999-10-26 14:33:24 +0000606 * fsck.c (wait_one): Fix gcc warnings; add #include for ctype.h,
607 add const to char * variables, and use NOARGS to declare
608 functions that take no arguments. Also fix a memory leak
609 in execute() where we weren't freeing argv[] after forking
610 the child process.
611
Theodore Ts'o36caf251999-10-26 14:29:22 +0000612 * chattr.c: Add hack to compile in a definition for S_ISLNK so we
613 can successfully compile even with warnings turned on.
614
Theodore Ts'oad6783d1999-10-26 01:58:54 +00006151999-10-25 <tytso@valinux.com>
616
617 * mke2fs.c (show_stats): Capitalized Hurd to make the GNU types
618 happy.
Theodore Ts'oe6597041999-10-26 02:30:16 +0000619 (PRS): Use __u64 instead of long long for portability
620 reasons. Also moved #include of sys/stat.h inside #ifdef
621 HAVE_LINUX_MAJOR_H for portability reasons.
Theodore Ts'oad6783d1999-10-26 01:58:54 +0000622
623 * fsck.c (execute): Fix really stupid bug in the linked list
624 management which caused fsck in parallel mode to go into
625 an infinite loop.
626
Theodore Ts'o896938d1999-10-23 01:04:50 +00006271999-10-22 <tytso@valinux.com>
628
Theodore Ts'o614fdfd1999-10-23 03:19:51 +0000629 * Release of E2fsprogs 1.16
630
6311999-10-22 <tytso@valinux.com>
632
Theodore Ts'o896938d1999-10-23 01:04:50 +0000633 * tune2fs.c (main): Add a new option -O which allows the user to
634 set and clear certain "safe" filsystem feature flags.
635 Currently, the only ones which are supported for
636 modification are sparse_superblock and filetype.
637
638 * mke2fs.c (PRS): Add new option -O which allows the user to
639 request filesystems with specific filesystem options. By
640 default on 2.2 and later systems, create filesystems that
641 have both file type information and sparse superblocks.
642
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +00006431999-10-21 <tytso@valinux.com>
644
645 * badblocks.8.in, chattr.1.in, dumpe2fs.8.in, e2label.8.in,
646 fsck.8.in, lsattr.1.in, mke2fs.8.in, mklost+found.8.in,
647 tune2fs.8.in, uuidgen.1.in: Update man page to use a more standard
648 format (bold option flags and italicized variables), as
649 suggested by Andreas Dilger (adilger@enel.ucalgary.ca)
650
Theodore Ts'o7f4bb6c1999-10-20 18:11:01 +00006511999-10-14 <tytso@valinux.com>
652
Theodore Ts'o671cbfa1999-10-20 18:14:23 +0000653 * tune2fs.c (main): Fix typo (double spaces) in messages regarding
654 changing the sparse superblock option
655
Theodore Ts'o7f4bb6c1999-10-20 18:11:01 +0000656 * fsck.c (wait_one): If the fsck process just started, wait a
657 second before sending a SIGUSR1, to give it a chance
658 to set the signal handler; otherwise, fsck will die on an
659 unhandled SIGUSR1.
660
6611999-09-15 <tytso@valinux.com>
Theodore Ts'o76714331999-10-20 18:06:29 +0000662
663 * mke2fs.c (show_stats): Fix display bug when printing out the
664 number of superblocks. Suggested by Yann Dirson.
665
Theodore Ts'o27401561999-09-14 20:11:19 +00006661999-09-08 <tytso@valinux.com>
667
668 * partinfo.c: Fix minor compilation bugs pointed out by Yann
669 Dirson.
670
671 * mke2fs.c: Don't turn on sparse superblocks by default on pre-2.2
672 kernels.
673
674 * mke2fs.8.in: Add the possible valid block sizes for mke2fs.
675 Document the -n flag, and the new defaults for the -s
676 flag.
677
678 * dumpe2fs.c, dumpe2fs.8.in: Add new options -f (force) and -h
679 (header-only).
680
6811999-08-13 <tytso@valinux.com>
682
683 * mke2fs.c (PRS): Fix logic for turning on/off the sparse
684 superblock option.
685
6861999-07-18 Theodore Ts'o <tytso@valinux.com>
Theodore Ts'o657cb971999-07-30 23:19:10 +0000687
688 * Release of E2fsprogs 1.15
689
Theodore Ts'o50787ea1999-07-19 15:30:21 +00006901999-07-18 <tytso@rsts-11.mit.edu>
691
692 * mke2fs.c (PRS, set_fs_defaults): Add new option -T which allows
693 the user to specify the how the filesystem is to be used.
694 Mke2fs now chooses the filesystem parameters automatically
695 based on the size of the filesystem and the intended use
696 of the filesystem. Add new option -n which simply goes
697 through the calculations to determine the parameters of
698 the filesystem the system would make.
699
7001999-07-18 <tytso@valinux.com>
701
702 * fsck.c, fsck.h: Add support for new option -C. This option will
703 automatically manage e2fsck processes so that they will
704 print completion/progress bars. If multiple filesystems
705 are being checked, arrange to make sure that only one
706 e2fsck process is displaying a progress bar at a time.
707
7081999-07-08 <tytso@valinux.com>
Theodore Ts'o9f10a7b1999-07-16 10:41:36 +0000709
710 * badblocks.c (do_test): Don't complain if the write error occurs
711 on a non-block boundary. This is perfectly common when
712 using blocksizes larger than 1k.
713
Theodore Ts'oc54b3c31999-07-03 07:20:06 +00007141999-07-03 <tytso@valinux.com>
Theodore Ts'o5dbb0721999-07-03 06:16:06 +0000715
716 * uuidgen.c: Add option parsing so that user can ask for either a
717 time-based UUID or a random-based UUID.
718
Theodore Ts'oc54b3c31999-07-03 07:20:06 +00007191999-07-02 <tytso@valinux.com>
Theodore Ts'o2d8defd1999-07-03 01:59:42 +0000720
721 * fsck.c: Added support for LABEL= and UUID= specifications for
722 the filesystem's device, to match what recent mount
723 programs can support. Also, close stdin when doing fsck
724 -A or when checking more than one filesystem at a time, so
725 that e2fsck doesn't try to ask interactive questions if
726 the filesystem appears to be mounted.
727
728 * get_device_by_label.c: New file added to support LABEL=foo and
729 UUID=bar type specifications.
730
Theodore Ts'o00eedba1999-07-03 00:45:58 +00007311999-07-01 <tytso@valinux.com>
732
733 * badblocks.c: Make the "done" string include enough spaces to
734 clear out a large block number.
735
Theodore Ts'oca3c3281999-06-29 14:37:35 +00007361999-06-29 <tytso@valinux.com>
737
738 * mke2fs.c (check_mount): Allow a filesystem to be made even if it
739 appears mounted if the force option is given.
740
Theodore Ts'oe72a9ba1999-06-25 15:40:18 +00007411999-06-24 <tytso@valinux.com>
742
743 * mke2fs.8.in: Fix typo in man page which caused the badblocks
744 command to not show up in the "SEE ALSO" section.
745
Theodore Ts'oe2423cc1999-06-18 00:51:31 +00007461999-05-02 <tytso@rsts-11.mit.edu>
747
748 * findsuper.c: Added documentation from aeb@cwi.nl; some minor
749 code cleanups.
750
Theodore Ts'o02e7dd91999-06-18 00:48:41 +00007511999-05-20 <tytso@rsts-11.mit.edu>
752
753 * dumpe2fs.c, dumpe2fs.8.in: Added new command-line options which
754 allow a filesystem expert to specify the superblock and
755 blocksize when opening a filesystem. This is mainly
756 useful when examining the remains of a toasted filesystem.
757
Theodore Ts'o5d45d801999-03-16 19:35:19 +00007581999-03-11 Andreas Dilger <adilger@enel.ucalgary.ca>
759
760 * uuidgen.c, uuidgen.1.in: Created command-line utility to
761 generate UUIDs.
762
7631999-03-14 Theodore Ts'o <tytso@rsts-11.mit.edu>
764
765 * fsck.c (fsck_device, execute): Don't dereference a null pointer
766 when checking a filesystem not in /etc/fstab.
767
Theodore Ts'o7d5633c1999-02-09 08:14:28 +00007681999-02-09 Theodore Ts'o <tytso@rsts-11.mit.edu>
769
770 * fsck.c (fsck_device): Print an error message if the user passes
771 in a device or directory name which isn't found in /etc/fstab.
772 Allow the location of /etc/fstab to be overridden by
773 the FSTAB_FILE environment variable.
774
7751999-01-30 Theodore Ts'o <tytso@rsts-11.mit.edu>
776
777 * mke2fs.c (write_inode_tables): Add kludge code so that when the
778 MKE2FS_SYNC environment variable is set, mke2fs will sync
779 every MKE2FS_SYNC block groups, while it is writing out
780 the inode tables. This is to work around a VM bug in the
781 2.0 kernel. I've heard a report that a RAID user was able
782 to trigger it even using a 2.2 kernel.
783
Theodore Ts'oee922991999-01-16 05:39:12 +00007841999-01-16 Theodore Ts'o <tytso@rsts-11.mit.edu>
785
786 * fsck.c (execute, wait_one): Modified routines so that they
787 accurately create an fsck_instance even when the noexecute
788 flag is set. This allows for accurate debugging of the
789 fsck pass structure.
790 (check_all): When the verbose flag is given twice, print
791 debugging information about when fsck is waiting for jobs
792 to finish.
793
Theodore Ts'o7953f611999-01-09 05:03:52 +00007941999-01-09 Theodore Ts'o <tytso@rsts-11.mit.edu>
795
Theodore Ts'o9e51eca1999-01-09 16:32:31 +0000796 * Release of E2fsprogs 1.14
797
7981999-01-09 Theodore Ts'o <tytso@rsts-11.mit.edu>
799
Theodore Ts'o7953f611999-01-09 05:03:52 +0000800 * fsck.8.in: Clarified and expanded the documentation for the -A
801 switch.
802
Theodore Ts'o665f7101999-01-08 13:33:39 +00008031999-01-07 Theodore Ts'o <tytso@rsts-11.mit.edu>
804
805 * fsck.c (load_fs_info): If the pass number field is missing, it
806 needs to be treated as zero.
807
Theodore Ts'oa88fa0c1999-01-05 07:02:39 +00008081999-01-05 Theodore Ts'o <tytso@rsts-11.mit.edu>
809
Theodore Ts'o5515e6b1999-01-05 07:25:06 +0000810 * mke2fs.c (PRS): Allow the user to specify exactly how many
811 inodes he/she wishes.
812
Theodore Ts'oa88fa0c1999-01-05 07:02:39 +0000813 * chattr.c, lsattr.c: Only print the version information for the
814 program if the -V option is given.
815
816 * chattr.c: Ignore symbolic links when doing a recursive descent
817 through a directory.
818
Theodore Ts'o93ab9d71999-01-02 04:04:42 +00008191999-01-01 Theodore Ts'o <tytso@rsts-11.mit.edu>
820
821 * fsck.c (load_fs_info, parse_fstab_line): Ignore fstab lines
822 are commented out. Also allow blank lines in the
823 /etc/fstab file.
824 (execute): In verbose mode, print the mountpount of the
825 filesystem which we are checking (user request).
826
8271998-12-30 Theodore Ts'o <tytso@rsts-11.mit.edu>
828
829 * mke2fs.c: Add definition of SCSI_BLK_MAJOR if not defined, for
830 compatibility with Linux 1.2.13 header files.
831
Theodore Ts'o556ad131998-12-19 08:10:58 +00008321998-12-15 Theodore Ts'o <tytso@rsts-11.mit.edu>
833
834 * Release of E2fsprogs 1.13
835
Theodore Ts'ocb620171998-12-08 02:21:29 +00008361998-12-07 Theodore Ts'o <tytso@rsts-11.mit.edu>
837
838 * mke2fs.8.in: Fixed stupid typo ("Raid options are _comma_
839 seperated", instead of common separated)
840
Theodore Ts'o5a679c81998-12-03 16:40:38 +00008411998-12-03 Theodore Ts'o <tytso@rsts-11.mit.edu>
842
843 * Makefile.in: Updated dependencies.
844
8451998-11-27 Theodore Ts'o <tytso@rsts-11.mit.edu>
846
847 * fsck.c (load_fs_info): Parse /etc/fstab ourselves, instead of
848 relying on getmntent(). This has the advantage of
849 allowing us to properly handle missing pass numbers correctly.
850
Theodore Ts'o1dde43f1998-11-14 04:18:28 +00008511998-11-13 Theodore Ts'o <tytso@rsts-11.mit.edu>
852
853 * tune2fs.8.in: Fix minor display bug in the nroff.
854
855 * mke2fs.c (show_stats, write_inode_tables): Use the log10
856 function to calculate the display of block numbers so that
857 things look nice on an 80 character display.
858
8591998-10-12 Theodore Ts'o <tytso@rsts-11.mit.edu>
860
861 * mke2fs.c (usage): Add the sparse-super-flag to the usage
862 message.
863
Theodore Ts'o4a5fa191998-07-09 05:42:45 +00008641998-07-09 Theodore Ts'o <tytso@rsts-11.mit.edu>
865
866 * Release of E2fsprogs 1.12
867
Theodore Ts'oeb5ab741998-07-04 17:47:52 +00008681998-07-04 Theodore Ts'o <tytso@rsts-11.mit.edu>
869
870 * findsuper.c (main): Print the block group number which is now
871 being written by e2fsprogs.
872
Theodore Ts'o818180c1998-06-27 05:11:14 +00008731998-06-25 Theodore Ts'o <tytso@rsts-11.mit.edu>
874
875 * fsck.c (ignore): Remove unused variable cp.
876
877 * chattr.c (fatal_error):
878 * tune2fs.c (usage):
879 * lsattr.c (usage):
880 * dumpe2fs.c (usage):
881 * badblocks.c (usage): Remove volatile from declaration.
882
883 * fsck.c: Change use of strdup to be string_copy, since we don't
884 trust what glibc is doing with strdup. (Whatever it is,
885 it isn't pretty.)
886
8871998-06-19 Theodore Ts'o <tytso@rsts-11.mit.edu>
888
889 * mke2fs.c (PRS): Add a -V option which prints the version number
890 and exit.
891
Theodore Ts'o4bf5fbf1998-05-14 22:43:10 +00008921998-05-14 Theodore Ts'o <tytso@rsts-11.mit.edu>
893
894 * fsck.c (ignore): Remove check for filesystems with the noauto
895 option.
896
Theodore Ts'o7e44f241998-04-01 03:16:29 +00008971998-03-30 Theodore Ts'o <tytso@rsts-11.mit.edu>
898
899 * Makefile.in: Change to use new installation directory variables
900 convention. Fix uninstall rules to take $(DESTDIR) into
901 account. Remove cat8dir and cat1dir from the installdirs
902 target, since modern man package don't necessarily put the
903 cat directory in /usr/man/cat?.
904
Theodore Ts'oa789d841998-03-30 01:20:55 +00009051998-03-29 Theodore Ts'o <tytso@rsts-11.mit.edu>
906
Theodore Ts'o3b27db91998-03-30 01:32:10 +0000907 * e2label.8.in: New man page to document the e2label function.
908
Theodore Ts'oa789d841998-03-30 01:20:55 +0000909 * e2label.c: Fix -Wall warning by making functions static.
910
9111998-03-28 Theodore Ts'o <tytso@rsts-11.mit.edu>
912
913 * chattr.1.in: Document that the append-only attribute may
914 only be set or cleared by the superuser.
915
916 * Update all manual pages to that the availability section is
917 up-to-date.
918
919 * e2label.8.in, tune2fs.8.in: Update manual page to state that
920 labels must be no longer than 16 characters, or they will
921 be truncated.
922
923 * e2label.c (change_label), tune2fs.c (main): If the label is
924 longer than 16 characters, print a warning message stating
925 that the label will be truncated.
926
927 * mke2fs.c (PRS): If the user specifies a filesystem size, and
928 it's larger than the apparent size of the device, print a
929 warning message and ask if the user wants to proceed.
930
Theodore Ts'obbfa3aa1998-03-21 07:12:46 +00009311998-03-21 Theodore Ts'o <tytso@rsts-11.mit.edu>
932
933 * mke2fs.c (check_plausibility): Fixed spelling typo in warning
934 message. Fixed up -Wall warnings in file.
935
Theodore Ts'oe9271681998-03-09 03:23:51 +0000936Sun Mar 8 22:21:48 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
937
938 * partinfo.c (main): The ioctl BLKGETSIZE requires a long, not an
939 int.
940
Theodore Ts'o92bcc591998-02-16 22:29:34 +0000941Sun Feb 1 16:53:36 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
942
943 * badblocks.8: Update documentation to note that output format
944 of badblocks is suitable for use with e2fsck -l or
945 mke2fs -l.
946
947 * mke2fs.c (handle_bad_blocks): Fix bug so that all groups with
948 bad superblock backup blocks are printed (not just the
949 first one).
950
Theodore Ts'oca8abba1998-01-19 14:55:24 +0000951Mon Dec 1 17:01:04 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
952
953 * badblocks.8.in: Add documentation for the -s option.
954
Theodore Ts'o519149f1997-10-25 03:49:49 +0000955Fri Oct 24 23:37:52 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
956
957 * fsck.c:
958 * chattr.c: Remove #include of getopt.h, since it's not needed.
959
960 * tune2fs.c (main):
961 * lsattr.c (main):
962 * badblocks.c (main):
963 * dumpe2fs.c (main):
964 * mke2fs.c (PRS): Make the variable which getopt returns into be
965 an int, so that it won't lose on platforms where char is
966 unsigned.
967
Theodore Ts'od163b091997-10-03 17:42:28 +0000968Fri Oct 3 13:38:45 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
969
970 * mke2fs.c (parse_raid_opts): Make parse_raid_opts return a void,
971 to fix a -Wall warning.
972
Theodore Ts'o00e54331997-09-16 02:13:52 +0000973Mon Sep 15 22:07:12 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
974
975 * tune2fs.c (main):
976 * mklost+found.c (main):
977 * lsattr.c (main):
978 * dumpe2fs.c (main):
979 * chattr.c (main):
980 * badblocks.c (main): Declare main to return an int, as required.
981 Make sure main always ends with an exit(0). (Some
982 programs weren't doing this, and thus were returning a
983 random exit value.)
984
Theodore Ts'oab6b8ab1997-07-14 19:28:55 +0000985Mon Jul 14 15:27:29 1997 Theodore Y. Ts'o <tytso@mit.edu>
986
987 * e2label.c: New file contributed by Andries Brouwer which
988 provides an easy-to-use interface to modify the filesystem
989 label.
990
991 * Makefile.in (SPROGS): Add Makefile support to build e2label
992
Theodore Ts'o024996c1997-06-17 05:38:35 +0000993Tue Jun 17 01:33:20 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
994
995 * Release of E2fsprogs 1.11
996
Theodore Ts'oe22d4611997-06-17 03:57:27 +0000997Mon Jun 16 23:37:54 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
998
999 * mke2fs.c (show_stats): Adjust the number of columns printed when
1000 displaying the superblock backups to avoid running over
1001 80 columns when making a really big disk.
1002
Theodore Ts'of635d7f1997-05-09 02:50:16 +00001003Thu May 8 22:22:08 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1004
Theodore Ts'o583ccdc1997-05-09 03:06:31 +00001005 * badblocks.8.in, chattr.1.in, dumpe2fs.8.in, fsck.8.in,
1006 mke2fs.8.in, tune2fs.8.in: Fix minor typos and grammer
1007 oops found by Bill Hawes (whawes@star.net).
1008
Theodore Ts'of635d7f1997-05-09 02:50:16 +00001009 * mke2fs.c (test_disk): Pass the blocksize to the bad blocks
1010 command so that all of the filesystem gets tested in the
1011 case where the blocksize 2048 or 4096.
1012
Theodore Ts'oa29f4d31997-04-29 21:26:48 +00001013Thu Apr 24 12:16:42 1997 Theodre Ts'o <tytso@localhost.mit.edu>
1014
1015 * Release of E2fsprogs version 1.10
1016
1017Thu Apr 24 09:52:47 1997 Theodre Ts'o <tytso@localhost.mit.edu>
1018
1019 * mke2fs.c: Added new option -R, which specifies RAID options.
1020 Currently the only supported RAID option is "stride" which
1021 specifies the stripe width in RAID filesystem. This is
1022 used to aid in the placement of the inode and block
1023 bitmaps.
1024
1025 * mke2fs.8.in, tune2fs.8.in: Added warnings that the sparse
1026 superblock option isn't yet supported by most kernels.
1027
1028Wed Apr 23 22:42:51 1997 Theodre Ts'o <tytso@localhost.mit.edu>
1029
1030 * mke2fs.c (PRS): Make the default filesystem revision be 0, not
1031 1. (Since some people are still worried about 1.2.13
1032 compatibility).
1033
1034Thu Apr 17 12:23:38 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1035
1036 * Release of E2fsprogs version 1.09
1037
Theodore Ts'o2ecc6fe1997-04-29 17:57:00 +00001038Fri Apr 11 18:57:24 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1039
1040 * chattr.1.in: Updated man page so that the 'A' attribute is
1041 specified everywhere.
1042
1043 * chattr.c (usage): Added usage message for the 'A' attribute.
1044
1045Fri Apr 11 18:56:26 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1046
1047 * Release of E2fsprogs version 1.08
1048
Theodore Ts'o521e3681997-04-29 17:48:10 +00001049Thu Apr 10 07:08:03 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1050
1051 * dumpe2fs.c (list_desc): List the offsets of the inode and block
1052 bitmaps, and the inode table. List the block boundaries
1053 for the groups.
1054
1055Sat Apr 5 11:55:52 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1056
1057 * tune2fs.c (main): Implement the -s flag allows the user to
1058 set and reset the sparse superblock flag.
1059
1060 * mke2fs.c (PRS): By default generate DYNAMIC revision
1061 filesystems. The -s flag controls whether or not the
1062 sparse superblock flag is set.
1063 (PRS): Change to allow the user to specify the true
1064 maximum number of blocks per group to reflect the
1065 blocksize.
1066
Theodore Ts'o19c78dc1997-04-29 16:17:09 +00001067Wed Mar 12 13:32:05 1997 Theodore Y. Ts'o <tytso@mit.edu>
1068
1069 * Release of E2fsprogs version 1.07
1070
1071Thu Mar 6 17:15:05 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1072
1073 * mke2fs.c (create_root_dir): Set the root directory's i_uid and
1074 i_gid to be the real user and group id.
1075
1076Tue Mar 4 10:14:33 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1077
1078 * mke2fs.c (check_plausibility): Add more intelligent error
1079 messages when the device doesn't exist.
1080
1081Sat Mar 1 10:43:32 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1082
1083 * fsck.c (main): Fix bug where the PATH environment variable isn't
1084 set when it is unset.
1085
1086Tue Jan 14 12:30:45 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1087
1088 * mke2fs.c (write_inode_tables): Fixed bug in write_inode_tables
1089 where a loop variable was getting reused in a nested loop.
1090 This caused the inode table to not be correctly
1091 initialized.
1092
1093Thu Jan 2 00:00:37 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1094
1095 * lsattr.c, chattr.c: Include string.h, since we use memcpy().
1096
1097 * findsuper.c: Use time_t for ctime(), not __u32.
1098
1099Sat Dec 28 23:39:18 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1100
1101 * badblocks.c: Adapted -vv modifications from Rik Faith so that
1102 they frequently update the block number field.
1103
1104 * badblocks.8.in: Document the optional start-block parameter
1105
1106Mon Oct 14 11:52:58 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1107
1108 * mke2fs.c: Updated to use new ext2fs_allocate_tables() function.
1109
1110Tue Oct 8 02:02:03 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1111
1112 * Release of E2fsprogs version 1.06
1113
Theodore Ts'o5c576471997-04-29 15:29:49 +00001114Mon Oct 7 00:56:24 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1115
1116 * chattr.1.in: Documented the 'A' (noatime) attribute.
1117
1118 * dumpe2fs.c (main): Change EXT2_SWAP to EXT2_FLAG_SWAP for
1119 consistency's sake.
1120
1121Sun Sep 22 16:18:47 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1122
1123 * chattr.c (decode_arg): Add support for the 'A' (noatime) flag.
1124
1125Thu Sep 12 15:23:07 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1126
1127 * Release of E2fsprogs version 1.05
1128
Theodore Ts'o1e3472c1997-04-29 14:53:37 +00001129Sat Sep 7 07:34:11 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1130
1131 * tune2fs.c (main): Add support for new option -C, which sets the
1132 current number of mounts.
1133 (main): Allow the interval to be specified in seconds,
1134 mostly for debugging.
1135
1136Tue Aug 27 17:27:43 1996 Miles Bader <miles@gnu.ai.mit.edu>
1137
1138 * Makefile.in (SMANPAGES): Use @FSCK_MAN@ instead of fsck.8.
1139 (SPROGS): Use @FSCK_PROG@ instead of fsck.
1140
1141Thu Aug 22 00:51:44 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1142
1143 * mke2fs.c (zap_bootblock): Don't do zap_bootblock on a
1144 sparc.
1145
1146Tue Aug 20 00:15:46 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1147
1148 * chattr.c (main): Fixed bug so that chattr -v works. (Bug report
1149 and fix sent by Charles Howes, chowes@eznet.ca)
1150
1151Fri Aug 9 11:52:42 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1152
1153 * tune2fs.8.in:
1154 * tune2fs.c: Added support for the -L option which sets the volume
1155 label, the -M option which sets the last mounted
1156 directory, and the -U option which sets the filesystem UUID.
1157
1158 * mke2fs.8.in:
1159 * mke2fs.c: Added support for the -o option, which overrides the
1160 creator OS. Generate a UUID for the filesystem, if
1161 applicable. Added support for the -L option which sets
1162 the volume label, and the -M option which sets the last
1163 mounted directory.
1164
1165Sat Jun 22 17:43:17 1996 Remy Card <card@bbj.linux.eu.org>
1166
1167 * chattr.c (decode_arg): Integrated Michael Nonweiler's fix to
1168 avoid a segmentation fault when the "-v" option is used
1169 and no version number is specified.
1170
Theodore Ts'o62c06f71997-04-29 14:34:47 +00001171Thu May 16 11:12:30 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1172
1173 * Release of E2fsprogs version 1.04
1174
1175Wed May 15 21:15:43 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1176
1177 * Makefile.in (fsck): fsck doesn't need to be linked with the ext2
1178 libraries.
1179
Theodore Ts'o7f88b041997-04-26 14:48:50 +00001180Wed Mar 27 00:33:40 1996 <tytso@rsts-11.mit.edu>
1181
1182 * Release of E2fsprogs version 1.03
1183
1184Thu Mar 7 03:43:20 1996 <tytso@rsts-11.mit.edu>
1185
1186 * mke2fs.c (PRS): Add (for development only) support to
1187 specify revision and inode size of the new filesystem.
1188
1189Tue Mar 5 03:51:35 1996 <tytso@rsts-11.mit.edu>
1190
1191 * mke2fs.8.in: Fix a few minor typo's in the man page.
1192
1193 * mke2fs.c (reserve_inodes): Add support for dynamic first inode
1194 revision.
1195
1196Mon Feb 5 22:19:49 1996 <tytso@rsts-11.mit.edu>
1197
1198 * fsck.c (check_all, PRS): Added new flag -P, which turns on the
1199 parallel root option. This allows you to check the root
1200 filesystem in parallel with the other filesystems. Note
1201 that this is not the safest thing in the world to do,
1202 since if the root filesystem is in doubt things like
1203 the e2fsck executable might be corrupted! But some
1204 sysadmins, who don't want to repartition the root
1205 filesystem to be small and compact, may really want this
1206 option turned on.
1207
Theodore Ts'o74becf31997-04-26 14:37:06 +00001208Wed Jan 31 11:06:08 1996 <tytso@rsts-11.mit.edu>
1209
1210 * Release of E2fsprogs version 1.02
1211
1212Tue Oct 30 21:14:12 1995 <tytso@rsts-11.mit.edu>
1213
1214 * mke2fs.c (check_plausibility): Add check to warn user if they
1215 are trying to mke2fs the whole disk. (/dev/hda
1216 vs. /dev/hda1)
1217
1218Fri Dec 15 19:09:56 1995 <tytso@rsts-11.mit.edu>
1219
1220 * fsck.c (check_all): If we break out of the loop because we are
1221 serializing and have just started at fsck we haven't
1222 finished the pass. We need to go round again in case there
1223 are more filesystems to be done in this pass. (Patch
1224 submitted by Mike Jagdis)
1225
1226Sat Dec 9 10:07:16 1995 <tytso@rsts-11.mit.edu>
1227
1228 * dumpe2fs.c (in_use): test_bit() was renamed to
1229 ext2fs_test_bit().
1230
Theodore Ts'o297f47a1997-04-26 14:25:20 +00001231Mon Oct 30 20:21:18 1995 <tytso@rsts-11.mit.edu>
1232
1233 * fsck.c (fsck_device): Check fstype instead of type; this was a
1234 stupid typo which caused coredumps in some cases.
1235
Theodore Ts'oa418d3a1997-04-26 14:00:26 +00001236Thu Oct 26 12:05:18 1995 <tytso@rsts-11.mit.edu>
1237
1238 * Makefile.in (install): Strip programs when they are installed.
1239
1240Fri Aug 18 15:10:40 1995 Theodore Y. Ts'o <tytso@dcl>
1241
1242 * mke2fs.c (PRS): Move call of check_mount() from main() to PRS(),
1243 so we do the check to see if the filesystem is mounted
1244 *before* we try to determine the size of the device.
1245
1246Wed Sep 6 23:34:07 1995 Remy Card <card@bbj>
1247
1248 * fsck.c (load_fs_info): Load the informations from /etc/fstab in
1249 the same order.
1250
1251Thu Aug 17 22:33:09 1995 <tytso@rsts-11.mit.edu>
1252
1253 * mke2fs.c (check_mount): Use the new ext2fs_check_if_mounted()
1254 function to determine if the device is mounted.
1255
1256 * mke2fs.c (PRS): Change call to use the new
1257 ext2fs_get_device_size() function in order to determine
1258 the size of the filesystem. Remove get_size() and
1259 is_valid_offset(), which are no longer called.
1260
1261Fri Aug 11 08:26:24 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
1262
1263 * fsck.c (fsck_device): Make sure fstype has been set by the user
1264 and that it does not begin with "no" and the user has
1265 specified exactly one type before using it as the type to
1266 check.
1267
1268Fri Aug 11 14:17:18 1995 Remy Card <card@bbj>
1269
1270 * badblocks.8:
1271 * chattr.1:
1272 * dumpe2fs.8:
1273 * fsck.8:
1274 * lsattr.1:
1275 * mke2fs.8:
1276 * mklost+found.8:
1277 * tune2fs.8: Updated date and version number.
1278
1279Thu Aug 10 14:18:36 1995 Remy Card <card@bbj>
1280
1281 * tune2fs.c: Fixed a bug which prevented the use of user and group
1282 names with the -g and -u options. Thanks to Jean Christophe
1283 ANDRE <progfou@mycrob.cafard.freenix.fr>.
1284
1285 * mke2fs.8:
1286 * tune2fs.8: Fixed a spelling error in Ted's name :-)
1287
1288Wed Aug 9 20:41:54 1995 Theodore Y. Ts'o <tytso@dcl>
1289
1290 * mke2fs.c (count_blocks): Divide the size by
1291 EXT2_BLOCK_SIZE(&param), instead of assuming that the
1292 blocksize is always 1024 bytes.
1293
1294Sat Aug 5 12:00:51 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
1295
1296 * mke2fs.c (PRS): Use malloc() instead of alloca() --- alloca() is
1297 not portable!! In any case putenv() in some systems must
1298 take a static character array or malloc()'ed memory;
1299 passing memory allocated using alloca() to putenv() is not
1300 advisable.
1301
1302 * chattr.c (chattr_dir_proc):
1303 * lsattr.c (lsattr_dir_proc): Use malloc() instead of alloca() ---
1304 alloca is not portable!
1305
1306 * fsck.c (fsck_device): If the filesystem type is specified by the
1307 user using the -t option, let it override the type in
1308 /etc/fstab.
1309
1310 * fsck.c (strdup): Don't build strdup() if the system defines it.
1311
1312Mon Jun 12 19:15:10 1995 Theodore Y. Ts'o (tytso@dcl)
1313
1314 * chattr.c, lsattr.c: Include <sys/types.h> for <dirent.h>'s
1315 benefit.
1316
1317 * The $(UPROGS) go in bin, not sbin.
1318
1319 * badblocks.c, chattr.c, dumpe2fs.c, fsck.c, lsattr.c, mke2fs.c,
1320 tune2fs.c: Don't include <getopt.h> if it doesn't exist.
1321
1322Mon Jun 12 16:36:04 1995 Theodore Y. Ts'o <tytso@dcl>
1323
1324 * badblocks.c, chattr.c, dumpe2fs.c, fsck.c, lsattr.c, mke2fs.c,
1325 tune2fs.c: Only include getopt.h if HAVE_GETOPT_H is defined.
1326
1327Sat Jun 10 23:37:09 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
1328
1329 * chattr.c: Include errno.h, since we use errno
1330
1331 * fsck.c (load_fs_info): If HAVE_MNTENT_H is not defined,
1332 explicitly initialize filesys_info to be NULL.
1333
1334 * mke2fs.c: Include the stdio.h and errno.h header files
1335
1336Thu Jun 8 13:25:23 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
1337
1338 * mke2fs.c: Only include <linux/fs.h> if we can.
1339 (get_size): Don't try to use the BLKGETSIZE ioctl unless it's defined.
1340 (check_mount): Only check to see if the device is mounted if
1341 HAVE_MNTENT_H is defined (by configure).
1342
1343 * fsck.c (load_fs_info): Only try to get info about filesystems if
1344 HAVE_MNTENT_H is defined (by configure).
1345 (main): Allocate space for a new fsck_path instead of append to a
1346 statically sized buffer.
1347 (PRS): Use alloca to allocate the new path string, instead of
1348 having a fixed size buffer (which was the wrong size anyway).
1349
1350 * chattr.c (chattr_dir_proc): Use alloca to allocate space for a
1351 filename instead of using a fixed-size buffer.
1352 * lsattr.c (lsattr_dir_proc): Ditto.
1353 * mklost+fond.c (main): Calculate the actual needed size for the
1354 path buffer instead of using MAXPATHLEN (which not all systems have).
1355
1356 * badblocks.c: Only include linux include files if we have them.
1357 (flush_bufs): New function to flush a block device, optionally
1358 syncing it first. This replaces other copies of this code.
1359 (test_ro): Replace calls to ioctl with flush_bufs().
1360 (test_rw): Ditto.
1361
1362 * Makefile.in: Rewritten to conform to GNU coding standards and
1363 support separate compilation directories.
1364
Theodore Ts'of3db3561997-04-26 13:34:30 +00001365Sat Mar 11 10:59:58 1995 Theodore Y. Ts'o <tytso@localhost>
1366
1367 * mke2fs.c (main, zap_bootblock): Added new function
1368 zap_bootblock() which clears the first 512 bytes of the
1369 filesystem. This protects the filesystem from being
1370 misidentified as a MS-DOS FAT filesystem.
1371
1372 * badblocks.c (alarm_intr, test_ro, test_rw): Increase the space
1373 allocated for printing the block numbers, so that the
1374 display doesn't get corrupted when running badblocks on a
1375 very large partition.
1376
1377 * badblocks.c (do_test, test_ro, test_rw): Added missing cast to
1378 ext2_loff_t, so that when checking a large device,
1379 spurious seek errors aren't reported.
1380
1381 * mke2fs.c (count_blocks): Declare mid to be of type ext2_loff_t
1382 instead of type int, so that it works for filesystems
1383 greater than 2 GB. (Fortunately count_blocks is only
1384 called if the device does not support the BLKGETSIZE
1385 ioctl, which most do.)
1386
1387 * fsck.c (ignore): Add check to ignore filesystems with a pass
1388 number of zero. (This check was accidentally deleted at
1389 during 0.5b development.)
1390
1391Sat Dec 31 00:47:16 1994 <tytso@rsx-11.mit.edu>
1392
1393 * mke2fs.c (new_table_block, alloc_tables, PRS, main): Add a new
1394 option, -S, which only writes the superblock and group
1395 descriptors. Useful for recovering when all of the
1396 superblocks are corrupted somehow (as a last ditch
1397 measure).
1398
1399 Also, don't bother initializing the bitmap blocks in
1400 alloc_tables(), since they will be overwritten at the end
1401 anyway. (Should speed up mke2fs by a little.)
1402
1403Tue Dec 6 02:20:55 1994 <tytso@rsx-11.mit.edu>
1404
1405 * fsck.c (main): Fix stupid typo where a null inst would be freed.
1406
1407 * fsck.c (wait_one): Check WIFEXITED on status before trying to
1408 extract the exit status. In other cases, return
1409 FSCK_ERROR if the back end processor exited with a signal.
1410
1411Tue Nov 15 10:20:00 1994 Remy Card <card@bbj>
1412
1413 * tune2fs.c (main): Fixed a bug which prevented the use of the
1414 new options.
1415 Added the `w' (week) suffix recognition in the check interval.
1416
1417Sun Nov 13 15:58:48 1994 (tytso@rsx-11)
1418
1419 * fsck.c (load_fs_info): If the user has an obviously old
1420 /etc/fstab file, issue a warning message and assume that
1421 all partitions should be checked.
1422
1423Sat Nov 12 00:33:18 1994 (tytso@rsx-11)
1424
1425 * dumpe2fs.c (list_desc): Update to new inode and block bitmap
1426 structures.
1427
1428 * mke2fs.c (create_root_dir): Create the root directory owned by
1429 the effective uid.
1430
1431Mon Nov 7 22:04:37 1994 Remy Card <card@bbj>
1432
1433 * tune2fs.c (main.c): Added support for new options:
1434 -r reserved_blocks_count, -g reserved_gid, -u reserved_uid.
1435
1436Sun Aug 21 00:57:33 1994 Theodore Y. Ts'o (tytso@rt-11)
1437
1438 * fsck.c (ignore): If the pass number is 0, ignore the filesystem.
1439
1440Wed Aug 17 21:55:03 1994 Remy Card (card@bbj)
1441
1442 * badblocks.c (test_rw): Added verbose output like in the
1443 read-only test.
1444
1445 (do_test and test_rw): Use the llseek system call if available.
1446
1447 * chattr.c: Added support for new attributes.
1448
1449 * lsattr.c: Added support for long format.
1450
1451 * mke2fs.c (usage): Fixed bogus usage message.
1452
1453 (valid_offset): Use the llseek system call if available.
1454
1455Wed Aug 17 10:50:57 1994 Theodore Y. Ts'o (tytso@rt-11)
1456
1457 * mke2fs.c (handle_bad_blocks): Check to see if a bad block is
1458 where a backup superblock/group descriptor is stored. If so,
1459 print a warning message and adjust the superblock counts so that
1460 they are correct. (Otherwise, the bad block will get counted
1461 twice and the # of free blocks count will be wrong.)
1462
1463 (alloc_tables): Removed code which calcualated the free block
1464 statistics, which was moved to lib/ext2fs/initialize.c. This
1465 allows the bad block code to adjust the group descriptor
1466 statistics if necessary.