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