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