Whamcloud - gitweb
blkid.c (main, compare_search_type): Make blkid -t work more
[tools/e2fsprogs.git] / misc / ChangeLog
1 2005-01-27  Theodore Ts'o  <tytso@mit.edu>
2
3         * blkid.c (main, compare_search_type): Make blkid -t work more
4                 consistently when the blkid cache file is explicitly set
5                 to /dev/null.  (Addresses Debian Bug #292425)
6
7         * mke2fs.c (PRS): Don't use a blocksize greater than 4k, even on
8                 2.6 kernels, unless explicitly requested by the user; not
9                 all 2.6 kernels (includeing stock 2.6 kernels as of this
10                 writing) don't support blocksizes > 4k.
11
12         * mke2fs.c (PRS): If the device size is too big to be expressed
13                 using a 1k blocksize, retry with a 4k blocksize.
14                 (Addresses Sourceforge bug #1106631)
15
16 2005-01-26  Theodore Ts'o  <tytso@mit.edu>
17
18         * Makefile.in (uninstall): Make sure "make uninstall" removes
19                 everything installed by the makefile.
20
21         * e2image.c (scramble_dir_block): Make sure the unused space
22                 in the '.' and '..' directory entries are cleared when
23                 e2image -rs is specified.
24
25 2005-01-24  Theodore Ts'o  <tytso@mit.edu>
26
27         * tune2fs.8.in: Clarified man page about the -c option.
28
29 2005-01-21  Theodore Ts'o  <tytso@mit.edu>
30
31         * blkid.c (main): Make blkid -t display all devices that match the
32                 specified criteria, not just the first one.  (Addresses
33                 Debian Bug #290530)
34
35 2005-01-20    <tytso@snap.thunk.org>
36
37         * filefrag.c (frag_report): Fix filefrag so that it works
38                 correctly with sparse files; unallocated blocks should not
39                 be treated as a discontinuity.
40
41 2005-01-19  Theodore Ts'o  <tytso@mit.edu>
42
43         * mke2fs.c (show_stats, set_os): Interpret OS Creator values for
44                 FreeBSD and Lites.
45
46 2005-01-18  Theodore Ts'o  <tytso@mit.edu>
47
48         * e2image.c, e2image.8.in: Add support for the -s option which
49                 scrambles directory entries for raw image files.
50
51 2005-01-17  Theodore Ts'o  <tytso@mit.edu>
52
53         * tune2fs.c: On Solaris, defining _XOPEN_SOURCE inexplicably
54                 causes struct timeval to be undefined, breaking system
55                 header files left and right.  But glibc requires
56                 _XOPEN_SOURCE in order for strptime() to be defined.  So
57                 don't define _XOPEN_SOURCE on Solaris systems.
58
59         * filefrag.c (frag_report): Applied patch from Francois Petillon
60                 (fantec at proxad.net) to avoid a file descriptor leak.
61
62 2005-01-06  Theodore Ts'o  <tytso@mit.edu>
63
64         * badblocks.c (alarm_intr): Increase the number of spaces reserved
65                 for printing block numbers, so we can correctly display
66                 block numbers numbers greater than 999,999,999.
67                 (Addresses SourceForge bug #1016163)
68
69         * tune2fs.c (main): When specifying the number of reservered
70                 blocks that can only be allocated by root, enforce a 50%
71                 limit so that the user can't accidentally make a
72                 superblock which e2fsck will think is insane.
73
74 2005-01-05  Theodore Ts'o  <tytso@mit.edu>
75
76         * fsck.c (PRS): Apply Fedora's e2fsprogs-1.35-progress.patch from
77                 e2fsprogs-1.35-11.2.  Fixed multiple command-line parsing
78                 bugs so that backwards compatibility is maintained, and so
79                 that certain command-line options wouldn't be ignored.
80
81         * mke2fs.c (parse_extended_opts): Rename the -R option to -E.  Fix
82                 the resize= raid/extended option so it actually works.
83                 (The patch from Fedora e2fsprogs-1.35-11.2 claimed it
84                 worked, but it was a placebo option, despite the claim
85                 that it worked in the usage message.)
86
87         * e2initrd_helper.c: Fix gcc -Wall nits.
88
89         * e2image.c (main): Fix gcc -Wall nits.  Fix e2image so that
90                 e2image -I has an exit code of 0 when it is successful.
91
92         * mke2fs.c (PRS, parse_r_opts): Use parse_num_blocks() from the
93                 e2p library to parse the number of blocks from the command
94                 line.
95
96 2004-12-23  Theodore Ts'o  <tytso@mit.edu>
97
98         * dumpe2fs.c (list_desc): If reserved GDT blocks are present,
99                 display them along with the other filesystem meta blocks.
100
101 2004-12-22  Theodore Ts'o  <tytso@mit.edu>
102
103         * fsck.c (main): Check return from malloc of fsck_path string.
104
105 2004-12-21  Theodore Ts'o  <tytso@mit.edu>
106
107         * tune2fs.c (parse_time): Fix minor buglet; the parse_time routine
108                 should use the passed-in argument, not optarg, even though
109                 the two are the same in the case of the current caller of
110                 said function.
111
112 2004-12-15  Theodore Ts'o  <tytso@mit.edu>
113
114         * mke2fs.c: Applied resize inode patch from Andreas Dilger to add
115                 support for creating filesystems with reserved space for
116                 on-line expansion.
117
118 2004-12-14  Theodore Ts'o  <tytso@mit.edu>
119
120         * Makefile.in: Move strip command to install-strip target.
121                 Use Linux-kernel-style makefile output for "make install"
122
123         * Makefile.in (installdirs): Use $(MKINSTALLDIRS) macro
124
125 2004-12-01  Theodore Ts'o  <tytso@mit.edu>
126
127         * e2image.8.in: Fix minor glitches in man page.
128
129 2004-11-30  Theodore Ts'o  <tytso@mit.edu>
130
131         * Makefile.in: Delete e2initrd_helper when doing a make clean.
132
133         * tune2fs.c: If there is a question mark in the device name,
134                 separate out the options to the IO layer, and pass it on
135                 to ext2fs_open2().
136
137         * Makefile.in: Use Linux-kernel-style makefile output to make it
138                 easier to see errors/warnings.
139
140 2004-11-19  Theodore Ts'o  <tytso@mit.edu>
141
142         * mke2fs.8.in: Removed the word "destructive" when describing the
143                 read-write test, since it can confuse people.
144
145 2004-10-08  Theodore Ts'o  <tytso@mit.edu>
146
147         * mke2fs.8.in: Add an explanation about why reserved blocks in a
148                 filesystem is a good thing.
149
150 2004-09-28  Theodore Ts'o  <tytso@mit.edu>
151
152         * badblocks.8.in: Document the default block size.  (Addresses
153                 Debian Bug #273679)
154
155 2004-09-25  Theodore Ts'o  <tytso@mit.edu>
156
157         * mke2fs.c (set_fs_defaults): Only use blocksizes > 4k on Linux
158                 2.6 and newer systems.  (Addresses Debian Bug #271064)
159
160 2004-09-24  Theodore Ts'o  <tytso@mit.edu>
161
162         * lsattr.c (lsattr_dir_proc): Avoid double // when listing the
163                 root directory, or when there is a trailing '/' in the
164                 directory name.  (Addresses Debian Bug #272943)
165
166         * Makefile.in: Make sure /usr/lib is created for when we install
167                 e2initrd_helper.
168
169 2004-09-19  Theodore Ts'o  <tytso@mit.edu>
170
171         * badblocks.c: Use _() around done_string, so that it gets
172                 correctly translated.  (Addresses Debian Bug #252836)
173
174         * tune2fs.8.in: Add a description of the .journal file, why it
175                 is created, and how e2fsck converts it to an invisible
176                 journal.  (Addresses Debian Bug #256760)
177
178 2004-09-18  Theodore Ts'o  <tytso@mit.edu>
179
180         * e2initrd_helper.c: New program which allows initrd scripts to
181                 check on the contents of /etc/fstab without (a) needing to
182                 mount the root filesystem, and (b) needing /bin/awk in the
183                 initrd environment.  (Addresses Debian Bug #247775)
184
185 2004-09-17  Theodore Ts'o  <tytso@mit.edu>
186
187         * tune2fs.8.in: Mention that e2fsck -D might be useful after
188                 setting the dir_index filesystem feature.  (Addresses
189                 Debian Bug #268148)
190
191 2004-07-28  Theodore Ts'o  <tytso@mit.edu>
192
193         * e2image.c, e2image.8.in: Add new option -I which allows the
194                 administrator to install an metadata stored in an e2image
195                 file to a filesystem.  Obviously, this can be very
196                 dangerous!
197
198 2004-06-25  Theodore Ts'o  <tytso@mit.edu>
199
200         * Makefile.in (mke2fs.static): Add the blkid library to so
201                 mke2fs.static builds correctly.
202
203 2004-04-11  Theodore Ts'o  <tytso@mit.edu>
204
205         * tune2fs.8.in: Fixed spelling error (Addresses Debian Bug #242995)
206
207         * mke2fs.8.in: Clarify man page's description of the '-O' option.
208                 (Addresses Debian Bug #241940)
209
210 2004-04-07  Theodore Ts'o  <tytso@mit.edu>
211
212         * tune2fs.c (update_feature_set): If the compatibility bitmasks
213                 were not modified, don't set the superblock dirty bit.
214
215 2004-04-03  Theodore Ts'o  <tytso@mit.edu>
216
217         * Makefile.in: Update the modtime even if subst doesn't need to
218                 update the man pages, to avoid always re-running
219                 subst, especially since there are no dependencies on these
220                 generated files.
221
222 2004-03-21  Theodore Ts'o  <tytso@mit.edu>
223
224         * blkid.c: Remove the partially implemented -p option (it never
225                 did anything, but was documented in the man page and the
226                 usage display).
227
228 2004-03-20  Theodore Ts'o  <tytso@mit.edu>
229
230         * blkid.c (main, print_tags): Add new option -o which allows the
231                 user to control the output format of blkid.
232
233         * mke2fs.8.in: Fix spelling typos (Addresses Debian Bug #238741)
234
235 2004-03-08  Theodore Ts'o  <tytso@mit.edu>
236
237         * e2image.8.in: Update manpage to detail that writing to stdout is
238                 currently only supported when writing a raw image dump.
239                 (Addresses Debian bug #236383)
240
241 2004-03-04  Theodore Ts'o  <tytso@mit.edu>
242
243         * logsave.c (main): Use setsid() to avoid getting killed by init
244                 (run_program): Add a newline after reporting the exit code
245                 or signal when the program exits.
246
247 2004-02-28  Theodore Ts'o  <tytso@mit.edu>
248
249         * Release of E2fsprogs 1.35
250
251 2004-02-28  Theodore Ts'o  <tytso@mit.edu>
252
253         * badblocks.c (main): Change the default number of blocks tested
254                 at once from 16 to 64.  (Addresses Debian bug #232240)
255
256 2004-02-26  Theodore Ts'o  <tytso@mit.edu>
257
258         * filefrag.c: Fix gcc -Wall nits.
259
260         * badblocks.c (pattern_fill): Fix bug accidentally added when
261                 fixing up gcc -Wall nits.  badblocks -t random was not
262                 getting handled properly because ~0 needed to be cast to
263                 an unsigned long instead of an unsigned char.  (Addresses
264                 Debian bug #234828)
265
266 2004-02-21  Theodore Ts'o  <tytso@mit.edu>
267
268         * fsck.c (execute): Use '&&' instead of '&'.  (It didn't cause a
269                 problem because we got lucky, but let's do things right.
270                 Fix from Thomas Woerner at Red Hat.)
271
272 2004-02-03  Theodore Ts'o  <tytso@mit.edu>
273
274         * filefrag.c: Use #ifdef __linux__ instead of __LINUX__ so that it
275                 actually compiles on Linux.  (Addresses Debian bug
276                 #230992)
277
278 2004-01-31  Theodore Ts'o  <tytso@mit.edu>
279
280         * chattr.1.in: Clarify man page.
281
282         * chattr.1.in, dumpe2fs.8.in, lsattr.1.in, mklost+found.8.in,
283                 tune2fs.8.in: List Theodore Ts'o <tytso@alum.mit.edu> as
284                 the current maintainer.
285
286 2004-01-20  root  <tytso@mit.edu>
287
288         * chattr.c (main): Add support for '--' to stop options
289                 processing.  (Addresses Debian bug #225188).
290
291 2003-12-26  Theodore Ts'o  <tytso@mit.edu>
292
293         * chattr.1.in: Update text indicating the 'c', 's', and 'u'
294                 attributes are not currently supported to remove any
295                 mention of a specific kernel version.  (Addresses Debian
296                 bug #214920)
297
298         * fsck.8.in: Update text describing "standard" options supported
299                 by filesystem-specific checkers.  (Addresses Debian bug
300                 #222606)
301
302 2003-12-25  Theodore Ts'o  <tytso@mit.edu>
303
304         * Makefile.in: Add filefrag program to the list of programs
305                 installed in /usr/sbin.
306
307 2003-12-11  Theodore Ts'o  <tytso@thunk.org>
308
309         * tune2fs.8.in: Fix some whitespace errors in the command synopsis.
310
311 2003-12-07  Theodore Ts'o  <tytso@mit.edu>
312
313         * mke2fs.c (PRS): Fix mke2fs -V so that it prints the version banner.
314
315         * badblocks.c, blkid.c, chattr.c, dumpe2fs.c, e2image.c, fsck.c,
316                 fsck.h, lsattr.c, mke2fs.c, nls-enable.h, tune2fs.c,
317                 util.c: Fix gcc -Wall nitpicks.
318
319 2003-09-13  Theodore Ts'o  <tytso@mit.edu>
320  
321         * tune2fs.c (parse_e2label_options, parse_tune2fs_options,
322         do_findfs): Check the returned name from blkid_get_devname and
323                 print an error if the requested LABEL/UUID does not exist.
324  
325 2003-09-03  Theodore Ts'o  <tytso@mit.edu>
326  
327         * dumpe2fs.c (list_desc): Use ext2fs_super_and_bgd_loc to
328                 determine the locations of the superblock and block group
329                 descriptors.
330  
331 2003-11-20  Theodore Ts'o  <tytso@mit.edu>
332
333         * util.c (check_plausibility): Support 2.6 kernel header files,
334                 instead of having the build to crash.  (Addresses Debian
335                 bug #221778)
336
337 2003-09-01  Theodore Ts'o  <tytso@mit.edu>
338
339         * mke2fs.c (progress_init, progress_update): If the environment
340                 variable MKE2FS_SKIP_PROGRESS is set, then don't print out
341                 a progress bar; for regression test support.
342                 (PRS): If the environment variable MKE2FS_DEVICE_SECTSIZE
343                 is set, then override the device sector size.  Again for
344                 regression test support.
345                 (main): If the environment variable MKE2FS_SKIP_CHECK_MSG
346                 is set, then skip printing an information messages about
347                 when the filesystem will be checked, since this number is
348                 random and screws up the regression test expect script.
349
350 2003-08-31  Theodore Ts'o  <tytso@mit.edu>
351
352         * mke2fs.c (set_fs_defaults): Fix bug which caused -T largefile or
353                 -T largefile4 to core dump due to a division by zero
354                 error.  (Addressed Debian bug #207082)
355
356 2003-08-24  Theodore Ts'o  <tytso@mit.edu>
357
358         * dumpe2fs.8.in, e2image.8.in, e2label.8.in, mke2fs.8.in,
359                 tune2fs.8.in: Adjust description line so that apropos
360                 "ext2" or "ext3" will find the man page.  (Addresses
361                 Debian Bug #206845)
362
363 2003-08-01  Theodore Ts'o  <tytso@mit.edu>
364
365         * badblocks.c (set_o_direct): Add check to make sure the file
366                 offset of the device is page aligned.  (Addresses Debian
367                 Bug #203713)
368
369         * badblocks.c (test_ro, test_rw): Add code to recover after an
370                 error so that we continue reading on page-aligned
371                 boundaries.  (Thanks to Philippe Troin <phil@fifi.org> for
372                 the patch.)
373
374 2003-07-25  Theodore Ts'o  <tytso@mit.edu>
375
376         * Release of E2fsprogs 1.34
377
378 2003-07-25  Theodore Ts'o  <tytso@mit.edu>
379
380         * mke2fs.c (PRS): Add warning if using -j and the blocksize is
381                 greater than 4096, since some kernels don't support ext3
382                 with large block sizes.  (Addresses Debian bug #193773)
383
384         * badblocks.c (set_o_direct): Remove debugging printf.  (Addresses
385                 Debian bug #201499)
386
387 2003-07-21  Theodore Ts'o  <tytso@mit.edu>
388
389         * fsck.c (wait_many): Rename wait_all() to wait_many(), and have
390                 new semantics: WAIT_ALL vs. WAIT_ATLEAST_ONE.  This fixes
391                 a bug where when fsck is waiting for another partition on
392                 the same spindle, it spins wasting a lot of CPU.
393
394 2003-07-12  Theodore Ts'o  <tytso@mit.edu>
395
396         * badblocks.c (do_read, do_write, test_rw): Change the read/write
397                 test to honor the -c option (number of blocks at a time).
398                 do_read and do_write will try to turn on the O_DIRECT flag
399                 if it appears that it is possible to use it.  (Addresses
400                 Debian bug #198006)
401
402         * mke2fs.c (set_fs_defaults): If sector_size is 0, don't use it to
403                 set the blocksize to zero.  This causes MD devices to fail
404                 since they don't support the BLKSSZGET ioctl.  (Addresses
405                 Debian bug #196734)
406
407 2003-07-06  Theodore Ts'o  <tytso@mit.edu>
408
409         * mke2fs.c (PRS, main): If CONFIG_TESTIO_DEBUG, then use the
410                 testio manager.
411
412         * mke2fs.c (PRS): Round down the default filesystem size so that
413                 it is an even multiple of the page size, to work around
414                 buffer cache kernel bug.
415
416         * badblocks.c: Fix gcc -Wall nitpicks (signed/unsigned type issues)
417
418         * blkid.c: Fix gcc -Wall nitpicks (missing #include <string.h>)
419
420 2003-05-21  Theodore Ts'o  <tytso@mit.edu>
421
422         * mke2fs.c (PRS, set_fs_defaults): If the sector size of the
423                 device is larger than the default block size, then use the
424                 sector size of the device as the default block size.
425
426 2003-05-18  Theodore Ts'o  <tytso@mit.edu>
427
428         * badblocks.c: Use an unsigned integer to support 4-byte test
429                 patterns with the high bit set.  Let the user explicitly
430                 specify a random pattern with the argument "random".
431
432 2003-05-07  Theodore Ts'o  <tytso@mit.edu>
433
434         * badblocks.c (test_rw): Fix minor memory leak with test_rw() is
435                 called for multiple passes.
436                 (test_nd): Fix bug in chosing randomness for the
437                 non-destructive test.  We were only using 1 bit of
438                 randomness per byte instead of 8 due to a bit-shift bug.
439                 Also, initialize the random number generator from the time
440                 in main().  Thanks to Thayne Harbaugh for pointing out
441                 these bugs.
442
443         * badblocks.c, badblocks.8.in: Functional enhancements contributed
444                 by Thayne Harbaugh.  These patches allow the -t option to
445                 control the test pattern(s) used when checking the disk.
446                 Test patterns may be specified in all modes (r/w, r/o and
447                 non-destructive).
448
449 2003-05-05  Theodore Ts'o  <tytso@mit.edu>
450
451         * tune2fs.c (main, add_journal_device, remove_journal_device): If
452                 --enable-testio-debug is set, then use the test_io manager
453                 so we can watch what tune2fs is doing.
454
455 2003-05-03  Theodore Ts'o  <tytso@mit.edu>
456
457         * uuidgen.c (main): Add setup functions for NLS support.
458
459         * e2image.c (write_header), mke2fs.c (PRS): Add missing space in
460                 displayed message.
461
462         * badblocks.c (usage), findsuper.c (main), util.c
463                 (parse_journal_opts): Fix typo in usage string.
464
465         * tune2fs.c (parse_time): Add portability code to work around lack
466                 of strptime().
467
468         * Makefile.in: Add $(LIBINTL) to the link line so we can support
469                 using the internal gettext library.
470
471         * nls-enable.h: Add #ifndef protection around LOCALEDIR definition.
472
473 2003-04-21  Theodore Ts'o  <tytso@mit.edu>
474
475         * Release of E2fsprogs 1.33
476
477 2003-04-18  Theodore Ts'o  <tytso@mit.edu>
478
479         * Makefile.in (uuidgen): Avoid linking lsattr and chattr against
480                 libext2fs, and avoid linking blkid against any of the ext2
481                 libraries.
482
483 2003-04-17  Theodore Ts'o  <tytso@mit.edu>
484
485         * Makefile.in (fsck): Fsck does not need to linked against the
486                 ext2 libraries anymore.
487
488 2003-04-16  Theodore Ts'o  <tytso@mit.edu>
489
490         * fsck.c (main): Put stdout and stderr into non-buffered mode to
491                 avoid cosmetic problems when running fsck under logsave.
492
493         * mke2fs.c (PRS): Avoid printing the version banner for mke2fs if
494                 the -q option is specified.  (Addresses Debian bug #172716) 
495
496         * logsave.c: Add support for the -a option (only partially
497                 implemented previously).  Always log the command-line and
498                 start and stop time to the log file.  Add support for the
499                 -s option, which skips text bracketed between control-A
500                 and control-B characters.
501
502 2003-04-14  Theodore Ts'o  <tytso@mit.edu>
503
504         * logsave.c: New program which saves the output of a command in a
505                 log file, even if the containing directory hasn't been
506                 mounted yet (in which case the it saves the output in
507                 memory until it can write out the logfile).
508
509 2003-04-11  Theodore Ts'o  <tytso@mit.edu>
510
511         * mke2fs.c (PRS): If the argument to -b is negative, treat it as a
512                 minimum blocksize.  (Feature requested by EVMS developers
513                 for mainframe DASD's that do not support 1k blocksizes.)
514
515         * mke2fs.8.in: Document the -g option.  (Addresses Debian bug #188318)
516
517         * mke2fs.c (PRS): Fix bug where mke2fs was incorrectly checking
518                 the argument to the -g option, if the default block size
519                 is used.  (Addresses Debian bug #188319)
520
521         * tune2fs.8.in, mke2fs.8.in: Document the dir_index filesystem
522                 feature which can be used with the -O option.
523
524 2003-04-06  Theodore Ts'o  <tytso@mit.edu>
525
526         * fsck.c (parse_fstab_line, interpret_type, fsck_device, ignore,
527                 main): Don't evaluate the filesystem type when loading the
528                 fstab file, since that might cause fsck to hang trying to
529                 read from a floppy disk.  (Addresses Debian bug #187812)
530                 Add tmpfs and devpts to filesystems that should be
531                 ignored, and add jfs, reseirfs, and xfs as filesystems
532                 types where we should complain if we can't find the fsck
533                 program for that filesystem type.
534
535 2003-04-03  Theodore Ts'o  <tytso@mit.edu>
536
537         * badblocks.c (bb_output): Flush output to the badblocks
538                 output file as bad blocks are discovered.
539
540 2003-03-25  Theodore Ts'o  <tytso@mit.edu>
541
542         * chattr.1.in: Clarified the description of the 't' (no tail) 
543                 attribute.  (Addresses Debian bug #185945)
544
545 2003-03-14  Theodore Ts'o  <tytso@mit.edu>
546
547         * fsck.c: And #ifdef protection around #include of malloc.h
548
549 2003-03-13  Theodore Ts'o  <tytso@mit.edu>
550
551         * e2image.c (write_raw_image_file): Include blocks from slow
552                 symbolic links in the raw image file.
553
554 2003-03-06    <tytso@mit.edu>
555
556         * tune2fs.c (parse_tune2fs_options, parse_e2label_options): Allow
557                 the device name to be specified using LABEL=xxx or
558                 UUID=xxx, since we're including the blkid library anyway.
559                 (Addresses Debian bugs #166048, #179671)
560
561         * tune2fs.8.in, chattr.1.in: Minor man page fixes (Addresses
562                 Debian bugs #175233, #175113, and #170497)
563
564 2003-03-06  Theodore Tso  <tytso@mit.edu>
565
566         * Makefile.in (DEPLIBS_BLKID): Use DEPLIBUUID, not LIBUUID to
567                 avoid depending on -lsocket on Solaris.
568
569 2003-03-01  Theodore Ts'o  <tytso@mit.edu>
570
571         * fsck.c, util.c, tune2fs.c, Makefile.in: Use the blkid library
572                 instead of the specialized functions in
573                 get-device-by-label.c and fstype.c.
574
575         * base_device.c (base_device): Take a const char* as an argument.
576
577         * blkid.c: Remove deprecated -d option,
578
579 2003-02-16  Theodore Ts'o  <tytso@mit.edu>
580
581         * blkid.c: Update to reflect renaming of blkid_get_devname() to
582                 blkid_get_dev(), and blkid_get_token() to
583                 blkid_get_devname().
584
585 2003-01-29  Theodore Ts'o  <tytso@mit.edu>
586
587         * badblocks.8.in: Fix grammar nit.
588
589 2003-01-26  Theodore Ts'o  <tytso@mit.edu>
590
591         * blkid.c (main): Modify blkid to use the new libblkid public
592                 interfaces.
593
594 2003-01-23  Theodore Ts'o  <tytso@mit.edu>
595
596         * Makefile.in: Integrate in new blkid library.
597
598 2003-01-22  Theodore Ts'o  <tytso@mit.edu>
599
600         * fsck.c (parse_fstab_line, parse_escape): Add support for
601                 backslash escaping in /etc/fstab.  (i.e., so that \040
602                 will work.)
603
604 2002-11-12  Theodore Ts'o  <tytso@mit.edu>
605
606         * mke2fs.c (PRS): Don't enable the dir_index feature by default;
607                 the ext2 code on 2.4 kernels (but not 2.2 kernels, and not
608                 the 2.4 ext3 code) accidentally had the backwards
609                 compatibility support for dir_indexing removed.
610
611 2002-11-09  Theodore Ts'o  <tytso@mit.edu>
612
613         * Release of E2fsprogs 1.32
614
615 2002-11-08  Theodore Ts'o  <tytso@mit.edu>
616
617         * Release of E2fsprogs 1.31
618
619 2002-11-08  Theodore Ts'o  <tytso@mit.edu>
620
621         * chattr.1.in: Update man page.
622
623 2002-10-31  Theodore Ts'o  <tytso@mit.edu>
624
625         * Release of E2fsprogs 1.30
626
627 2002-11-01  Theodore Ts'o  <tytso@mit.edu>
628
629         * chattr.c, chattr.1.in: Add support for a new inode flag, which
630                 is to be used for indicating the top of directory
631                 hierarchies for the Orlov block allocator.
632
633 2002-10-31  Theodore Ts'o  <tytso@mit.edu>
634
635         * get_device_by_label.c (read_partitions): Pay attention to
636                 partitions returned in /proc/partitions that begin with
637                 with the string "lvm".
638
639 2002-10-30  Theodore Ts'o  <tytso@mit.edu>
640
641         * Makefile.in (install): Search all compression extensions when
642                 deleting old man pages.
643
644         * dumpe2fs.c (list_desc): Fix bug in algorithm which determined
645                 which blocks are used as backup superblock and block group
646                 descriptors.
647
648         * mke2fs.c (PRS): Fix bug which checked the tmp pointer
649                 erreoneously (and needlessly).
650
651 2002-10-28    <tytso@snap.thunk.org>
652
653         * fsck.c (main): Fix bug reported by Gregory Mutt.  Multiple
654                 filesystems explicitly specified on the command line were
655                 not being checked in parallel, due to a logic bug
656                 introduced in to support the FSCK_MAX_INST environment
657                 variable.
658
659 2002-10-25  Theodore Ts'o  <tytso@mit.edu>
660
661         * dumpe2fs.c (list_desc, main): Make dumpe2fs more robust so that
662                 if there is an error reading the block/inode bitmaps, it
663                 will still print out the contents of the block group
664                 descriptors.
665
666 2002-10-20  Theodore Ts'o  <tytso@valinux.com>
667
668         * dumpe2fs.c (list_desc), mke2fs.c (PRS), e2image.c
669                 (mark_table_blocks): Add support for the meta_blockgroup
670                 filesystem format.
671
672 2002-10-15    <tytso@snap.thunk.org>
673
674         * tune2fs.8.in, tune2fs.c (update_mntopts, main): Add new option
675                 'o' which allows the system administrator to specify
676                 default mount options.
677
678 2002-10-13  Theodore Ts'o  <tytso@mit.edu>
679
680         * get_device_by_label.c (read_partitions): Use a 16k buffer to
681                 read in /proc/partitions in one go.
682
683         * badblocks.c, fsck.c, fstype.c, get_device_by_label.c, 
684                 tune2fs.c: Fix gcc -Wall nits.
685
686 2002-10-11  Theodore Ts'o  <tytso@mit.edu>
687
688         * mklost+found.c (main): Make sure the lost+found directory is
689                 created with 0700 permissions.
690
691 2002-10-02  Theodore Ts'o  <tytso@mit.edu>
692
693         * e2image.c (write_raw_image_file): Handle a bad block in the
694                 inode table correctly.
695
696 2002-09-29  Theodore Ts'o  <tytso@mit.edu>
697
698         * get_device_by_label.c: Applied sourceforge patch #613447, which
699                 adds support for reiserfs volumes for LABEL= and UUID=
700                 fstab entries.
701
702         * badblocks.c (main): Appled sourceforge patch #600451, which
703                 addresses sourceforge bug #600388, by AEF.  This allows
704                 badblocks to work correctly on read-only devices such as
705                 CD-ROM's, DVD's, etc.
706
707 2002-09-24  Theodore Ts'o  <tytso@mit.edu>
708
709         * mke2fs.8.in, tune2fs.8.in: Clarify manual pages about using the
710                 caret ('^') character to negate feature sets when using
711                 the -O option.  Define the has_journal feature to avoid
712                 confusion about what ^has_journal means.
713
714 2001-09-24  Theodore Tso  <tytso@mit.edu>
715
716         * Release of E2fsprogs 1.29
717
718 2002-09-24  Theodore Ts'o  <tytso@mit.edu>
719
720         * fsck.c: If the bone-headed user enters the filename twice, the
721                 -R option which skips the root filesystem will skip all of
722                 them.  (Addresses Debian bug #159423).  Note!  This is not
723                 a precedent for dealing intelligently with any other kind
724                 of doubled entry in /etc/fstab!
725
726 2002-09-22  root  <tytso@mit.edu>
727
728         * mke2fs.c (main): Enable directory indexing by default.
729
730         * tune2fs.c (update_feature_set): Allow directory indexing flag to
731                 be set.  If so, set the default hash to be TEA, and
732                 initialize the hash seed to a random value.
733
734 2002-09-21  Theodore Ts'o  <tytso@mit.edu>
735
736         * get_device_by_label.c (init_lvm): Fix bug which caused
737                 LABEL='xxx' to not work correctly when using LVM.
738                 (Reversed sense of error check reported by ateeq@hotpop.com)
739
740 2001-08-31  Theodore Tso  <tytso@thunk.org>
741
742         * Release of E2fsprogs 1.28
743
744 2002-08-17  Theodore Ts'o  <tytso@mit.edu>
745
746         * findfs.8.in: New man page.
747
748         * tune2fs.c (do_findfs): If tune2fs is executed with argv[0] set
749                 to findfs, then it will interpret argv[1] as one of
750                 LABEL=xxx or UUID=xxx and translate it to a device name.
751
752         * get_device_by_label.c (uuidcache_init): Moved code which
753                 interpreted /proc/partitions into read_partitions(), and
754                 then added support for interpreting /proc/evms/volumes in
755                 read_evms().  uuidcache_init() calls both read_evms() and
756                 read_partitions().
757
758         * mke2fs.8.in: Add a common usage of the -n option.  (Addresses
759                 Debian Bug #146437)
760
761         * fsck.c (main): If no filesystems are specified on the command
762                 line, default to -As.  (Addresses Debian Bug #153102)
763
764         * badblocks.8.in: Clarify why it's bad to do a non-destructive
765                 test on a r/o mounted filesystem.  (Addresses Debian Bug
766                 #131350)
767
768         * chattr.1.in: Document the compression attribute flags E, X, and
769                 Z, and explain that chattr can't set or set these flags.
770                 (Addresses Debian Bug #151990)
771
772         * fsck.8.in: Fix typo in man page, and clarified text regarding
773                 options specifiers for -t option.  (Addresses Debian bug 
774                 #145044)
775
776         * mke2fs.c (main): If there is a problem zeroing blocks at the end
777                 of the filesystem, don't abort mke2fs.  Addresses Debian
778                 bug #155007.
779
780 2002-08-16  Theodore Ts'o  <tytso@mit.edu>
781
782         * e2image.c (write_raw_image_file): Check for an extended
783                 attribute block before checking for has_valid_blocks.
784
785 2002-07-21  Theodore Ts'o  <tytso@mit.edu>
786
787         * fsck.8.in: Document new fsck exit code, FSCK_CANCELED.
788
789         * fsck.c: Trap SIGINT and SIGTERM, and relay it to all of the
790                 child fsck processes.
791
792 2002-07-14  Theodore Ts'o  <tytso@mit.edu>
793
794         * mke2fs.c (zap_sector): Clear the buffer *after* testing for the
795                 BSD sector label.  Otherwise the first 512 bytes don't get
796                 zapped.  (Addresses Debian bug #147256.)
797
798 2002-07-02  Theodore Ts'o  <tytso@mit.edu>
799
800         * mke2fs.8.in: Cleaned up man page, and made it a bit more
801                 OS-agnostic.  Addresses Debian bug #144621.  Hope this
802                 makes the Hurd whiners happy.  :-)
803
804 2002-06-28  Theodore Ts'o  <tytso@mit.edu>
805
806         * chattr.1.in: Fix man page typo.  (Addresses Debian bug #141938)
807
808 2002-06-15  Theodore Ts'o  <tytso@mit.edu>
809
810         * chattr.c: Applied patch from Andrew to support the dirsync flag.
811
812 2002-05-22  Andreas Dilger <adilger@clusterfs.com>
813
814         * mke2fs.c (set_fs_defaults): make the default inode ratio at most
815                 one inode per block for large blocksizes.
816
817 2002-05-17  Theodore Ts'o  <tytso@mit.edu>
818
819         * mke2fs.c (PRS): Determine the page size using sysconf() at
820                 runtime, instead of using the Linux system header files.
821
822 2002-05-16  Andreas Dilger <adilger@clusterfs.com>
823
824         * mke2fs.c (PRS): Allow blocksizes larger than 4k to be specified,
825                 with warning printed and the user questioned if blocksize
826                 is larger than the system's page size according to the
827                 Linux kernel header files.  Added better checking for
828                 valid inode sizes, and again print a warning message if
829                 using a large inode size (since most kernels today don't
830                 support this yet).
831         
832 2002-04-30  Theodore Ts'o  <tytso@mit.edu>
833
834         * fsck.8.in: Fix typo in man page.
835
836 2002-03-08  Theodore Tso  <tytso@mit.edu>
837
838         * Release of E2fsprogs 1.27
839
840 2002-03-08  Theodore Tso  <tytso@mit.edu>
841
842         * mke2fs.c: Check for the BSD disklabel on all architectures, and
843                 also check the byte-swapped magic number as well.
844
845 2002-03-07  Theodore Tso  <tytso@mit.edu>
846
847         * mke2fs.c: Output warnings to stderr 
848                 (From Philipp Thomas <pthomas@suse.de>)
849
850         * base_device.c (main): Fix gcc -Wall complaints in debug code.
851
852         * mke2fs.c (zap_sector): Don't erase BSD disklabels on Alpha.
853                 (From Thorsten Kukuk <kukuk@suse.de>)
854
855 2002-03-04  Philipp Thomas  <pthomas@suse.de>
856
857         * chattr.c (main), fsck.c (main), mke2fs.c (main), findsuper.c
858                 (main), dumpe2fs.c (main), lsattr.c (main), partinfo.c (main),
859                 tune2fs.c (main), mklost+found.c (main), badblocks.c
860                 (main), e2image.c (main): Newer libintl needs LC_CTYPE to
861                 be set in addition to LC_MESSAGES.
862
863 2002-02-25  Andreas Dilger  <adilger@clusterfs.com>
864
865         * mke2fs.c: Add check for mkfs.ext3 and create a journal in
866                 this case.
867
868 2002-02-24  Theodore Tso  <tytso@mit.edu>
869
870         * Makefile.in (install): Install hard links for man pages for
871                 mkfs.ext2 and mkfs.ext3.  Also install hard link for
872                 mkfs.ext3.  Remove any compressed man pages before
873                 installing the man pages.
874
875 2002-02-23  Theodore Tso  <tytso@mit.edu>
876
877         * badblocks.8.in: Clarify man page's description of the -f option
878
879 2002-02-12  Theodore Tso  <tytso@mit.edu>
880
881         * get_device_by_label.c: Since on non-STDC compilers, we define
882                 away const, include get_device_by_label.h after we include
883                 fsck.h.
884
885         * Makefile.in (base_device): Remove use of $<, which is
886                 non-portable.
887
888 2002-02-03  Theodore Tso  <tytso@thunk.org>
889
890         * Release of E2fsprogs 1.26
891
892 2002-02-03  Theodore Tso  <tytso@mit.edu>
893
894         * fsck.c (interpret_type): Allow filesystems types of the form
895                 "ext3,ext2", etc.
896
897         * fstype.c (identify_fs): Add support for only searching for a
898                 specified list of filesystems.  Also add support for
899                 identifying reiserfs filesystems.
900
901 2002-01-29  Theodore Tso  <tytso@mit.edu>
902
903         * fsck.c: Allow the number of outstanding processes fs-specific
904                 fsck programs to be capped via the FSCK_MAX_INST
905                 envrionment variable.
906
907         * fsck.8.in: Document all of the environment variables used by fsck.
908
909 2002-01-27  Theodore Tso  <tytso@mit.edu>
910
911         * tune2fs.8.in: Document the -f flag to tune2fs.
912
913 2002-01-02  Theodore Tso  <tytso@mit.edu>
914
915         * badblocks.c (main): Open the device as O_RDWR if possible, since
916                 fsync() isn't guaranteed to work if the filesystem is
917                 opened read-only.
918
919 2001-12-26  Theodore Tso  <tytso@mit.edu>
920
921         * tune2fs.8.in, tune2fs.c (parse_tune2fs_options, main): Add
922                 support for new option, -T, which allows the user to set
923                 the last checked time on the filesystem.
924
925 2001-12-24  Theodore Tso  <tytso@mit.edu>
926
927         * mke2fs.c (main, test_disk): If two -c options are
928                 specified, then perform a destructive read/write test
929                 of the disk.
930
931         * mke2fs.8.in: Document the double -c option; also encourage users
932                 to use -c instead of the -l/-L options since it's too hard
933                 for users to get things like the blocksize parameter correct.
934
935         * badblocks.8.in: Encourage users to use the -c option in mke2fs
936                 and e2fsck instead of running badblocks directly.
937
938         * mke2fs.c (create_lost_and_found): The lost+found directory is
939                 now created with 0700 permissions, since files which get
940                 dropped into that directory may have come from a protected
941                 directory, and the system administrator may not deal with
942                 immediately.  (Addresses Debian bug #118443)
943
944 2001-12-23  Theodore Tso  <tytso@mit.edu>
945
946         * Makefile.in, jfs_user.h: Move linux/jbd.h to
947                 ext2fs/kernel-jbd.h, to avoid using the system header
948                 file version of hbd.h when using diet glibc (since it
949                 forcibly adds /usr/include to the beginning of the
950                 include search path.)
951
952 2001-12-22  Theodore Tso  <tytso@mit.edu>
953
954         * get_device_by_label.c (init_lvm): Add support to read out
955                 information from the LVM proc hierarchy, so that the UUID
956                 cache can search the LVM logical volumes for UUID's,
957                 labels, etc.
958
959 2001-12-21  Theodore Tso  <tytso@mit.edu>
960
961         * dumpe2fs.c (list_bad_blocks): Change to not die if the listing
962                 of the bad blocks can't be found.  Slimmed down dumpe2fs
963                 by eliminating duplicate code paths.  
964
965 2001-12-16  Theodore Tso  <tytso@mit.edu>
966
967         * dumpe2fs.c (list_desc), fsck.c (fs_match),
968                 get_device_by_label.c (get_label_uuid), 
969                 mke2fs.c (set_fs_defaults, zap_sector, PRS),
970                 tune2fs.c (remove_journal_device, update_feature_set),
971                 util.c (figure_journal_size), util.h: Fix gcc -Wall nits.
972
973         * e2image.c (write_raw_image_file): Fix gcc -Wall nits, and use
974                 the stashed inode functions to optimize away system calls.
975
976         * Makefile.in, jfs_user.h: linux/jfs.h has been renamed to
977                 linux/jbd.h
978
979 2001-12-02  Theodore Tso  <tytso@mit.edu>
980
981         * dumpe2fs.c: Don't print the offset to the bitmap and inode table
982                 if it's negative.  Also did some generalized code clean up
983                 to slim it down the support of the -x option.
984
985 2001-11-24  Theodore Tso  <tytso@mit.edu>
986
987         * e2image.8.in: Fix cut-and-paste typo (Addresses Debian bug
988                 #119624)
989
990 2001-11-13  Theodore Tso  <tytso@mit.edu>
991
992         * util.c (check_plausibility): Use stat64 if available so that
993                 check_plausibility() works with files > 2GB.
994
995 2001-11-05  Theodore Tso  <tytso@mit.edu>
996
997         * chattr.1.in: Update the man page to document the EXT2_NOTAIL_FL
998                 flag.
999
1000         * chattr.c: Add support for the EXT2_NOTAIL_FL flag.
1001
1002         * fsck.c (interpret_type): If the "auto" type is specified, make
1003                 sure interpet_device() is called so that device
1004                 specifications which use LABEL= or UUID= are translated
1005                 into a real device name.
1006
1007 2001-10-12  Theodore Tso  <tytso@mit.edu>
1008
1009         * e2image.c (output_meta_data_blocks): Optimize away excess
1010                 lseek() calls when creating a sparse file.  Fewer system
1011                 calls are a good thing.  <g>
1012
1013 2001-10-07  Andreas Dilger  <adilger@turbolinux.com>
1014
1015         * mke2fs.c (main): Always exit with non-zero code in case of error.
1016
1017         * mke2fs.c (zap_sector): Check that buffer allocation succeeded.
1018
1019 2001-09-20  Theodore Tso  <tytso@thunk.org>
1020
1021         * Release of E2fsprogs 1.25
1022
1023 2001-09-19  Theodore Tso  <tytso@mit.edu>
1024
1025         * tune2fs.c (remove_journal_inode): Remove dead code that wasn't
1026                 in use.
1027
1028         * tune2fs.8.in: Update man page to reflect the fact that adding or
1029                 removing a journal doesn't require running e2fsck.
1030
1031 2001-09-13  Theodore Tso  <tytso@mit.edu>
1032
1033         * mke2fs.c (zap_sector): Allocate sufficient space for 
1034                 zero-filled buffer.
1035
1036 2001-09-02  Theodore Tso  <tytso@thunk.org>
1037
1038         * Release of E2fsprogs 1.24a
1039
1040 2001-08-31  Andreas Dilger  <adilger@turbolinux.com>
1041
1042         * mke2fs.c (main): Fix version format string.
1043
1044 2001-08-30  Theodore Tso  <tytso@thunk.org>
1045
1046         * Release of E2fsprogs 1.24
1047
1048 2001-08-30  Theodore Tso  <tytso@valinux.com>
1049
1050         * badblocks.8.in: Fix spelling typo.  (Addresses Debian bug #110621)
1051
1052         * mke2fs.c (zap_sector): Now takes a third argument, which is how
1053                 many sectors to clear out.  Fixed up Andreas's patch to
1054                 make it a bit more efficient/compact.
1055
1056 2001-08-30  Andreas Dilger  <adilger@turbolinux.com>
1057
1058         * mke2fs.c (main): Zap the second sector of the disk, along with
1059                 any sectors in the same filesystem block after the superblock.
1060                 The latter will remove (for example) swapspace signatures
1061                 on 4kB+ blocksize filesystems.  Also when zeroing the "end"
1062                 of the filesystem don't actually zero the start of a very
1063                 small device (less than 64 blocks).
1064
1065 2001-08-27  Theodore Tso  <tytso@valinux.com>
1066
1067         * fsck.c (main): Make version display consistent with the other
1068                 e2fsprogs programs.
1069
1070         * lsattr.c, chattr.c, mke2fs.c, tune2fs.c, dumpe2fs.c, e2image.c,
1071                 mklost+found.c: Remove EXT2FS_VERSION from the version
1072                 display, since it only confuses people.
1073
1074 2001-08-18  Theodore Tso  <tytso@valinux.com>
1075
1076         * tune2fs.c (remove_journal_device): Remove unused variable
1077                 check_uuid.
1078
1079         * get_device_by_label.h: Define function prototype for
1080                 copy_string(), since this was moved from fsck.c to
1081                 get_device_by_label.c by Andreas's BK changeset.
1082
1083 2001-08-17  Andreas Dilger  <adilger@turbolinux.com>
1084
1085         * get_device_by_label.[ch], fsck.c, util.c:  New interpret_spec()
1086                 function in get_device_by_label.c to allow the use of
1087                 UUID= or LABEL= when creating filesystems which use external
1088                 journal dev (e.g.  mke2fs -J device=LABEL=<journal_label>).
1089
1090         * tune2fs.c: Use superblock s_journal_uuid to locate an external
1091                 journal device instead of s_journal_dev when removing it.
1092                 Allow opening journal devices to set the label and UUID
1093                 in the ext2 superblock.
1094
1095         * mke2fs.c, tune2fs.c: Free journal_device after use, as it is
1096                 malloc'd in interpret spec.
1097  
1098 2001-08-15  Theodore Tso  <tytso@valinux.com>
1099
1100         * Release of E2fsprogs 1.23
1101
1102 2001-08-15  Theodore Tso  <tytso@valinux.com>
1103
1104         * tune2fs.c: Make sure that error messages are sent to stderr, and
1105                 normal messages are sent to stdout.  (Addresses Debian bug
1106                 #108555.)
1107
1108         * fsck.8.in: Fixed error in synopsis of the man page.
1109
1110         * fsck.c (check_all): Don't bother to interpret a device where the
1111                 pass number is zero.  (Addresses Debian bug #106696.)
1112                 (main): Print a warning message if there are no devices to
1113                 be checked.  (Addresses Debian bug #107458.)
1114
1115         * mke2fs.c (PRS): Handle -O and -s options in line in the getopt
1116                 loop, so that -s and -O handling are a bit more intuitive.
1117                 (Not that they should be mixed anyway; -s is deprecated.)
1118
1119         * tune2fs.c (parse_tune2fs_options): Give an error if -O is
1120                 specified more than once.
1121
1122 2001-08-10  Theodore Tso  <tytso@valinux.com>
1123
1124         * mke2fs.8.in: Slim down text describing the -O flag to remove
1125                 text that erroneously implied that all features
1126                 (including compatible flags) aren't compatible with older
1127                 kernels.
1128
1129 2001-08-09  Theodore Tso  <tytso@valinux.com>
1130
1131         * mke2fs.c (PRS): Fix bug pointed out by Christopher Niessen; if
1132                 mke2fs -O none is specified, the sparse_super feature
1133                 should not be present.
1134
1135         * e2image.c, e2image.8.in: Add support for raw image files.
1136
1137 2001-08-04  Andreas Dilger  <root@lynx.adilger.int>
1138
1139         * mke2fs.c (PRS): Put check for JOURNAL_DEV before sparse_option,
1140                 so we don't set the sparse superblock flag on journal devices.
1141
1142 2001-07-31  Theodore Tso  <tytso@valinux.com>
1143
1144         * tune2fs.c (update_feature_set, remove_journal_inode): If
1145                 removing an in-filesystem journal, clear out the journal
1146                 inode and update the filesystem accounting structures so
1147                 we don't have to run e2fsck to clean up after ourselves
1148
1149 2001-07-30  Theodore Tso  <tytso@valinux.com>
1150
1151         * tune2fs.c (update_feature_set): Don't require a forced fsck if
1152                 we're removing an external journal from a filesystem.
1153
1154 2001-07-27  Theodore Tso  <tytso@valinux.com>
1155
1156         * mke2fs.c (PRS): If the blocksize is not specified and the
1157                 journal device is specified, use it to determine the
1158                 blocksize of the new filesystem.
1159
1160 2001-07-20  Theodore Tso  <tytso@valinux.com>
1161
1162         * fsck.8.in: Add much more explicit language documenting how the
1163                 fs_passno field in /etc/fstab is handled.  (Addresses
1164                 Debian bug #30833).
1165
1166 2001-07-19  Theodore Tso  <tytso@valinux.com>
1167
1168         * fstype.c (identify_fs): New file which looks at the superblock
1169                 of the filesystem to determines its type.
1170
1171         * fsck.c (fsck_device, ignore, interpret_type): Call identify_fs
1172                 if the type specified in /etc/fstab is "auto".
1173
1174 2001-06-23  Theodore Tso  <tytso@valinux.com>
1175
1176         * Release of E2fsprogs 1.22
1177
1178 2001-06-15  Theodore Tso  <tytso@valinux.com>
1179
1180         * Release of E2fsprogs 1.21
1181
1182 2001-06-14  Theodore Tso  <tytso@valinux.com>
1183
1184         * mke2fs.c (PRS): Remove unneeded test in when creating a external
1185                 filesystem journal.
1186
1187 2001-06-13  Theodore Tso  <tytso@valinux.com>
1188
1189         * tune2fs.c, mke2fs.c, util.c, util.h (print_check_message): Move
1190                 the message which displays how often the filesystem will
1191                 be checked from mke2fs into a utility subroutine.  Then
1192                 cause tune2fs to call that function to display the message
1193                 after adding a journal to a filesystem.
1194
1195         * mke2fs.8.in: Add manual page fixups and explanation for why it's
1196                 good to check filesystems periodically from Andreas
1197                 Dilger.
1198
1199         * Makefile.in: Don't build e2image if --disable-imager is
1200                 specified to configure.
1201
1202 2001-06-12  Theodore Tso  <tytso@valinux.com>
1203
1204         * dumpe2fs.c: Use WORDS_BIGENDIAN to determine whether or not
1205                 we're (not) using i386 byte order.
1206
1207         * dumpe2fs.c, mke2fs.c: Stop using the compatibility badblocks
1208                 function, and use the ext2fs_badblocks_* functions
1209                 instead.
1210
1211         * fsck.c (device_already_active): Fixed bug which can cause fsck
1212                 to core dump if there are a mix of devices with standard
1213                 and non-standard names.  (Addresses Debian bug #100559)
1214
1215 2001-06-07  Theodore Tso  <tytso@valinux.com>
1216
1217         * chattr.c, lsattr.c: Don't use _FILE_BITS_OFFSET method of using
1218                 the 64-bit function, since this changes the expected size
1219                 of struct dirent.  Instead use lseek64 explicitly.
1220
1221 2001-06-01  Theodore Tso  <tytso@valinux.com>
1222
1223         * Makefile.in: Move include/asm/types.h.in to
1224                 lib/ext2fs/ext2_types.h.in.
1225
1226 2001-05-25  Theodore Tso  <tytso@valinux.com>
1227
1228         * Release of E2fsprogs 1.20
1229
1230 2001-05-25  Theodore Tso  <tytso@valinux.com>
1231
1232         * tune2fs.c (update_feature_set): Fix capitalization typo.
1233
1234 2001-05-23  Theodore Tso  <tytso@valinux.com>
1235
1236         * partinfo.c (main): Use unsigned long instead of long when
1237                 querying the size of a device using the BLKGETSIZE ioctl,
1238                 to remove the 1TB limit (and turn it into a 2TB limit :-)
1239
1240         * fsck.c (compile_fs_type): Fix I18N compilation bug: use N_()
1241                 instead of _() to initialize static variables.
1242
1243 2001-05-20  Theodore Tso  <tytso@valinux.com>
1244
1245         * fsck.8.in, fsck.c (compile_fs_type, fs_type, ignore): Fix
1246                 handling of -t option to be more intuitive.  Also add
1247                 support for the Mandrake -t loop hack.  See man page
1248                 for description of new -t semantics.
1249
1250         * fsck.c (device_already_active): Fix bug in
1251                 device_already_active which could cause infinite loops if
1252                 we don't know the base_device of the filesystem.
1253
1254         * fsck.c: Make sure all exit status codes returned by fsck are
1255                 consistent with the error codes documented in the fsck man
1256                 page.
1257
1258 2001-05-14  Theodore Tso  <tytso@valinux.com>
1259
1260         * badblocks.c, chattr.c, dumpe2fs.c, e2image.c, findsuper.c, 
1261                 lsattr.c, mke2fs.c, mklost+found.c, tune2fs.c, util.c:
1262                 Change location of ext2_fs.h to be ext2fs/ext2_fs.h
1263
1264         * tune2fs.8.in: Fix typo's and make other clarifications suggested
1265                 by Andreas Dilger.
1266
1267 2001-05-11  Andreas Dilger  <adilger@turbolinux.com>
1268
1269         * mke2fs.c: don't zap the superblock if we are running with noaction!
1270                 Zap the end of the device to remove stale RAID superblocks.
1271
1272 2001-05-14  Theodore Tso  <tytso@valinux.com>
1273
1274         * tune2fs.c (update_feature_set): Clean up some printf messages.
1275
1276         * fsck.8.in, mke2fs.8.in, tune2fs.8.in: Fix typo's and make other
1277                 clarifications suggested by Andreas Dilger.
1278
1279 2001-05-13  Theodore Tso  <tytso@valinux.com>
1280
1281         * mke2fs.c (PRS): Integrated changes from Andreas Dilger which
1282                 make the revision superblock field be set to the correct
1283                 value depending on if superblock features are set.
1284
1285 2001-05-12  Theodore Tso  <tytso@valinux.com>
1286
1287         * fsck.c (PRS): fsck -? now prints the usage message.
1288
1289         * badblocks.8.in, dumpe2fs.8.in, e2label.8.in, mke2fs.8.in, 
1290                 mklost+found.8.in, tune2fs.8.in: Fix typo; removed
1291                 excess "anonymous" in the AVAILABILITY section.
1292
1293         * chattr.1.in, lsattr.1.in, uuidgen.1.in: Update URL location of
1294                 e2fsprogs package.
1295
1296 2001-05-07  Theodore Tso  <tytso@valinux.com>
1297
1298         * util.c: Use specific check for HAVE_SYS_STAT_H.
1299
1300 2001-05-05  Theodore Tso  <tytso@valinux.com>
1301
1302         * fsck.8.in: Add explicit language to describe how options get
1303                 passed to filesystem-specific checkers.
1304
1305         * badblocks.8.in: Fixed man page to describe the first optional
1306                 parameter to badblocks as last_block, instead of
1307                 num_blocks.  (Debian bug #87216)
1308
1309         * badblocks.c: Change the blocks_count variable to be last_count,
1310                 which is a more accurate description of the variable.
1311
1312 2001-05-03  Theodore Tso  <tytso@valinux.com>
1313
1314         * e2image.8.in: New manual page
1315
1316         * badblocks.8.in, e2label.8.in, mke2fs.8.in mklost+found.8.in, 
1317                 tune2fs.8.in: Update location of e2fsprogs to be
1318                 http://e2fsprogs.sourceforge.net.
1319
1320         * dumpe2fs.c (main): Add new flag, -i, which will allow dumpe2fs
1321                 to dump out the filesystem statistics from an ext2 image
1322                 file.
1323         
1324         * e2image.c (main): Fix format of e2image to be easier to be parse
1325                 by ext2fs_open().
1326
1327 2001-05-01  Theodore Tso  <tytso@valinux.com>
1328
1329         * fsck.c (device_already_active): If we're not able to determine
1330                 the base device, we should assume that the device is
1331                 already active in order to force serialization.
1332
1333 2001-04-26  Theodore Tso  <tytso@valinux.com>
1334
1335         * tune2fs.c (parse_tune2fs_options): Interpret -c 0 as -c -1 (for
1336                 backwards compatibility with older kernels).  -c 0 makes
1337                 more sense to users.
1338
1339 2001-04-22  Theodore Tso  <tytso@valinux.com>
1340
1341         * tune2fs.c (remove_journal_device): If the force flag is given,
1342                 tune2fs will remove the journal device information from
1343                 the superblock even if tune2fs failed to open the journal
1344                 device or otherwise other failed to remove the filesystem
1345                 from journal device.
1346                 (parse_tune2fs_options): Fix -j option so that it works
1347                 (it was missing the open_flag being set to EXT2_FLAG_RW).
1348                 (main): Accept "-U clear" to set a null UID.
1349         
1350 2001-04-21  Theodore Tso  <tytso@valinux.com>
1351
1352         * mke2fs.8.in: Manual page cleanups.  Temporarily comment out the
1353                 documentation for the extern journal device support.
1354
1355         * mke2fs.c (usage): Remove the deprecated -s option from the usage
1356                 message.
1357
1358 2001-04-16  Theodore Tso  <tytso@valinux.com>
1359
1360         * mke2fs.c (main): Add better explanation about when the
1361                 filesystem will be checked after it is created.
1362
1363         * util.c (parse_journal_opts): Remove code which allowed a bare
1364                 number to be treated as a journal size.
1365
1366         * mke2fs.c, tune2fs.c: Add newlines to error messages so that they
1367                 look nicer.
1368
1369         * mke2fs.c (create_journal_dev): Call
1370                 ext2fs_create_journal_superblock() first, so if it's going
1371                 to error out, the user finds out before waiting for the
1372                 entire device to get zero'ed.
1373
1374 2001-03-26  Theodore Tso  <tytso@valinux.com>
1375
1376         * mke2fs.8.in, tune2fs.8.in: Change man paegs to document that the
1377                 journal must be bewteen 1024 and 102,400 file system
1378                 blocks.
1379
1380         * mke2fs.c, tune2fs.c: Change to use figure_journal_size()
1381
1382         * util.c, util.h (figure_journal_size): Change
1383                 journal_default_size into routine which also converts the
1384                 requested journal size into filesystem blocks and does
1385                 bounds checking to make sure the journal is sized
1386                 reasonably.  Renamed function to journal_default_size.
1387                 (parse_journal_opts): Remove bounds check for the journal
1388                 size, since this is now done in figure_journal_size, and
1389                 based on the number of filesystem blocks, as opposed to
1390                 using the absolute size of the journal.
1391
1392 2001-02-17  Theodore Tso  <tytso@valinux.com>
1393
1394         * mke2fs.c (main): Flush out the "creating journal" message.
1395                 Also handle the case where the default journal size
1396                 returns zero blocks == no journal.  Print out how often
1397                 the filesystem will be checked.
1398
1399 2001-02-08  Theodore Tso  <tytso@valinux.com>
1400
1401         * e2image.c (main): Add code to write the e2image header.
1402
1403 2001-02-07  Theodore Tso  <tytso@valinux.com>
1404
1405         * tune2fs.8.in: Update man page to reflect that 2.0.39 supports
1406                 sparse_super.
1407
1408         * dumpe2fs.c (list_desc): Fix fencepost error when calculating the
1409                 range of inode table blocks.  Add '0x' to values printed
1410                 in hex.
1411
1412         * chattr.c, lsattr.c: Define the _LARGEFILE64_SOURCE to force the
1413                 use of the LFS so that lstat will work on large files.
1414
1415 2001-01-17  Theodore Ts'o  <tytso@valinux.com>
1416
1417         * tune2fs.c, mke2fs.c, tune2fs.8.in, mke2fs.8.in: Change user
1418                 interface so that -J is used to specify journal options,
1419                 and -j is used to request creation of a journal using
1420                 default values.  (This is a UI change, but we haven't done
1421                 a formal release, and it makes things much more consistent
1422                 with the rest of the options out there.) 
1423
1424         * tune2fs.c: Add support for removing a filesystem from an
1425                 external journal; we correctly remove the filesystem UUID
1426                 from the external journal's filesystem list.
1427
1428         * util.h, util.c (journal_default_size): New function from Andreas
1429                 Dilger to calculate an appropriate default journal size
1430                 given a filesystem size.
1431
1432         * util.c (parse_journal_opts): Allow the creation of a journal as
1433                 small as 1MB.
1434
1435         * dumpe2fs.c (print_journal_information): Use s_first_data_block
1436                 to find the correct block to read the journal superblock.
1437
1438 2001-01-15  Theodore Ts'o  <tytso@valinux.com>
1439
1440         * tune2fs.c: Changed the external journal code so that it simply
1441                 adds a filesystem to a journal; the journal must have bene
1442                 created via "mke2fs -O journal_dev /dev/XXX".
1443
1444         * mke2fs.c: Add support for creating an external journal device by
1445                 using the command "mke2fs -O journal_dev /dev/XXX".  Also
1446                 changed the external journal code so -j device=/dev/XXX it
1447                 simply adds a filesystem to that journal; the journal must
1448                 have been created via separate step.
1449
1450         * dumpe2fs.c (print_journal_information): Add support for dumping
1451                 information about an external journal device.
1452
1453 2001-01-14  Theodore Ts'o  <tytso@valinux.com>
1454
1455         * mke2fs.c: Add new filesystem types, largefile and largefile4,
1456                 for those filesystems whose average inode size is 1MB and
1457                 4MB, respectively.  Allow the inode ratio specified to be
1458                 has high as 4MB.   Make the s_max_mount_count vary between
1459                 20 and 40, to avoid needing to check all of the
1460                 filesystems at the same time.  Add some random jitter to
1461                 the s_max_mount_count value so that we avoid checking all
1462                 of the filesystems at the same time when we reboot.
1463
1464         * tune2fs.8.in: Add description of the -j option.
1465
1466         * tune2fs.c (add_journal): Minor fixes from Andreas Dilger. Flush
1467                 stdout after printing in-progress message.  
1468                 (main): Exit with status code 1 if we failed to determine
1469                 the mount status of the device.
1470
1471 2001-01-11    <tytso@snap.thunk.org>
1472
1473         * e2image.c, mke2fs.c, mklost+found.c, tune2fs.c, util.c,
1474                 uuidgen.c: Fix gcc -Wall complaints, including one bug in
1475                 tune2fs caused by a block automatic shadowing version of
1476                 the variable we really wanted to use, which broke the
1477                 logic testing to see if the filesystem was mounted.
1478
1479         * badblocks.c (flush_bufs): Use ext2fs_sync_device() to sync and
1480                 flush the device.
1481
1482         * mke2fs.c: Change ino_t to ext2_ino_t.
1483
1484 2001-01-08    <tytso@snap.thunk.org>
1485
1486         * Makefile.in, tune2fs.c: Move e2label functionality into tune2fs,
1487                 using argv[0] as a dispatch.  This allows e2label to be
1488                 (more) safely used on mounted filesystems.
1489
1490 2001-01-05    <tytso@snap.thunk.org>
1491
1492         * get_device_by_label.h (get_volume_label_by_spec): Add function
1493                 prototype.
1494
1495         * get_device_by_label.c: Use string_copy() instead of strdup() for
1496                 portability's sake.  Fix a few other gcc -Wall
1497                 complaints. 
1498
1499         * fsck.c (string_copy): Export string_copy() extern.
1500
1501         * badblocks.c: Fix various gcc -Wall complaints, including
1502                 an incorrect reference to sync in flush_bufs().
1503
1504 2001-01-03    <tytso@snap.thunk.org>
1505
1506         * tune2fs.c (update_feature_set, add_journal): Moved to separate
1507                 functions.  Added ability to add and remove the journal
1508                 while the filesystem is live.  Added support for setting
1509                 a time-based UUID.  Removed zero-initialized static variables.
1510
1511         * mke2fs.c, util.c, util.h (strcasecmp, proceed_question,
1512                 check_plausibility, parse_journal_opts, check_mount):
1513                 Moved functions to util.c so they can be used by tune2fs.
1514
1515         * mke2fs.c (main): Change ext2fs_add_journal_fs() to 
1516                 ext2fs_add_journal_inode() to reflect function renaming.
1517
1518 2001-01-01    <tytso@snap.thunk.org>
1519
1520         * mke2fs.c, e2image.c: Removed references to struct ext2fs_sb to
1521                 struct ext2_super_block.
1522
1523         * tune2fs.c (main): Add support to allow HAS_JOURNAL flag to be
1524                 cleared, but only if the filesystem is unmounted or
1525                 mounted read-only.  Changed struct ext2fs_sb to struct
1526                 ext2_super_block, and cleaned up old code which was needed
1527                 for old versions of ext2_fs.h (not needed since we're
1528                 using our own version now).
1529
1530 2000-12-31    <tytso@snap.thunk.org>
1531
1532         * fsck.c (check_all): Call interpet_device to resolve LABEL= and
1533                 UUID= right away so that the device_already_active() logic
1534                 can do the right thing.  Also cleaned up the the root
1535                 filesystem logic checking code; fixed up a logic bug with
1536                 the parallel_root option.
1537
1538         * lsattr.1.in: Add pointer to chattr man page for definition of
1539                 the file attributes.
1540
1541         * lsattr.c (list_attributes): Minor cleanup to smooth out logic
1542                 flow.  Also removed static initialized variables to zero.
1543
1544         * chattr.c (decode_arg, get_flag): Use a table-driven method for
1545                 decoding the ext2 file flags character options.  Add
1546                 support for the journaled data flag.
1547
1548         * chattr.1.in: Document the -j/+j/=j flag.
1549
1550 2000-12-30    <tytso@snap.thunk.org>
1551
1552         * mke2fs.8.in: Minor clarity edit.
1553
1554         * mke2fs.c (usage): Document the -j option.
1555                 (main): Print the number blocks used in the journal.
1556
1557 2000-12-28    <tytso@snap.thunk.org>
1558
1559         * base_device.c (base_device): Add support for DAC960 device
1560                 names.
1561
1562         * fsck.c (device_already_active): Handle the case where
1563                 base_device doesn't know how to interpret the device name,
1564                 instead of core dumping.
1565
1566 2000-12-09    <tytso@snap.thunk.org>
1567
1568         * mke2fs.c (main, parse_journal_opts): Add support for creating V1
1569                 superblocks.  We now pass in a journal_flags field to the
1570                 journal creation routines for this purpose.
1571
1572         * mke2fs.c: Remove zero initializers to save a few bytes from the
1573                 executable image.  (Are we excited yet?)
1574
1575         * findsuper.c: And non-subtle copyright licensing restriction to
1576                 get Yann to remove this program from the Debian package.  :-) 
1577
1578 2000-12-03    <tytso@snap.thunk.org>
1579
1580         * fsck.c (device_already_active): Change to use new version of
1581                 base_device() which now returns dynamically allocated
1582                 memory.
1583
1584         * base_device.c (base_device): New version moved from fsck.c which
1585                 now understands ugly devfs names.  (Debian bug #65181)
1586
1587         * base_device.tst: Test case for base_device.c
1588
1589 2000-12-02    <tytso@snap.thunk.org>
1590
1591         * fsck.8.in: Add clarification that filesystems with a fs_passno
1592                 of 0 are skipped with the -A option.  (Debian wishlist/bug
1593                 #63442)
1594         
1595         * fsck.c (wait_one): When we let a new fsck take control of the
1596                 console to display the progress bar, set FLAG_PROGRESS to
1597                 so that fsck knows not to start new processes during an
1598                 fsck pass with the progress bar. (Should fix debian bug
1599                 #65267)
1600
1601         * tune2fs.8.in: Add clarifying statement about converting user and
1602                 group names to uid's before storing them in the
1603                 superblock.  (Debian bug #67446)
1604
1605 2000-11-16  Theodore Ts'o  <tytso@valinux.com>
1606
1607         * mke2fs.c(main): Expand the -j option so that it parses
1608                 option=argument style options, and add support for
1609                 creating filesystems with external journals.
1610
1611         * mke2fs.8.in: Document new syntax for the -j option.
1612
1613 2000-11-05    <tytso@snap.thunk.org>
1614
1615         * e2image.c, Makefile.in: New program which saves ext2 metadata to
1616                 a file for people who need a last-ditch saving throw.
1617
1618 2000-10-24    <tytso@snap.thunk.org>
1619
1620         * mke2fs.c (PRS): Applied Andreas Dilger's patch to make the -r -s
1621                 handling a bit more sane.  (Even though -s is deprecated
1622                 at this point.)
1623
1624         * get_device_by_label.c: Apply fix from Erik Troan to support 16
1625                 character labels.
1626
1627         * fsck.c (device_already_active): Add a special case check for MD
1628                 devices, so we don't try to check them in parallel with
1629                 other devices.
1630
1631         * mke2fs.c (PRS, main), mke2fs.8.in: Add support for the -j
1632                 option, which builds an ext2/3 filesystem with an ext3
1633                 journal.
1634
1635 2000-10-24    <tytso@valinux.com>
1636
1637         * mke2fs.c (zap_sector): Fix really stupid typo which gcc 2.95
1638                 didn't catch.
1639
1640 2000-09-12    <tytso@valinux.com>
1641
1642         * fsck.c: Add base device definitions for hd[e-h], for those
1643                 systems with four IDE interfaces.
1644
1645 2000-09-11    <tytso@valinux.com>
1646
1647         * mke2fs.c (zap_sector): Fix error message printed when zap_sector
1648                 fails. 
1649
1650         * dumpe2fs.c (list_desc): Fixed format string bug when printing
1651                 the inode table location in non-hex format.
1652
1653 2000-08-20    <tytso@valinux.com>
1654
1655         * get_device_by_label.c: Add call to ext2fs_find_block_device if
1656                 we can't find the device using the name given by
1657                 /proc/partitions.  (This can happen if devfs is compiled
1658                 into the kernel, but not mounted.)
1659
1660 2000-06-27  Andreas Dilger <adilger@turbolabs.com>
1661
1662         * dumpe2fs.c (usage): add fhx options to usage message, add -x option
1663                 to print out the per-group block numbers in hex, add line for
1664                 location of primary/backup superblock and group descriptors
1665
1666         * mke2fs.c: rename max to group_blk_max avoid potential macro conflict
1667
1668 2000-08-14    <tytso@valinux.com>
1669
1670         * mke2fs.c (zap_sector): Change zap_bootsect to more general
1671                 zap_sect.
1672                 (main): Clear the superblock when starting mke2fs, to
1673                 avoid leaving the filesystem in an inconsistent state.
1674
1675 2000-07-26    <tytso@valinux.com>
1676
1677         * get_device_by_label.c: Improve /proc/partitions parsing in
1678                 fsck, and speed up fsck -a.
1679
1680 2000-07-13    <tytso@valinux.com>
1681
1682         * Release of E2fsprogs 1.19
1683
1684 2000-07-13    <tytso@snap.thunk.org>
1685
1686         * badblocks.8.in: Added text explaining that the -n and -w options
1687                 are mutually exclusive.
1688
1689         * badblocks.c (usage): Fix usage message to make it clear that the
1690                 block count must be specified if the starting block is to
1691                 be specified.  (The starting block should be a option, in
1692                 the long run.)
1693
1694         * badblocks.c (test_nd): Save and restore the currently_testing
1695                 variable before going into the write verification loop.
1696                 This avoids a loop termination problem if the last block
1697                 on the disk is bad.  Also, turn off the SIGALRM signal
1698                 while restoring blocks after the user types ^C.  The
1699                 num_saved variable is now static so that it won't get
1700                 clobbered by a longjmp.  buf_used and bb_count are no
1701                 longer static, since they aren't used by the cleanup
1702                 routines anymore.
1703
1704         * badblocks.c (main): Removed an unsued varaible (buf_size).
1705                 Fixed bad getopt argument that didn't allow the 'b' option
1706                 to take an argument.  Added error checking when parsing
1707                 the starting block number.  Fixed lint warning in fscanf
1708                 format string.
1709
1710 2000-07-06  Theodore Ts'o  <tytso@valinux.com>
1711
1712         * fsck.c (execute, wait_one): Treat fsck.ext3 the same as
1713                 fsck.ext2 (because they are the same) for the purposes of
1714                 the progress bar display logic.
1715
1716         * tune2fs.8.in: Update manual page to document what happens if
1717                 max_mount_count is negative.
1718
1719         * tune2fs.c (main): Allow setting the maximal count value to be
1720                 negative, since the kernel interprets that as forcing a
1721                 check. 
1722
1723         * fsck.c (lookup, load_fs_info, check_all): Use lazy evaluation
1724                 for calling interpret_device(), since this requires root
1725                 privileges if the partitions need to be scanned.
1726                 Otherwise, it's not possible to do non-proot fsck's for
1727                 removeable devices such as floppies if there are any
1728                 LABEL= or UUID= entries in /etc/fstab.
1729
1730         * badblocks.c (check_mount, main): Check to see if the filesystem
1731                 is mounted before doing a read/write or non-destructive
1732                 test.  This can be overriden using the new -f option.
1733
1734         * badblocks.8.in: Update manual page to reflect that the
1735                 blocks-count parameter is now optional.  Also properly
1736                 document the start-block parameter.  Added documentation
1737                 for the -f option.
1738
1739         * badblocks.c (main): Allow the blocks-count parameter to be
1740                 optional.   If it's not specified, use the size of the
1741                 device as a default.
1742
1743 2000-07-05  Theodore Ts'o  <tytso@valinux.com>
1744
1745         * badblocks.c (test_nd): Significantly simplify the logic so that
1746                 it's more obviously what's going on.  Fixed a few
1747                 potential cases which weren't handled correctly in the
1748                 old, overly complicated logic.
1749                 (flush_bufs): Now doesn't take a second argument, and
1750                 always forces a sync; this is required before it's really
1751                 safe to call BLKFLSBUF, at least for some kernels.
1752
1753 2000-05-29  Theodore Ts'o  <tytso@valinux.com>
1754
1755         * mke2fs.c (PRS): Add a much more specific error message if the
1756                 filesystem size is defaulted and get_device_size returns a
1757                 size of zero.  Otherwise, users get a confusing "invalid
1758                 argument while passed to ext2 library" error message.
1759
1760 2000-05-08  Theodore Ts'o  <tytso@valinux.com>
1761
1762         * fsck.c (interpret_device): Add better error messages if a UUID=
1763                 or LABEL= specification is given.
1764
1765         * mke2fs.c (main): We forcibly turn off the filetype feature if
1766                 the OS is the hurd, since the hurd doesn't support it.
1767                 (And since the hurd allows the transmogrification of files
1768                 to special files and vice versa --- for no good reason
1769                 that I can understand --- it can't support the filetype
1770                 feature for the forseeable future, either.)
1771
1772         * mke2fs.c (proceed_question): Fix reversed sense of
1773                 proceed_question that was busted due to the
1774                 internationalization patch.  Fixed bug where if
1775                 proceed_question was called twice, the input buffer wasn't
1776                 cleared of the previous question's newline.
1777         
1778 Thu Apr  6 17:50:25 2000  Theodore Y. Ts'o  <tytso@signal.thunk.org>
1779
1780         * badblocks.c (flush_bufs): Use fsync() if the system doesn't
1781                 support fdatasync().
1782
1783 2000-04-03  Theodore Ts'o  <tytso@valinux.com>
1784
1785         * badblocks.c, dumpe2fs.c, e2label.c, mke2fs.c, tune2fs.c,
1786                 uuidgen.c: For platforms that don't define optarg.h,
1787                 manually define optarg and optind.
1788
1789         * badblocks.8.in: Updated manual page with suggestions from David
1790                 Beattie.
1791
1792         * badblocks.c (test_nd): Generalized cleanup and bug-fixes.   We
1793                 now explicitly clear out the signal handlers to prevent a
1794                 longjmp to a deactivated stack frame.  
1795                 (test_rw): Fixed a signed vs. unsigned comparison error.
1796
1797         * badblocks.8.in, chattr.1.in, dumpe2fs.8.in, lsattr.1.in,
1798                 mklost+found.8.in, tune2fs.8.in: Update Remy Card's e-mail
1799                 address.  
1800                 chattr.1.in: Update which attributes aren't supported.
1801
1802 2000-02-09  Theodore Ts'o  <tytso@valinux.com>
1803
1804         * chattr.1.in: 
1805         * lsattr.1.in: Change "version" to "version/generation number".
1806
1807         * chattr.1.in: Fix stupid file vs filesystem typo.
1808
1809         * tune2fs.c Fix spelling error (spare vs sparse).
1810
1811         * mke2fs.c (PRS): Add safety check to make sure the number of
1812                 blocks doesn't exceed 32 bits on a 64 bit machine.
1813
1814         * chattr.c: Random cleanup; file-only variables are now static.
1815                 Options for setting/clearings flags put into order, and
1816                 #ifdef's removed (since we now use a built-in header
1817                 file).  Add error message if user tries to set and reset
1818                 the same flag.
1819
1820         * lsattr.c: Random cleanup; file-only variables are now static.
1821                 The -l "long" listing has been changed to look nicer.
1822                 Options names have been renamed to be more descriptive.
1823         
1824 2000-02-06  Theodore Ts'o  <tytso@valinux.com>
1825
1826         * badblocks.c, chattr.c, dumpe2fs.c, e2label.c, findsuper.c,
1827                 fsck.c, get_device_by_label.c, lsattr.c, mke2fs.c, 
1828                 mklost+found.c, nls-enable.h, partinfo.c, tune2fs.c,
1829                 uuidgen.c: Add Internationalization support as 
1830                 suggested by Marco d'Itri <md@linux.it>.
1831
1832         * badblocks.c: Fix non-destructive read/write patches from David
1833                 Beattie.  Non-standard variable-length automatic arrays
1834                 removed.  Non-destrutive write test fixed so that logic is
1835                 clearer and more provably correct.  (I believe the old
1836                 code had a bug where the disk data wasn't restored if it
1837                 was interrupted at the wrong time.)
1838
1839         * badblocks.8.in: Document new options in man page.
1840
1841 2000-02-02  Theodore Ts'o  <tytso@valinux.com>
1842
1843         * fsck.c (interpret_device): If there was an attempt to interpret
1844                 a device specification of the type "UUID=" or "LABEL=",
1845                 and it fails, check to see if /proc/partitions is
1846                 readable.  If not, print a warning message about /proc
1847                 perhaps not being mounted, and exit.
1848
1849         * mke2fs.c (check_plausibility): Remove unneeded #include of
1850                 linux/fs.h.  Add #define of MAJOR if necessary.
1851
1852         * partinfo.c: Remove unneeded #include of linux/fs.h
1853
1854 2000-01-19  Theodore Ts'o  <tytso@valinux.com>
1855
1856         * tune2fs.c (usage): Update the usage message to correctly
1857                 document the -s option.
1858
1859 2000-01-18  Theodore Ts'o  <tytso@valinux.com>
1860
1861         * badblocks.c: Folded in patches David Beattie <dbeattie@usa.net>.
1862                 Need to do cleanup before release: use of GCC extensions
1863                 (dynamic arrays); unclean coding tricks (use of || instead
1864                 of if statements, etc.).  Comments from David Beattie:
1865
1866                 "I added non-destructive write-testing, and quite a few
1867                 other features.  The non-destructive write testing,
1868                 triggered by new "-n" command-line option, will write test
1869                 patterns to the disk, but only after reading data off the
1870                 disk into memory.  Then, comparing the test patterns gives
1871                 a result as to whether or not those sectors are reliable.
1872                 Finally, the original data is written back.
1873
1874                 To streamline this operation, I added another option, "-c
1875                 blocks_at_once", which will give the number of disk blocks
1876                 to process at one time (mnemonic--"count").  I made this
1877                 default to 16 (as in the read-only testing mode), and also
1878                 affect the read-only testing mode.  Of course, read-only
1879                 mode needs (count * block_size) amount of memory, and
1880                 non-destructive read-write needs 3 times that much, so it
1881                 makes sense to do the calculations and not overrun
1882                 available RAM...I would have liked to implement and
1883                 auto-memory-usage heuristic, but I have no idea if it's
1884                 even possible to determine the amount of free memory on a
1885                 Unix system except by reading /proc entries, and that
1886                 didn't seem portable.  I did NOT make this blocks_at_once
1887                 affect the behavior of the test_rw routine, as it is
1888                 processing the whole disk at once, anyway.
1889
1890                 I *think* that I got higher detection rates on my hard
1891                 drive using random test data than patterned test data, so
1892                 my non-destructive mode initializes its test data buffer
1893                 randomly.
1894
1895                 I fixed a typo in flush_bufs that caused the ioctl
1896                 BLKFLSBUF to never get compiled into the program.
1897
1898                 Also, I added an "undocumented" (I didn't put it into the
1899                 usage message; you can if you think it's useful) "-h"
1900                 option to specify the host device to flush--useful if you
1901                 want to test out my "non-destructive" code on something
1902                 other than a hard drive, such as a file on a hard drive,
1903                 and want the host hard drive to flush.
1904
1905                 I provided support for an "input" file (via option "-i",
1906                 similar to the "-o" option)...containing a list of
1907                 already-known bad blocks; it will skip testing those
1908                 blocks, thus adding speed to the bad block scan (on my
1909                 computer, hitting a physically bad block causes a
1910                 half-second-or-more freeze as the kernel waits for the
1911                 hard drive to give up and reset itself; pretty annoying
1912                 when you already know the block is bad from a previous
1913                 scan).
1914         
1915                 Finally, the real killer, the persistent re-scan (option:
1916                 "-p num_passes") that I created will, if desired,
1917                 persistently re-scan the drive until it has completed a
1918                 user-decidable number of passes in a row during which no 
1919                 new bad blocks are found.  On my drive, I would see
1920                 behavior that a certain percentage of bad blocks would be
1921                 found with each pass (it was not reliable in the defective
1922                 areas!), so I wanted it to check it over and over again
1923                 until it didn't find any more, several times.  Perhaps
1924                 this will be useful to others.  Defaults of course to
1925                 zero, meaning it will stop after the first pass.  I used
1926                 "-p 2" on my drive, and it ran for 2 1/2 days...then used
1927                 "-p 3" a couple days later and it ran for a few more
1928                 hours, and since then the rest of my drive has been
1929                 completely reliable.
1930
1931                 Implementation of these last two features, "-i" and "-p",
1932                 I did using a bb_list from libext2fs.  I debated whether
1933                 bad blocks input through "-i" should be output into the
1934                 "-o" file (or stdout, of course), and decided against it,
1935                 but left the code to do so in place, commented out, just
1936                 for your information.
1937
1938                 In order to maintain data integrity upon interruption of a
1939                 non-destructive-write test, I created a signal handler
1940                 which I install which will write back whatever original
1941                 disk data is in the buffers upon any of the fatal signals
1942                 (except SIGKILL, of course).
1943
1944                 Of course, ideally, the new options would be reflected in
1945                 the badblocks manual page, but I am not experienced at
1946                 manual page modification; if you decide my patch to
1947                 badblocks should be incorporated into the distribution, I
1948                 could learn how to update the manpage and other
1949                 documentation, or you could do it for me after exercising
1950                 your opinions, if you have any, on exactly what the
1951                 command-line parameters should be called and which ones
1952                 should be in the distribution."
1953
1954 2000-01-07  Theodore Ts'o  <tytso@valinux.com>
1955
1956         * Really fix the bug where "fsck -As" will actually allow
1957                 interactive fsck's.  (For those people who like to do
1958                 interactive fsck's in the /etc/rc scripts!?!)
1959
1960 1999-11-23    <tytso@valinux.com>
1961
1962         * tune2fs.8.in: Fix man page so that the sparse_super filesystem
1963                 option is properly named.
1964
1965 1999-11-22    <tytso@valinux.com>
1966
1967         * mke2fs.c: Change log2() and log10() to int_log2() and
1968                 int_log10() to avoid namespace collisions.  Change #ifdef
1969                 sparc to #ifdef __sparc__.
1970
1971 1999-11-19    <tytso@valinux.com>
1972
1973         * Makefile.in (distclean): Remove TAGS and Makefile.in.old from
1974                 the source directory.
1975
1976 1999-11-10    <tytso@valinux.com>
1977
1978         * Release of E2fsprogs 1.18
1979
1980 1999-11-10    <tytso@valinux.com>
1981
1982         * mke2fs.8.in: Update manual page so that the sparse_option
1983                 filesystem option is properly named.
1984
1985 1999-11-04    <tytso@valinux.com>
1986
1987         * fsck.c (main): Move setting of the interactive flag to before
1988                 the call to check_all(), so that people who try to use
1989                 fsck -As can do so interactively.
1990
1991 1999-10-26    <tytso@valinux.com>
1992
1993         * Release of E2fsprogs 1.17
1994
1995 1999-10-26    <tytso@valinux.com>
1996
1997         * fsck.c (PRS, device_already_active): Add debugging hook; if the
1998                 environment variable FSCK_FORCE_ALL_PARALLEL is set, then
1999                 force all fsck runs to happen in parallel.
2000
2001         * get_device_by_label.c (has_right_label): Fixed bug where code
2002                 used a strncmp to compare a binary UUID value which may
2003                 contain a NULL.  Fixed GCC warnings; added const to char *
2004                 typed variables.  Eliminated non-portable use of u_char.
2005
2006         * mke2fs.c (PRS): Fix gcc warnings; add const to some char *
2007                 variables, including in struct mke2fs_defaults.  
2008                 (set_fs_defaults): Changed parameter name to avoid
2009                 gcc warnings.
2010
2011         * fsck.c (wait_one): Fix gcc warnings; add #include for ctype.h,
2012                 add const to char * variables, and use NOARGS to declare
2013                 functions that take no arguments.  Also fix a memory leak
2014                 in execute() where we weren't freeing argv[] after forking
2015                 the child process.
2016
2017         * chattr.c: Add hack to compile in a definition for S_ISLNK so we
2018                 can successfully compile even with warnings turned on.
2019
2020 1999-10-25    <tytso@valinux.com>
2021
2022         * mke2fs.c (show_stats): Capitalized Hurd to make the GNU types
2023                 happy. 
2024                 (PRS): Use __u64 instead of long long for portability
2025                 reasons.   Also moved #include of sys/stat.h inside #ifdef
2026                 HAVE_LINUX_MAJOR_H for portability reasons.
2027
2028         * fsck.c (execute): Fix really stupid bug in the linked list
2029                 management which caused fsck in parallel mode to go into
2030                 an infinite loop.
2031
2032 1999-10-22    <tytso@valinux.com>
2033
2034         * Release of E2fsprogs 1.16
2035
2036 1999-10-22    <tytso@valinux.com>
2037
2038         * tune2fs.c (main): Add a new option -O which allows the user to
2039                 set and clear certain "safe" filsystem feature flags.
2040                 Currently, the only ones which are supported for
2041                 modification are sparse_superblock and filetype.
2042
2043         * mke2fs.c (PRS): Add new option -O which allows the user to
2044                 request filesystems with specific filesystem options.  By
2045                 default on 2.2 and later systems, create filesystems that
2046                 have both file type information and sparse superblocks.
2047
2048 1999-10-21    <tytso@valinux.com>
2049
2050         * badblocks.8.in, chattr.1.in, dumpe2fs.8.in, e2label.8.in,
2051           fsck.8.in, lsattr.1.in, mke2fs.8.in, mklost+found.8.in,
2052           tune2fs.8.in, uuidgen.1.in: Update man page to use a more standard
2053                 format (bold option flags and italicized variables), as
2054                 suggested by Andreas Dilger (adilger@enel.ucalgary.ca)
2055
2056 1999-10-14    <tytso@valinux.com>
2057
2058         * tune2fs.c (main): Fix typo (double spaces) in messages regarding
2059                 changing the sparse superblock option
2060
2061         * fsck.c (wait_one): If the fsck process just started, wait a
2062                 second before sending a SIGUSR1, to give it a chance
2063                 to set the signal handler; otherwise, fsck will die on an
2064                 unhandled SIGUSR1.
2065
2066 1999-09-15    <tytso@valinux.com>
2067
2068         * mke2fs.c (show_stats): Fix display bug when printing out the
2069                 number of superblocks.  Suggested by Yann Dirson.
2070
2071 1999-09-08    <tytso@valinux.com>
2072
2073         * partinfo.c: Fix minor compilation bugs pointed out by Yann
2074                 Dirson.
2075
2076         * mke2fs.c: Don't turn on sparse superblocks by default on pre-2.2
2077                 kernels. 
2078
2079         * mke2fs.8.in: Add the possible valid block sizes for mke2fs.
2080                 Document the -n flag, and the new defaults for the -s
2081                 flag.
2082
2083         * dumpe2fs.c, dumpe2fs.8.in: Add new options -f (force) and -h
2084                 (header-only).
2085
2086 1999-08-13    <tytso@valinux.com>
2087
2088         * mke2fs.c (PRS): Fix logic for turning on/off the sparse
2089                 superblock option.
2090
2091 1999-07-18  Theodore Ts'o  <tytso@valinux.com>
2092
2093         * Release of E2fsprogs 1.15
2094
2095 1999-07-18    <tytso@rsts-11.mit.edu>
2096
2097         * mke2fs.c (PRS, set_fs_defaults): Add new option -T which allows
2098                 the user to specify the how the filesystem is to be used.
2099                 Mke2fs now chooses the filesystem parameters automatically
2100                 based on the size of the filesystem and the intended use
2101                 of the filesystem.  Add new option -n which simply goes
2102                 through the calculations to determine the parameters of
2103                 the filesystem the system would make.
2104
2105 1999-07-18    <tytso@valinux.com>
2106
2107         * fsck.c, fsck.h: Add support for new option -C.  This option will
2108                 automatically manage e2fsck processes so that they will
2109                 print completion/progress bars.  If multiple filesystems
2110                 are being checked, arrange to make sure that only one
2111                 e2fsck process is displaying a progress bar at a time.
2112
2113 1999-07-08    <tytso@valinux.com>
2114
2115         * badblocks.c (do_test): Don't complain if the write error occurs
2116                 on a non-block boundary.  This is perfectly common when
2117                 using blocksizes larger than 1k.
2118
2119 1999-07-03    <tytso@valinux.com>
2120
2121         * uuidgen.c: Add option parsing so that user can ask for either a
2122                 time-based UUID or a random-based UUID.
2123
2124 1999-07-02    <tytso@valinux.com>
2125
2126         * fsck.c: Added support for LABEL= and UUID= specifications for
2127                 the filesystem's device, to match what recent mount
2128                 programs can support.  Also, close stdin when doing fsck
2129                 -A or when checking more than one filesystem at a time, so
2130                 that e2fsck doesn't try to ask interactive questions if
2131                 the filesystem appears to be mounted.
2132
2133         * get_device_by_label.c: New file added to support LABEL=foo and
2134                 UUID=bar type specifications.
2135
2136 1999-07-01    <tytso@valinux.com>
2137
2138         * badblocks.c:  Make the "done" string include enough spaces to
2139                 clear out a large block number.
2140
2141 1999-06-29    <tytso@valinux.com>
2142
2143         * mke2fs.c (check_mount): Allow a filesystem to be made even if it
2144                 appears mounted if the force option is given.
2145
2146 1999-06-24    <tytso@valinux.com>
2147
2148         * mke2fs.8.in: Fix typo in man page which caused the badblocks
2149                 command to not show up in the "SEE ALSO" section.
2150
2151 1999-05-02    <tytso@rsts-11.mit.edu>
2152
2153         * findsuper.c: Added documentation from aeb@cwi.nl; some minor
2154                 code cleanups.
2155
2156 1999-05-20    <tytso@rsts-11.mit.edu>
2157
2158         * dumpe2fs.c, dumpe2fs.8.in: Added new command-line options which
2159                 allow a filesystem expert to specify the superblock and
2160                 blocksize when opening a filesystem.  This is mainly
2161                 useful when examining the remains of a toasted filesystem.
2162
2163 1999-03-11  Andreas Dilger <adilger@enel.ucalgary.ca>
2164
2165         * uuidgen.c, uuidgen.1.in: Created command-line utility to
2166                 generate UUIDs.
2167
2168 1999-03-14  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2169
2170         * fsck.c (fsck_device, execute): Don't dereference a null pointer
2171                 when checking a filesystem not in /etc/fstab.
2172
2173 1999-02-09  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2174
2175         * fsck.c (fsck_device): Print an error message if the user passes
2176                 in a device or directory name which isn't found in /etc/fstab.
2177                 Allow the location of /etc/fstab to be overridden by
2178                 the FSTAB_FILE environment variable.
2179
2180 1999-01-30  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2181
2182         * mke2fs.c (write_inode_tables): Add kludge code so that when the
2183                 MKE2FS_SYNC environment variable is set, mke2fs will sync
2184                 every MKE2FS_SYNC block groups, while it is writing out
2185                 the inode tables.  This is to work around a VM bug in the
2186                 2.0 kernel.  I've heard a report that a RAID user was able
2187                 to trigger it even using a 2.2 kernel.
2188
2189 1999-01-16  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2190
2191         * fsck.c (execute, wait_one): Modified routines so that they
2192                 accurately create an fsck_instance even when the noexecute
2193                 flag is set.  This allows for accurate debugging of the
2194                 fsck pass structure.
2195                 (check_all): When the verbose flag is given twice, print
2196                 debugging information about when fsck is waiting for jobs
2197                 to finish.
2198
2199 1999-01-09  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2200
2201         * Release of E2fsprogs 1.14
2202
2203 1999-01-09  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2204
2205         * fsck.8.in: Clarified and expanded the documentation for the -A
2206                 switch.
2207
2208 1999-01-07  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2209
2210         * fsck.c (load_fs_info): If the pass number field is missing, it
2211                 needs to be treated as zero.
2212
2213 1999-01-05  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2214
2215         * mke2fs.c (PRS): Add -N option to allow the user to specify
2216                 exactly how many inodes he/she wishes.
2217
2218         * chattr.c, lsattr.c: Only print the version information for the
2219                 program if the -V option is given.
2220
2221         * chattr.c: Ignore symbolic links when doing a recursive descent
2222                 through a directory.
2223
2224 1999-01-01  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2225
2226         * fsck.c (load_fs_info, parse_fstab_line): Ignore fstab lines
2227                 are commented out.  Also allow blank lines in the
2228                 /etc/fstab file.
2229                 (execute): In verbose mode, print the mountpount of the
2230                 filesystem which we are checking (user request).
2231
2232 1998-12-30  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2233
2234         * mke2fs.c: Add definition of SCSI_BLK_MAJOR if not defined, for
2235                 compatibility with Linux 1.2.13 header files.
2236
2237 1998-12-15  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2238
2239         * Release of E2fsprogs 1.13
2240
2241 1998-12-07  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2242
2243         * mke2fs.8.in: Fixed stupid typo ("Raid options are _comma_
2244                 seperated", instead of common separated)
2245
2246 1998-12-03  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2247
2248         * Makefile.in: Updated dependencies.
2249
2250 1998-11-27  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2251
2252         * fsck.c (load_fs_info): Parse /etc/fstab ourselves, instead of
2253                 relying on getmntent().  This has the advantage of
2254                 allowing us to properly handle missing pass numbers correctly.
2255
2256 1998-11-13  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2257
2258         * tune2fs.8.in: Fix minor display bug in the nroff.
2259
2260         * mke2fs.c (show_stats, write_inode_tables): Use the log10
2261                 function to calculate the display of block numbers so that
2262                 things look nice on an 80 character display.
2263
2264 1998-10-12  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2265
2266         * mke2fs.c (usage): Add the sparse-super-flag to the usage
2267                 message. 
2268
2269 1998-07-09  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2270
2271         * Release of E2fsprogs 1.12
2272
2273 1998-07-04  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2274
2275         * findsuper.c (main): Print the block group number which is now
2276                 being written by e2fsprogs.
2277
2278 1998-06-25  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2279
2280         * fsck.c (ignore): Remove unused variable cp.
2281
2282         * chattr.c (fatal_error): 
2283         * tune2fs.c (usage): 
2284         * lsattr.c (usage): 
2285         * dumpe2fs.c (usage): 
2286         * badblocks.c (usage): Remove volatile from declaration.
2287
2288         * fsck.c: Change use of strdup to be string_copy, since we don't
2289                 trust what glibc is doing with strdup.  (Whatever it is,
2290                 it isn't pretty.)
2291
2292 1998-06-19  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2293
2294         * mke2fs.c (PRS): Add a -V option which prints the version number
2295                 and exit.
2296
2297 1998-05-14  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2298
2299         * fsck.c (ignore): Remove check for filesystems with the noauto 
2300                 option.
2301
2302 1998-03-30  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2303
2304         * Makefile.in: Change to use new installation directory variables
2305                 convention.  Fix uninstall rules to take $(DESTDIR) into
2306                 account.  Remove cat8dir and cat1dir from the installdirs
2307                 target, since modern man package don't necessarily put the
2308                 cat directory in /usr/man/cat?.
2309
2310 1998-03-29  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2311
2312         * e2label.8.in: New man page to document the e2label function.
2313
2314         * e2label.c: Fix -Wall warning by making functions static.
2315
2316 1998-03-28  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2317
2318         * chattr.1.in: Document that the append-only attribute may
2319                 only be set or cleared by the superuser.
2320
2321         * Update all manual pages to that the availability section is
2322                 up-to-date. 
2323
2324         * e2label.8.in, tune2fs.8.in: Update manual page to state that
2325                 labels must be no longer than 16 characters, or they will
2326                 be truncated.
2327
2328         * e2label.c (change_label), tune2fs.c (main): If the label is
2329                 longer than 16 characters, print a warning message stating
2330                 that the label will be truncated.
2331
2332         * mke2fs.c (PRS): If the user specifies a filesystem size, and
2333                 it's larger than the apparent size of the device, print a
2334                 warning message and ask if the user wants to proceed.
2335
2336 1998-03-21  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2337
2338         * mke2fs.c (check_plausibility): Fixed spelling typo in warning
2339                 message.  Fixed up -Wall warnings in file.
2340
2341 Sun Mar  8 22:21:48 1998  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2342
2343         * partinfo.c (main): The ioctl BLKGETSIZE requires a long, not an
2344                 int. 
2345
2346 Sun Feb  1 16:53:36 1998  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2347
2348         * badblocks.8: Update documentation to note that output format
2349                 of badblocks is suitable for use with e2fsck -l or
2350                 mke2fs -l.
2351
2352         * mke2fs.c (handle_bad_blocks): Fix bug so that all groups with
2353                 bad superblock backup blocks are printed (not just the
2354                 first one).
2355
2356 Mon Dec  1 17:01:04 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2357
2358         * badblocks.8.in: Add documentation for the -s option.
2359
2360 Fri Oct 24 23:37:52 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2361
2362         * fsck.c: 
2363         * chattr.c: Remove #include of getopt.h, since it's not needed.
2364
2365         * tune2fs.c (main): 
2366         * lsattr.c (main): 
2367         * badblocks.c (main): 
2368         * dumpe2fs.c (main): 
2369         * mke2fs.c (PRS): Make the variable which getopt returns into be
2370                 an int, so that it won't lose on platforms where char is
2371                 unsigned. 
2372
2373 Fri Oct  3 13:38:45 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2374
2375         * mke2fs.c (parse_raid_opts): Make parse_raid_opts return a void,
2376                 to fix a -Wall warning.
2377
2378 Mon Sep 15 22:07:12 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2379
2380         * tune2fs.c (main): 
2381         * mklost+found.c (main): 
2382         * lsattr.c (main): 
2383         * dumpe2fs.c (main): 
2384         * chattr.c (main): 
2385         * badblocks.c (main): Declare main to return an int, as required.
2386                 Make sure main always ends with an exit(0).  (Some
2387                 programs weren't doing this, and thus were returning a
2388                 random exit value.)
2389
2390 Mon Jul 14 15:27:29 1997  Theodore Y. Ts'o  <tytso@mit.edu>
2391
2392         * e2label.c: New file contributed by Andries Brouwer which
2393                 provides an easy-to-use interface to modify the filesystem
2394                 label.
2395         
2396         * Makefile.in (SPROGS): Add Makefile support to build e2label
2397
2398 Tue Jun 17 01:33:20 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2399
2400         * Release of E2fsprogs 1.11
2401
2402 Mon Jun 16 23:37:54 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2403
2404         * mke2fs.c (show_stats): Adjust the number of columns printed when
2405                 displaying the superblock backups to avoid running over 
2406                 80 columns when making a really big disk.
2407
2408 Thu May  8 22:22:08 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2409
2410         * badblocks.8.in, chattr.1.in, dumpe2fs.8.in, fsck.8.in, 
2411                 mke2fs.8.in, tune2fs.8.in: Fix minor typos and grammer
2412                 oops found by Bill Hawes (whawes@star.net).
2413
2414         * mke2fs.c (test_disk): Pass the blocksize to the bad blocks
2415                 command so that all of the filesystem gets tested in the
2416                 case where the blocksize 2048 or 4096.
2417
2418 Thu Apr 24 12:16:42 1997  Theodre Ts'o  <tytso@localhost.mit.edu>
2419
2420         * Release of E2fsprogs version 1.10
2421
2422 Thu Apr 24 09:52:47 1997  Theodre Ts'o  <tytso@localhost.mit.edu>
2423
2424         * mke2fs.c: Added new option -R, which specifies RAID options.
2425                 Currently the only supported RAID option is "stride" which
2426                 specifies the stripe width in RAID filesystem.  This is
2427                 used to aid in the placement of the inode and block
2428                 bitmaps.
2429
2430         * mke2fs.8.in, tune2fs.8.in: Added warnings that the sparse
2431                 superblock option isn't yet supported by most kernels.
2432
2433 Wed Apr 23 22:42:51 1997  Theodre Ts'o  <tytso@localhost.mit.edu>
2434
2435         * mke2fs.c (PRS): Make the default filesystem revision be 0, not
2436                 1.  (Since some people are still worried about 1.2.13
2437                 compatibility).
2438
2439 Thu Apr 17 12:23:38 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2440
2441         * Release of E2fsprogs version 1.09
2442
2443 Fri Apr 11 18:57:24 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2444
2445         * chattr.1.in: Updated man page so that the 'A' attribute is
2446                 specified everywhere.
2447
2448         * chattr.c (usage): Added usage message for the 'A' attribute.
2449
2450 Fri Apr 11 18:56:26 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2451
2452         * Release of E2fsprogs version 1.08
2453
2454 Thu Apr 10 07:08:03 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2455
2456         * dumpe2fs.c (list_desc): List the offsets of the inode and block
2457                 bitmaps, and the inode table.  List the block boundaries
2458                 for the groups.
2459
2460 Sat Apr  5 11:55:52 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2461
2462         * tune2fs.c (main): Implement the -s flag allows the user to
2463                 set and reset the sparse superblock flag.
2464
2465         * mke2fs.c (PRS): By default generate DYNAMIC revision
2466                 filesystems.  The -s flag controls whether or not the
2467                 sparse superblock flag is set.
2468                 (PRS): Change to allow the user to specify the true
2469                 maximum number of blocks per group to reflect the
2470                 blocksize. 
2471
2472 Wed Mar 12 13:32:05 1997  Theodore Y. Ts'o  <tytso@mit.edu>
2473
2474         * Release of E2fsprogs version 1.07
2475
2476 Thu Mar  6 17:15:05 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2477
2478         * mke2fs.c (create_root_dir): Set the root directory's i_uid and
2479                 i_gid to be the real user and group id.
2480
2481 Tue Mar  4 10:14:33 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2482
2483         * mke2fs.c (check_plausibility): Add more intelligent error
2484                 messages when the device doesn't exist.
2485
2486 Sat Mar  1 10:43:32 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2487
2488         * fsck.c (main): Fix bug where the PATH environment variable isn't
2489                 set when it is unset.
2490
2491 Tue Jan 14 12:30:45 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2492
2493         * mke2fs.c (write_inode_tables): Fixed bug in write_inode_tables
2494                 where a loop variable was getting reused in a nested loop.
2495                 This caused the inode table to not be correctly
2496                 initialized.
2497
2498 Thu Jan  2 00:00:37 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2499
2500         * lsattr.c, chattr.c: Include string.h, since we use memcpy().
2501
2502         * findsuper.c: Use time_t for ctime(), not __u32.
2503
2504 Sat Dec 28 23:39:18 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2505
2506         * badblocks.c: Adapted -vv modifications from Rik Faith so that
2507                 they frequently update the block number field.
2508
2509         * badblocks.8.in: Document the optional start-block parameter
2510
2511 Mon Oct 14 11:52:58 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2512
2513         * mke2fs.c: Updated to use new ext2fs_allocate_tables() function.
2514
2515 Tue Oct  8 02:02:03 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2516
2517         * Release of E2fsprogs version 1.06
2518
2519 Mon Oct  7 00:56:24 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2520
2521         * chattr.1.in: Documented the 'A' (noatime) attribute.
2522
2523         * dumpe2fs.c (main): Change EXT2_SWAP to EXT2_FLAG_SWAP for
2524                 consistency's sake.
2525
2526 Sun Sep 22 16:18:47 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2527
2528         * chattr.c (decode_arg): Add support for the 'A' (noatime) flag.
2529
2530 Thu Sep 12 15:23:07 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2531
2532         * Release of E2fsprogs version 1.05
2533
2534 Sat Sep  7 07:34:11 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2535
2536         * tune2fs.c (main): Add support for new option -C, which sets the 
2537                 current number of mounts.
2538                 (main): Allow the interval to be specified in seconds,
2539                 mostly for debugging.
2540
2541 Tue Aug 27 17:27:43 1996  Miles Bader  <miles@gnu.ai.mit.edu>
2542
2543         * Makefile.in (SMANPAGES): Use @FSCK_MAN@ instead of fsck.8.
2544         (SPROGS): Use @FSCK_PROG@ instead of fsck.
2545
2546 Thu Aug 22 00:51:44 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2547
2548         * mke2fs.c (zap_bootblock): Don't do zap_bootblock on a
2549                 sparc.
2550
2551 Tue Aug 20 00:15:46 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2552
2553         * chattr.c (main): Fixed bug so that chattr -v works.  (Bug report
2554                 and fix sent by Charles Howes, chowes@eznet.ca)
2555
2556 Fri Aug  9 11:52:42 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2557
2558         * tune2fs.8.in:
2559         * tune2fs.c: Added support for the -L option which sets the volume
2560                 label, the -M option which sets the last mounted
2561                 directory, and the -U option which sets the filesystem UUID.
2562
2563         * mke2fs.8.in:
2564         * mke2fs.c: Added support for the -o option, which overrides the
2565                 creator OS.  Generate a UUID for the filesystem, if
2566                 applicable.  Added support for the -L option which sets
2567                 the volume label, and the -M option which sets the last
2568                 mounted directory.
2569
2570 Sat Jun 22 17:43:17 1996  Remy Card  <card@bbj.linux.eu.org>
2571
2572         * chattr.c (decode_arg): Integrated Michael Nonweiler's fix to
2573                 avoid a segmentation fault when the "-v" option is used
2574                 and no version number is specified.
2575         
2576 Thu May 16 11:12:30 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2577
2578         * Release of E2fsprogs version 1.04
2579
2580 Wed May 15 21:15:43 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2581
2582         * Makefile.in (fsck): fsck doesn't need to be linked with the ext2
2583                 libraries.
2584
2585 Wed Mar 27 00:33:40 1996    <tytso@rsts-11.mit.edu>
2586
2587         * Release of E2fsprogs version 1.03
2588
2589 Thu Mar  7 03:43:20 1996    <tytso@rsts-11.mit.edu>
2590
2591         * mke2fs.c (PRS): Add (for development only) support to
2592                 specify revision and inode size of the new filesystem.
2593
2594 Tue Mar  5 03:51:35 1996    <tytso@rsts-11.mit.edu>
2595
2596         * mke2fs.8.in: Fix a few minor typo's in the man page.
2597
2598         * mke2fs.c (reserve_inodes): Add support for dynamic first inode
2599                 revision.
2600
2601 Mon Feb  5 22:19:49 1996    <tytso@rsts-11.mit.edu>
2602
2603         * fsck.c (check_all, PRS): Added new flag -P, which turns on the
2604                 parallel root option.  This allows you to check the root
2605                 filesystem in parallel with the other filesystems.  Note
2606                 that this is not the safest thing in the world to do,
2607                 since if the root filesystem is in doubt things like
2608                 the e2fsck executable might be corrupted!  But some
2609                 sysadmins, who don't want to repartition the root
2610                 filesystem to be small and compact, may really want this
2611                 option turned on.
2612
2613 Wed Jan 31 11:06:08 1996    <tytso@rsts-11.mit.edu>
2614
2615         * Release of E2fsprogs version 1.02
2616
2617 Tue Oct 30 21:14:12 1995    <tytso@rsts-11.mit.edu>
2618
2619         * mke2fs.c (check_plausibility): Add check to warn user if they
2620                 are trying to mke2fs the whole disk.  (/dev/hda
2621                 vs. /dev/hda1)
2622
2623 Fri Dec 15 19:09:56 1995    <tytso@rsts-11.mit.edu>
2624
2625         * fsck.c (check_all): If we break out of the loop because we are
2626                 serializing and have just started at fsck we haven't
2627                 finished the pass. We need to go round again in case there
2628                 are more filesystems to be done in this pass.  (Patch
2629                 submitted by Mike Jagdis)
2630
2631 Sat Dec  9 10:07:16 1995    <tytso@rsts-11.mit.edu>
2632
2633         * dumpe2fs.c (in_use): test_bit() was renamed to
2634                 ext2fs_test_bit().
2635
2636 Mon Oct 30 20:21:18 1995    <tytso@rsts-11.mit.edu>
2637
2638         * fsck.c (fsck_device): Check fstype instead of type; this was a
2639                 stupid typo which caused coredumps in some cases.
2640
2641 Thu Oct 26 12:05:18 1995    <tytso@rsts-11.mit.edu>
2642
2643         * Makefile.in (install): Strip programs when they are installed.
2644
2645 Fri Aug 18 15:10:40 1995  Theodore Y. Ts'o  <tytso@dcl>
2646
2647         * mke2fs.c (PRS): Move call of check_mount() from main() to PRS(),
2648                 so we do the check to see if the filesystem is mounted
2649                 *before* we try to determine the size of the device.
2650
2651 Wed Sep  6 23:34:07 1995  Remy Card  <card@bbj>
2652
2653         * fsck.c (load_fs_info): Load the informations from /etc/fstab in
2654                 the same order.
2655
2656 Thu Aug 17 22:33:09 1995    <tytso@rsts-11.mit.edu>
2657
2658         * mke2fs.c (check_mount): Use the new ext2fs_check_if_mounted()
2659                 function to determine if the device is mounted.
2660
2661         * mke2fs.c (PRS): Change call to use the new
2662                 ext2fs_get_device_size() function in order to determine
2663                 the size of the filesystem.  Remove get_size() and
2664                 is_valid_offset(), which are no longer called.
2665
2666 Fri Aug 11 08:26:24 1995  Theodore Y. Ts'o  <tytso@lurch.mit.edu>
2667
2668         * fsck.c (fsck_device): Make sure fstype has been set by the user
2669                 and that it does not begin with "no" and the user has
2670                 specified exactly one type before using it as the type to
2671                 check.
2672
2673 Fri Aug 11 14:17:18 1995  Remy Card  <card@bbj>
2674
2675         * badblocks.8:
2676         * chattr.1:
2677         * dumpe2fs.8:
2678         * fsck.8:
2679         * lsattr.1:
2680         * mke2fs.8:
2681         * mklost+found.8:
2682         * tune2fs.8: Updated date and version number.
2683
2684 Thu Aug 10 14:18:36 1995  Remy Card  <card@bbj>
2685
2686         * tune2fs.c: Fixed a bug which prevented the use of user and group
2687                 names with the -g and -u options.  Thanks to Jean Christophe
2688                 ANDRE <progfou@mycrob.cafard.freenix.fr>.
2689
2690         * mke2fs.8:
2691         * tune2fs.8: Fixed a spelling error in Ted's name :-)
2692
2693 Wed Aug  9 20:41:54 1995  Theodore Y. Ts'o  <tytso@dcl>
2694
2695         * mke2fs.c (count_blocks): Divide the size by
2696                 EXT2_BLOCK_SIZE(&param), instead of assuming that the
2697                 blocksize is always 1024 bytes.
2698
2699 Sat Aug  5 12:00:51 1995  Theodore Y. Ts'o  <tytso@lurch.mit.edu>
2700
2701         * mke2fs.c (PRS): Use malloc() instead of alloca() --- alloca() is
2702                 not portable!!  In any case putenv() in some systems must
2703                 take a static character array or malloc()'ed memory;
2704                 passing memory allocated using alloca() to putenv() is not
2705                 advisable.
2706
2707         * chattr.c (chattr_dir_proc): 
2708         * lsattr.c (lsattr_dir_proc): Use malloc() instead of alloca() ---
2709                 alloca is not portable!
2710
2711         * fsck.c (fsck_device): If the filesystem type is specified by the
2712                 user using the -t option, let it override the type in
2713                 /etc/fstab.
2714
2715         * fsck.c (strdup): Don't build strdup() if the system defines it.
2716
2717 Mon Jun 12 19:15:10 1995  Theodore Y. Ts'o  (tytso@dcl)
2718
2719         * chattr.c, lsattr.c: Include <sys/types.h> for <dirent.h>'s
2720                 benefit.
2721
2722         * The $(UPROGS) go in bin, not sbin.
2723
2724         * badblocks.c, chattr.c, dumpe2fs.c, fsck.c, lsattr.c, mke2fs.c,
2725                 tune2fs.c:  Don't include <getopt.h> if it doesn't exist.
2726
2727 Mon Jun 12 16:36:04 1995  Theodore Y. Ts'o  <tytso@dcl>
2728
2729         * badblocks.c, chattr.c, dumpe2fs.c, fsck.c, lsattr.c, mke2fs.c,
2730                 tune2fs.c: Only include getopt.h if HAVE_GETOPT_H is defined.
2731
2732 Sat Jun 10 23:37:09 1995  Theodore Y. Ts'o  <tytso@lurch.mit.edu>
2733
2734         * chattr.c: Include errno.h, since we use errno
2735
2736         * fsck.c (load_fs_info): If HAVE_MNTENT_H is not defined,
2737                 explicitly initialize filesys_info to be NULL.
2738
2739         * mke2fs.c: Include the stdio.h and errno.h header files
2740
2741 Thu Jun  8 13:25:23 1995  Miles Bader  <miles@churchy.gnu.ai.mit.edu>
2742
2743         * mke2fs.c: Only include <linux/fs.h> if we can.
2744         (get_size): Don't try to use the BLKGETSIZE ioctl unless it's defined.
2745         (check_mount): Only check to see if the device is mounted if
2746         HAVE_MNTENT_H is defined (by configure).
2747
2748         * fsck.c (load_fs_info): Only try to get info about filesystems if
2749         HAVE_MNTENT_H is defined (by configure).
2750         (main): Allocate space for a new fsck_path instead of append to a
2751         statically sized buffer.
2752         (PRS): Use alloca to allocate the new path string, instead of
2753         having a fixed size buffer (which was the wrong size anyway).
2754
2755         * chattr.c (chattr_dir_proc): Use alloca to allocate space for a
2756         filename instead of using a fixed-size buffer.
2757         * lsattr.c (lsattr_dir_proc): Ditto.
2758         * mklost+fond.c (main): Calculate the actual needed size for the
2759         path buffer instead of using MAXPATHLEN (which not all systems have).
2760
2761         * badblocks.c: Only include linux include files if we have them.
2762         (flush_bufs): New function to flush a block device, optionally
2763         syncing it first.  This replaces other copies of this code.
2764         (test_ro): Replace calls to ioctl with flush_bufs().
2765         (test_rw): Ditto.
2766
2767         * Makefile.in: Rewritten to conform to GNU coding standards and
2768         support separate compilation directories.
2769
2770 Sat Mar 11 10:59:58 1995  Theodore Y. Ts'o  <tytso@localhost>
2771
2772         * mke2fs.c (main, zap_bootblock): Added new function
2773                 zap_bootblock() which clears the first 512 bytes of the
2774                 filesystem.  This protects the filesystem from being
2775                 misidentified as a MS-DOS FAT filesystem.
2776
2777         * badblocks.c (alarm_intr, test_ro, test_rw): Increase the space
2778                 allocated for printing the block numbers, so that the
2779                 display doesn't get corrupted when running badblocks on a
2780                 very large partition.
2781
2782         * badblocks.c (do_test, test_ro, test_rw): Added missing cast to
2783                 ext2_loff_t, so that when checking a large device,
2784                 spurious seek errors aren't reported.
2785
2786         * mke2fs.c (count_blocks): Declare mid to be of type ext2_loff_t
2787                 instead of type int, so that it works for filesystems
2788                 greater than 2 GB.  (Fortunately count_blocks is only
2789                 called if the device does not support the BLKGETSIZE
2790                 ioctl, which most do.)
2791
2792         * fsck.c (ignore): Add check to ignore filesystems with a pass
2793                 number of zero.  (This check was accidentally deleted at
2794                 during 0.5b development.)
2795
2796 Sat Dec 31 00:47:16 1994    <tytso@rsx-11.mit.edu>
2797
2798         * mke2fs.c (new_table_block, alloc_tables, PRS, main): Add a new
2799                 option, -S, which only writes the superblock and group
2800                 descriptors.  Useful for recovering when all of the
2801                 superblocks are corrupted somehow (as a last ditch
2802                 measure).
2803
2804                 Also, don't bother initializing the bitmap blocks in
2805                 alloc_tables(), since they will be overwritten at the end
2806                 anyway.  (Should speed up mke2fs by a little.)
2807
2808 Tue Dec  6 02:20:55 1994    <tytso@rsx-11.mit.edu>
2809
2810         * fsck.c (main): Fix stupid typo where a null inst would be freed. 
2811
2812         * fsck.c (wait_one): Check WIFEXITED on status before trying to
2813                 extract the exit status.  In other cases, return
2814                 FSCK_ERROR if the back end processor exited with a signal.
2815
2816 Tue Nov 15 10:20:00 1994  Remy Card  <card@bbj>
2817
2818         * tune2fs.c (main): Fixed a bug which prevented the use of the
2819                 new options.
2820         Added the `w' (week) suffix recognition in the check interval.
2821
2822 Sun Nov 13 15:58:48 1994    (tytso@rsx-11)
2823
2824         * fsck.c (load_fs_info): If the user has an obviously old
2825                 /etc/fstab file, issue a warning message and assume that
2826                 all partitions should be checked.
2827
2828 Sat Nov 12 00:33:18 1994    (tytso@rsx-11)
2829
2830         * dumpe2fs.c (list_desc): Update to new inode and block bitmap
2831                 structures. 
2832
2833         * mke2fs.c (create_root_dir): Create the root directory owned by
2834                 the effective uid.
2835
2836 Mon Nov  7 22:04:37 1994  Remy Card  <card@bbj>
2837
2838         * tune2fs.c (main.c): Added support for new options:
2839         -r reserved_blocks_count, -g reserved_gid, -u reserved_uid.
2840
2841 Sun Aug 21 00:57:33 1994  Theodore Y. Ts'o  (tytso@rt-11)
2842
2843         * fsck.c (ignore): If the pass number is 0, ignore the filesystem.
2844
2845 Wed Aug 17 21:55:03 1994  Remy Card  (card@bbj)
2846
2847         * badblocks.c (test_rw): Added verbose output like in the
2848         read-only test.
2849
2850         (do_test and test_rw): Use the llseek system call if available.
2851
2852         * chattr.c: Added support for new attributes.
2853
2854         * lsattr.c: Added support for long format.
2855
2856         * mke2fs.c (usage): Fixed bogus usage message.
2857
2858         (valid_offset): Use the llseek system call if available.
2859
2860 Wed Aug 17 10:50:57 1994  Theodore Y. Ts'o  (tytso@rt-11)
2861
2862         * mke2fs.c (handle_bad_blocks): Check to see if a bad block is
2863         where a backup superblock/group descriptor is stored.  If so,
2864         print a warning message and adjust the superblock counts so that
2865         they are correct.  (Otherwise, the bad block will get counted
2866         twice and the # of free blocks count will be wrong.)
2867
2868         (alloc_tables): Removed code which calcualated the free block
2869         statistics, which was moved to lib/ext2fs/initialize.c.  This
2870         allows the bad block code to adjust the group descriptor
2871         statistics if necessary.