Whamcloud - gitweb
ChangeLog, lsattr.c:
[tools/e2fsprogs.git] / misc / ChangeLog
1 2000-12-31    <tytso@snap.thunk.org>
2
3         * lsattr.1.in: Add pointer to chattr man page for definition of
4                 the file attributes.
5
6         * lsattr.c (list_attributes): Minor cleanup to smooth out logic
7                 flow.  Also removed static initialized variables to zero.
8
9         * chattr.c (decode_arg, get_flag): Use a table-driven method for
10                 decoding the ext2 file flags character options.  Add
11                 support for the journaled data flag.
12
13         * chattr.1.in: Document the -j/+j/=j flag.
14
15 2000-12-30    <tytso@snap.thunk.org>
16
17         * mke2fs.8.in: Minor clarity edit.
18
19         * mke2fs.c (usage): Document the -j option.
20                 (main): Print the number blocks used in the journal.
21
22 2000-12-28    <tytso@snap.thunk.org>
23
24         * base_device.c (base_device): Add support for DAC960 device
25                 names.
26
27         * fsck.c (device_already_active): Handle the case where
28                 base_device doesn't know how to interpret the device name,
29                 instead of core dumping.
30
31 2000-12-09    <tytso@snap.thunk.org>
32
33         * mke2fs.c (main, parse_journal_opts): Add support for creating V1
34                 superblocks.  We now pass in a journal_flags field to the
35                 journal creation routines for this purpose.
36
37         * mke2fs.c: Remove zero initializers to save a few bytes from the
38                 executable image.  (Are we excited yet?)
39
40         * findsuper.c: And non-subtle copyright licensing restriction to
41                 get Yann to remove this program from the Debian package.  :-) 
42
43 2000-12-03    <tytso@snap.thunk.org>
44
45         * fsck.c (device_already_active): Change to use new version of
46                 base_device() which now returns dynamically allocated
47                 memory.
48
49         * base_device.c (base_device): New version moved from fsck.c which
50                 now understands ugly devfs names.  (Debian bug #65181)
51
52         * base_device.tst: Test case for base_device.c
53
54 2000-12-02    <tytso@snap.thunk.org>
55
56         * fsck.8.in: Add clarification that filesystems with a fs_passno
57                 of 0 are skipped with the -A option.  (Debian wishlist/bug
58                 #63442)
59         
60         * fsck.c (wait_one): When we let a new fsck take control of the
61                 console to display the progress bar, set FLAG_PROGRESS to
62                 so that fsck knows not to start new processes during an
63                 fsck pass with the progress bar. (Should fix debian bug
64                 #65267)
65
66         * tune2fs.8.in: Add clarifying statement about converting user and
67                 group names to uid's before storing them in the
68                 superblock.  (Debian bug #67446)
69
70 2000-11-16  Theodore Ts'o  <tytso@valinux.com>
71
72         * mke2fs.c(main): Expand the -j option so that it parses
73                 option=argument style options, and add support for
74                 creating filesystems with external journals.
75
76         * mke2fs.8.in: Document new syntax for the -j option.
77
78 2000-11-05    <tytso@snap.thunk.org>
79
80         * e2image.c, Makefile.in: New program which saves ext2 metadata to
81                 a file for people who need a last-ditch saving throw.
82
83 2000-10-24    <tytso@snap.thunk.org>
84
85         * mke2fs.c (PRS): Applied Andreas Dilger's patch to make the -r -s
86                 handling a bit more sane.  (Even though -s is deprecated
87                 at this point.)
88
89         * get_device_by_label.c: Apply fix from Erik Troan to support 16
90                 character labels.
91
92         * fsck.c (device_already_active): Add a special case check for MD
93                 devices, so we don't try to check them in parallel with
94                 other devices.
95
96         * mke2fs.c (PRS, main), mke2fs.8.in: Add support for the -j
97                 option, which builds an ext2/3 filesystem with an ext3
98                 journal.
99
100 2000-10-24    <tytso@valinux.com>
101
102         * mke2fs.c (zap_sector): Fix really stupid typo which gcc 2.95
103                 didn't catch.
104
105 2000-09-12    <tytso@valinux.com>
106
107         * fsck.c: Add base device definitions for hd[e-h], for those
108                 systems with four IDE interfaces.
109
110 2000-09-11    <tytso@valinux.com>
111
112         * mke2fs.c (zap_sector): Fix error message printed when zap_sector
113                 fails. 
114
115         * dumpe2fs.c (list_desc): Fixed format string bug when printing
116                 the inode table location in non-hex format.
117
118 2000-08-20    <tytso@valinux.com>
119
120         * get_device_by_label.c: Add call to ext2fs_find_block_device if
121                 we can't find the device using the name given by
122                 /proc/partitions.  (This can happen if devfs is compiled
123                 into the kernel, but not mounted.)
124
125 2000-06-27  Andreas Dilger <adilger@turbolabs.com>
126
127         * dumpe2fs.c (usage): add fhx options to usage message, add -x option
128                 to print out the per-group block numbers in hex, add line for
129                 location of primary/backup superblock and group descriptors
130
131         * mke2fs.c: rename max to group_blk_max avoid potential macro conflict
132
133 2000-08-14    <tytso@valinux.com>
134
135         * mke2fs.c (zap_sector): Change zap_bootsect to more general
136                 zap_sect.
137                 (main): Clear the superblock when starting mke2fs, to
138                 avoid leaving the filesystem in an inconsistent state.
139
140 2000-07-26    <tytso@valinux.com>
141
142         * get_device_by_label.c: Improve /proc/partitions parsing in
143                 fsck, and speed up fsck -a.
144
145 2000-07-13    <tytso@valinux.com>
146
147         * Release of E2fsprogs 1.19
148
149 2000-07-13    <tytso@snap.thunk.org>
150
151         * badblocks.8.in: Added text explaining that the -n and -w options
152                 are mutually exclusive.
153
154         * badblocks.c (usage): Fix usage message to make it clear that the
155                 block count must be specified if the starting block is to
156                 be specified.  (The starting block should be a option, in
157                 the long run.)
158
159         * badblocks.c (test_nd): Save and restore the currently_testing
160                 variable before going into the write verification loop.
161                 This avoids a loop termination problem if the last block
162                 on the disk is bad.  Also, turn off the SIGALRM signal
163                 while restoring blocks after the user types ^C.  The
164                 num_saved variable is now static so that it won't get
165                 clobbered by a longjmp.  buf_used and bb_count are no
166                 longer static, since they aren't used by the cleanup
167                 routines anymore.
168
169         * badblocks.c (main): Removed an unsued varaible (buf_size).
170                 Fixed bad getopt argument that didn't allow the 'b' option
171                 to take an argument.  Added error checking when parsing
172                 the starting block number.  Fixed lint warning in fscanf
173                 format string.
174
175 2000-07-06  Theodore Ts'o  <tytso@valinux.com>
176
177         * fsck.c (execute, wait_one): Treat fsck.ext3 the same as
178                 fsck.ext2 (because they are the same) for the purposes of
179                 the progress bar display logic.
180
181         * tune2fs.8.in: Update manual page to document what happens if
182                 max_mount_count is negative.
183
184         * tune2fs.c (main): Allow setting the maximal count value to be
185                 negative, since the kernel interprets that as forcing a
186                 check. 
187
188         * fsck.c (lookup, load_fs_info, check_all): Use lazy evaluation
189                 for calling interpret_device(), since this requires root
190                 privileges if the partitions need to be scanned.
191                 Otherwise, it's not possible to do non-proot fsck's for
192                 removeable devices such as floppies if there are any
193                 LABEL= or UUID= entries in /etc/fstab.
194
195         * badblocks.c (check_mount, main): Check to see if the filesystem
196                 is mounted before doing a read/write or non-destructive
197                 test.  This can be overriden using the new -f option.
198
199         * badblocks.8.in: Update manual page to reflect that the
200                 blocks-count parameter is now optional.  Also properly
201                 document the start-block parameter.  Added documentation
202                 for the -f option.
203
204         * badblocks.c (main): Allow the blocks-count parameter to be
205                 optional.   If it's not specified, use the size of the
206                 device as a default.
207
208 2000-07-05  Theodore Ts'o  <tytso@valinux.com>
209
210         * badblocks.c (test_nd): Significantly simplify the logic so that
211                 it's more obviously what's going on.  Fixed a few
212                 potential cases which weren't handled correctly in the
213                 old, overly complicated logic.
214                 (flush_bufs): Now doesn't take a second argument, and
215                 always forces a sync; this is required before it's really
216                 safe to call BLKFLSBUF, at least for some kernels.
217
218 2000-05-29  Theodore Ts'o  <tytso@valinux.com>
219
220         * mke2fs.c (PRS): Add a much more specific error message if the
221                 filesystem size is defaulted and get_device_size returns a
222                 size of zero.  Otherwise, users get a confusing "invalid
223                 argument while passed to ext2 library" error message.
224
225 2000-05-08  Theodore Ts'o  <tytso@valinux.com>
226
227         * fsck.c (interpret_device): Add better error messages if a UUID=
228                 or LABEL= specification is given.
229
230         * mke2fs.c (main): We forcibly turn off the filetype feature if
231                 the OS is the hurd, since the hurd doesn't support it.
232                 (And since the hurd allows the transmogrification of files
233                 to special files and vice versa --- for no good reason
234                 that I can understand --- it can't support the filetype
235                 feature for the forseeable future, either.)
236
237         * mke2fs.c (proceed_question): Fix reversed sense of
238                 proceed_question that was busted due to the
239                 internationalization patch.  Fixed bug where if
240                 proceed_question was called twice, the input buffer wasn't
241                 cleared of the previous question's newline.
242         
243 Thu Apr  6 17:50:25 2000  Theodore Y. Ts'o  <tytso@signal.thunk.org>
244
245         * badblocks.c (flush_bufs): Use fsync() if the system doesn't
246                 support fdatasync().
247
248 2000-04-03  Theodore Ts'o  <tytso@valinux.com>
249
250         * badblocks.c, dumpe2fs.c, e2label.c, mke2fs.c, tune2fs.c,
251                 uuidgen.c: For platforms that don't define optarg.h,
252                 manually define optarg and optind.
253
254         * badblocks.8.in: Updated manual page with suggestions from David
255                 Beattie.
256
257         * badblocks.c (test_nd): Generalized cleanup and bug-fixes.   We
258                 now explicitly clear out the signal handlers to prevent a
259                 longjmp to a deactivated stack frame.  
260                 (test_rw): Fixed a signed vs. unsigned comparison error.
261
262         * badblocks.8.in, chattr.1.in, dumpe2fs.8.in, lsattr.1.in,
263                 mklost+found.8.in, tune2fs.8.in: Update Remy Card's e-mail
264                 address.  
265                 chattr.1.in: Update which attributes aren't supported.
266
267 2000-02-09  Theodore Ts'o  <tytso@valinux.com>
268
269         * chattr.1.in: 
270         * lsattr.1.in: Change "version" to "version/generation number".
271
272         * chattr.1.in: Fix stupid file vs filesystem typo.
273
274         * tune2fs.c Fix spelling error (spare vs sparse).
275
276         * mke2fs.c (PRS): Add safety check to make sure the number of
277                 blocks doesn't exceed 32 bits on a 64 bit machine.
278
279         * chattr.c: Random cleanup; file-only variables are now static.
280                 Options for setting/clearings flags put into order, and
281                 #ifdef's removed (since we now use a built-in header
282                 file).  Add error message if user tries to set and reset
283                 the same flag.
284
285         * lsattr.c: Random cleanup; file-only variables are now static.
286                 The -l "long" listing has been changed to look nicer.
287                 Options names have been renamed to be more descriptive.
288         
289 2000-02-06  Theodore Ts'o  <tytso@valinux.com>
290
291         * badblocks.c, chattr.c, dumpe2fs.c, e2label.c, findsuper.c,
292                 fsck.c, get_device_by_label.c, lsattr.c, mke2fs.c, 
293                 mklost+found.c, nls-enable.h, partinfo.c, tune2fs.c,
294                 uuidgen.c: Add Internationalization support as 
295                 suggested by Marco d'Itri <md@linux.it>.
296
297         * badblocks.c: Fix non-destructive read/write patches from David
298                 Beattie.  Non-standard variable-length automatic arrays
299                 removed.  Non-destrutive write test fixed so that logic is
300                 clearer and more provably correct.  (I believe the old
301                 code had a bug where the disk data wasn't restored if it
302                 was interrupted at the wrong time.)
303
304         * badblocks.8.in: Document new options in man page.
305
306 2000-02-02  Theodore Ts'o  <tytso@valinux.com>
307
308         * fsck.c (interpret_device): If there was an attempt to interpret
309                 a device specification of the type "UUID=" or "LABEL=",
310                 and it fails, check to see if /proc/partitions is
311                 readable.  If not, print a warning message about /proc
312                 perhaps not being mounted, and exit.
313
314         * mke2fs.c (check_plausibility): Remove unneeded #include of
315                 linux/fs.h.  Add #define of MAJOR if necessary.
316
317         * partinfo.c: Remove unneeded #include of linux/fs.h
318
319 2000-01-19  Theodore Ts'o  <tytso@valinux.com>
320
321         * tune2fs.c (usage): Update the usage message to correctly
322                 document the -s option.
323
324 2000-01-18  Theodore Ts'o  <tytso@valinux.com>
325
326         * badblocks.c: Folded in patches David Beattie <dbeattie@usa.net>.
327                 Need to do cleanup before release: use of GCC extensions
328                 (dynamic arrays); unclean coding tricks (use of || instead
329                 of if statements, etc.).  Comments from David Beattie:
330
331                 "I added non-destructive write-testing, and quite a few
332                 other features.  The non-destructive write testing,
333                 triggered by new "-n" command-line option, will write test
334                 patterns to the disk, but only after reading data off the
335                 disk into memory.  Then, comparing the test patterns gives
336                 a result as to whether or not those sectors are reliable.
337                 Finally, the original data is written back.
338
339                 To streamline this operation, I added another option, "-c
340                 blocks_at_once", which will give the number of disk blocks
341                 to process at one time (mnemonic--"count").  I made this
342                 default to 16 (as in the read-only testing mode), and also
343                 affect the read-only testing mode.  Of course, read-only
344                 mode needs (count * block_size) amount of memory, and
345                 non-destructive read-write needs 3 times that much, so it
346                 makes sense to do the calculations and not overrun
347                 available RAM...I would have liked to implement and
348                 auto-memory-usage heuristic, but I have no idea if it's
349                 even possible to determine the amount of free memory on a
350                 Unix system except by reading /proc entries, and that
351                 didn't seem portable.  I did NOT make this blocks_at_once
352                 affect the behavior of the test_rw routine, as it is
353                 processing the whole disk at once, anyway.
354
355                 I *think* that I got higher detection rates on my hard
356                 drive using random test data than patterned test data, so
357                 my non-destructive mode initializes its test data buffer
358                 randomly.
359
360                 I fixed a typo in flush_bufs that caused the ioctl
361                 BLKFLSBUF to never get compiled into the program.
362
363                 Also, I added an "undocumented" (I didn't put it into the
364                 usage message; you can if you think it's useful) "-h"
365                 option to specify the host device to flush--useful if you
366                 want to test out my "non-destructive" code on something
367                 other than a hard drive, such as a file on a hard drive,
368                 and want the host hard drive to flush.
369
370                 I provided support for an "input" file (via option "-i",
371                 similar to the "-o" option)...containing a list of
372                 already-known bad blocks; it will skip testing those
373                 blocks, thus adding speed to the bad block scan (on my
374                 computer, hitting a physically bad block causes a
375                 half-second-or-more freeze as the kernel waits for the
376                 hard drive to give up and reset itself; pretty annoying
377                 when you already know the block is bad from a previous
378                 scan).
379         
380                 Finally, the real killer, the persistent re-scan (option:
381                 "-p num_passes") that I created will, if desired,
382                 persistently re-scan the drive until it has completed a
383                 user-decidable number of passes in a row during which no 
384                 new bad blocks are found.  On my drive, I would see
385                 behavior that a certain percentage of bad blocks would be
386                 found with each pass (it was not reliable in the defective
387                 areas!), so I wanted it to check it over and over again
388                 until it didn't find any more, several times.  Perhaps
389                 this will be useful to others.  Defaults of course to
390                 zero, meaning it will stop after the first pass.  I used
391                 "-p 2" on my drive, and it ran for 2 1/2 days...then used
392                 "-p 3" a couple days later and it ran for a few more
393                 hours, and since then the rest of my drive has been
394                 completely reliable.
395
396                 Implementation of these last two features, "-i" and "-p",
397                 I did using a bb_list from libext2fs.  I debated whether
398                 bad blocks input through "-i" should be output into the
399                 "-o" file (or stdout, of course), and decided against it,
400                 but left the code to do so in place, commented out, just
401                 for your information.
402
403                 In order to maintain data integrity upon interruption of a
404                 non-destructive-write test, I created a signal handler
405                 which I install which will write back whatever original
406                 disk data is in the buffers upon any of the fatal signals
407                 (except SIGKILL, of course).
408
409                 Of course, ideally, the new options would be reflected in
410                 the badblocks manual page, but I am not experienced at
411                 manual page modification; if you decide my patch to
412                 badblocks should be incorporated into the distribution, I
413                 could learn how to update the manpage and other
414                 documentation, or you could do it for me after exercising
415                 your opinions, if you have any, on exactly what the
416                 command-line parameters should be called and which ones
417                 should be in the distribution."
418
419 2000-01-07  Theodore Ts'o  <tytso@valinux.com>
420
421         * Really fix the bug where "fsck -As" will actually allow
422                 interactive fsck's.  (For those people who like to do
423                 interactive fsck's in the /etc/rc scripts!?!)
424
425 1999-11-23    <tytso@valinux.com>
426
427         * tune2fs.8.in: Fix man page so that the sparse_super filesystem
428                 option is properly named.
429
430 1999-11-22    <tytso@valinux.com>
431
432         * mke2fs.c: Change log2() and log10() to int_log2() and
433                 int_log10() to avoid namespace collisions.  Change #ifdef
434                 sparc to #ifdef __sparc__.
435
436 1999-11-19    <tytso@valinux.com>
437
438         * Makefile.in (distclean): Remove TAGS and Makefile.in.old from
439                 the source directory.
440
441 1999-11-10    <tytso@valinux.com>
442
443         * Release of E2fsprogs 1.18
444
445 1999-11-10    <tytso@valinux.com>
446
447         * mke2fs.8.in: Update manual page so that the sparse_option
448                 filesystem option is properly named.
449
450 1999-11-04    <tytso@valinux.com>
451
452         * fsck.c (main): Move setting of the interactive flag to before
453                 the call to check_all(), so that people who try to use
454                 fsck -As can do so interactively.
455
456 1999-10-26    <tytso@valinux.com>
457
458         * Release of E2fsprogs 1.17
459
460 1999-10-26    <tytso@valinux.com>
461
462         * fsck.c (PRS, device_already_active): Add debugging hook; if the
463                 environment variable FSCK_FORCE_ALL_PARALLEL is set, then
464                 force all fsck runs to happen in parallel.
465
466         * get_device_by_label.c (has_right_label): Fixed bug where code
467                 used a strncmp to compare a binary UUID value which may
468                 contain a NULL.  Fixed GCC warnings; added const to char *
469                 typed variables.  Eliminated non-portable use of u_char.
470
471         * mke2fs.c (PRS): Fix gcc warnings; add const to some char *
472                 variables, including in struct mke2fs_defaults.  
473                 (set_fs_defaults): Changed parameter name to avoid
474                 gcc warnings.
475
476         * fsck.c (wait_one): Fix gcc warnings; add #include for ctype.h,
477                 add const to char * variables, and use NOARGS to declare
478                 functions that take no arguments.  Also fix a memory leak
479                 in execute() where we weren't freeing argv[] after forking
480                 the child process.
481
482         * chattr.c: Add hack to compile in a definition for S_ISLNK so we
483                 can successfully compile even with warnings turned on.
484
485 1999-10-25    <tytso@valinux.com>
486
487         * mke2fs.c (show_stats): Capitalized Hurd to make the GNU types
488                 happy. 
489                 (PRS): Use __u64 instead of long long for portability
490                 reasons.   Also moved #include of sys/stat.h inside #ifdef
491                 HAVE_LINUX_MAJOR_H for portability reasons.
492
493         * fsck.c (execute): Fix really stupid bug in the linked list
494                 management which caused fsck in parallel mode to go into
495                 an infinite loop.
496
497 1999-10-22    <tytso@valinux.com>
498
499         * Release of E2fsprogs 1.16
500
501 1999-10-22    <tytso@valinux.com>
502
503         * tune2fs.c (main): Add a new option -O which allows the user to
504                 set and clear certain "safe" filsystem feature flags.
505                 Currently, the only ones which are supported for
506                 modification are sparse_superblock and filetype.
507
508         * mke2fs.c (PRS): Add new option -O which allows the user to
509                 request filesystems with specific filesystem options.  By
510                 default on 2.2 and later systems, create filesystems that
511                 have both file type information and sparse superblocks.
512
513 1999-10-21    <tytso@valinux.com>
514
515         * badblocks.8.in, chattr.1.in, dumpe2fs.8.in, e2label.8.in,
516           fsck.8.in, lsattr.1.in, mke2fs.8.in, mklost+found.8.in,
517           tune2fs.8.in, uuidgen.1.in: Update man page to use a more standard
518                 format (bold option flags and italicized variables), as
519                 suggested by Andreas Dilger (adilger@enel.ucalgary.ca)
520
521 1999-10-14    <tytso@valinux.com>
522
523         * tune2fs.c (main): Fix typo (double spaces) in messages regarding
524                 changing the sparse superblock option
525
526         * fsck.c (wait_one): If the fsck process just started, wait a
527                 second before sending a SIGUSR1, to give it a chance
528                 to set the signal handler; otherwise, fsck will die on an
529                 unhandled SIGUSR1.
530
531 1999-09-15    <tytso@valinux.com>
532
533         * mke2fs.c (show_stats): Fix display bug when printing out the
534                 number of superblocks.  Suggested by Yann Dirson.
535
536 1999-09-08    <tytso@valinux.com>
537
538         * partinfo.c: Fix minor compilation bugs pointed out by Yann
539                 Dirson.
540
541         * mke2fs.c: Don't turn on sparse superblocks by default on pre-2.2
542                 kernels. 
543
544         * mke2fs.8.in: Add the possible valid block sizes for mke2fs.
545                 Document the -n flag, and the new defaults for the -s
546                 flag.
547
548         * dumpe2fs.c, dumpe2fs.8.in: Add new options -f (force) and -h
549                 (header-only).
550
551 1999-08-13    <tytso@valinux.com>
552
553         * mke2fs.c (PRS): Fix logic for turning on/off the sparse
554                 superblock option.
555
556 1999-07-18  Theodore Ts'o  <tytso@valinux.com>
557
558         * Release of E2fsprogs 1.15
559
560 1999-07-18    <tytso@rsts-11.mit.edu>
561
562         * mke2fs.c (PRS, set_fs_defaults): Add new option -T which allows
563                 the user to specify the how the filesystem is to be used.
564                 Mke2fs now chooses the filesystem parameters automatically
565                 based on the size of the filesystem and the intended use
566                 of the filesystem.  Add new option -n which simply goes
567                 through the calculations to determine the parameters of
568                 the filesystem the system would make.
569
570 1999-07-18    <tytso@valinux.com>
571
572         * fsck.c, fsck.h: Add support for new option -C.  This option will
573                 automatically manage e2fsck processes so that they will
574                 print completion/progress bars.  If multiple filesystems
575                 are being checked, arrange to make sure that only one
576                 e2fsck process is displaying a progress bar at a time.
577
578 1999-07-08    <tytso@valinux.com>
579
580         * badblocks.c (do_test): Don't complain if the write error occurs
581                 on a non-block boundary.  This is perfectly common when
582                 using blocksizes larger than 1k.
583
584 1999-07-03    <tytso@valinux.com>
585
586         * uuidgen.c: Add option parsing so that user can ask for either a
587                 time-based UUID or a random-based UUID.
588
589 1999-07-02    <tytso@valinux.com>
590
591         * fsck.c: Added support for LABEL= and UUID= specifications for
592                 the filesystem's device, to match what recent mount
593                 programs can support.  Also, close stdin when doing fsck
594                 -A or when checking more than one filesystem at a time, so
595                 that e2fsck doesn't try to ask interactive questions if
596                 the filesystem appears to be mounted.
597
598         * get_device_by_label.c: New file added to support LABEL=foo and
599                 UUID=bar type specifications.
600
601 1999-07-01    <tytso@valinux.com>
602
603         * badblocks.c:  Make the "done" string include enough spaces to
604                 clear out a large block number.
605
606 1999-06-29    <tytso@valinux.com>
607
608         * mke2fs.c (check_mount): Allow a filesystem to be made even if it
609                 appears mounted if the force option is given.
610
611 1999-06-24    <tytso@valinux.com>
612
613         * mke2fs.8.in: Fix typo in man page which caused the badblocks
614                 command to not show up in the "SEE ALSO" section.
615
616 1999-05-02    <tytso@rsts-11.mit.edu>
617
618         * findsuper.c: Added documentation from aeb@cwi.nl; some minor
619                 code cleanups.
620
621 1999-05-20    <tytso@rsts-11.mit.edu>
622
623         * dumpe2fs.c, dumpe2fs.8.in: Added new command-line options which
624                 allow a filesystem expert to specify the superblock and
625                 blocksize when opening a filesystem.  This is mainly
626                 useful when examining the remains of a toasted filesystem.
627
628 1999-03-11  Andreas Dilger <adilger@enel.ucalgary.ca>
629
630         * uuidgen.c, uuidgen.1.in: Created command-line utility to
631                 generate UUIDs.
632
633 1999-03-14  Theodore Ts'o  <tytso@rsts-11.mit.edu>
634
635         * fsck.c (fsck_device, execute): Don't dereference a null pointer
636                 when checking a filesystem not in /etc/fstab.
637
638 1999-02-09  Theodore Ts'o  <tytso@rsts-11.mit.edu>
639
640         * fsck.c (fsck_device): Print an error message if the user passes
641                 in a device or directory name which isn't found in /etc/fstab.
642                 Allow the location of /etc/fstab to be overridden by
643                 the FSTAB_FILE environment variable.
644
645 1999-01-30  Theodore Ts'o  <tytso@rsts-11.mit.edu>
646
647         * mke2fs.c (write_inode_tables): Add kludge code so that when the
648                 MKE2FS_SYNC environment variable is set, mke2fs will sync
649                 every MKE2FS_SYNC block groups, while it is writing out
650                 the inode tables.  This is to work around a VM bug in the
651                 2.0 kernel.  I've heard a report that a RAID user was able
652                 to trigger it even using a 2.2 kernel.
653
654 1999-01-16  Theodore Ts'o  <tytso@rsts-11.mit.edu>
655
656         * fsck.c (execute, wait_one): Modified routines so that they
657                 accurately create an fsck_instance even when the noexecute
658                 flag is set.  This allows for accurate debugging of the
659                 fsck pass structure.
660                 (check_all): When the verbose flag is given twice, print
661                 debugging information about when fsck is waiting for jobs
662                 to finish.
663
664 1999-01-09  Theodore Ts'o  <tytso@rsts-11.mit.edu>
665
666         * Release of E2fsprogs 1.14
667
668 1999-01-09  Theodore Ts'o  <tytso@rsts-11.mit.edu>
669
670         * fsck.8.in: Clarified and expanded the documentation for the -A
671                 switch.
672
673 1999-01-07  Theodore Ts'o  <tytso@rsts-11.mit.edu>
674
675         * fsck.c (load_fs_info): If the pass number field is missing, it
676                 needs to be treated as zero.
677
678 1999-01-05  Theodore Ts'o  <tytso@rsts-11.mit.edu>
679
680         * mke2fs.c (PRS): Allow the user to specify exactly how many
681                 inodes he/she wishes.
682
683         * chattr.c, lsattr.c: Only print the version information for the
684                 program if the -V option is given.
685
686         * chattr.c: Ignore symbolic links when doing a recursive descent
687                 through a directory.
688
689 1999-01-01  Theodore Ts'o  <tytso@rsts-11.mit.edu>
690
691         * fsck.c (load_fs_info, parse_fstab_line): Ignore fstab lines
692                 are commented out.  Also allow blank lines in the
693                 /etc/fstab file.
694                 (execute): In verbose mode, print the mountpount of the
695                 filesystem which we are checking (user request).
696
697 1998-12-30  Theodore Ts'o  <tytso@rsts-11.mit.edu>
698
699         * mke2fs.c: Add definition of SCSI_BLK_MAJOR if not defined, for
700                 compatibility with Linux 1.2.13 header files.
701
702 1998-12-15  Theodore Ts'o  <tytso@rsts-11.mit.edu>
703
704         * Release of E2fsprogs 1.13
705
706 1998-12-07  Theodore Ts'o  <tytso@rsts-11.mit.edu>
707
708         * mke2fs.8.in: Fixed stupid typo ("Raid options are _comma_
709                 seperated", instead of common separated)
710
711 1998-12-03  Theodore Ts'o  <tytso@rsts-11.mit.edu>
712
713         * Makefile.in: Updated dependencies.
714
715 1998-11-27  Theodore Ts'o  <tytso@rsts-11.mit.edu>
716
717         * fsck.c (load_fs_info): Parse /etc/fstab ourselves, instead of
718                 relying on getmntent().  This has the advantage of
719                 allowing us to properly handle missing pass numbers correctly.
720
721 1998-11-13  Theodore Ts'o  <tytso@rsts-11.mit.edu>
722
723         * tune2fs.8.in: Fix minor display bug in the nroff.
724
725         * mke2fs.c (show_stats, write_inode_tables): Use the log10
726                 function to calculate the display of block numbers so that
727                 things look nice on an 80 character display.
728
729 1998-10-12  Theodore Ts'o  <tytso@rsts-11.mit.edu>
730
731         * mke2fs.c (usage): Add the sparse-super-flag to the usage
732                 message. 
733
734 1998-07-09  Theodore Ts'o  <tytso@rsts-11.mit.edu>
735
736         * Release of E2fsprogs 1.12
737
738 1998-07-04  Theodore Ts'o  <tytso@rsts-11.mit.edu>
739
740         * findsuper.c (main): Print the block group number which is now
741                 being written by e2fsprogs.
742
743 1998-06-25  Theodore Ts'o  <tytso@rsts-11.mit.edu>
744
745         * fsck.c (ignore): Remove unused variable cp.
746
747         * chattr.c (fatal_error): 
748         * tune2fs.c (usage): 
749         * lsattr.c (usage): 
750         * dumpe2fs.c (usage): 
751         * badblocks.c (usage): Remove volatile from declaration.
752
753         * fsck.c: Change use of strdup to be string_copy, since we don't
754                 trust what glibc is doing with strdup.  (Whatever it is,
755                 it isn't pretty.)
756
757 1998-06-19  Theodore Ts'o  <tytso@rsts-11.mit.edu>
758
759         * mke2fs.c (PRS): Add a -V option which prints the version number
760                 and exit.
761
762 1998-05-14  Theodore Ts'o  <tytso@rsts-11.mit.edu>
763
764         * fsck.c (ignore): Remove check for filesystems with the noauto 
765                 option.
766
767 1998-03-30  Theodore Ts'o  <tytso@rsts-11.mit.edu>
768
769         * Makefile.in: Change to use new installation directory variables
770                 convention.  Fix uninstall rules to take $(DESTDIR) into
771                 account.  Remove cat8dir and cat1dir from the installdirs
772                 target, since modern man package don't necessarily put the
773                 cat directory in /usr/man/cat?.
774
775 1998-03-29  Theodore Ts'o  <tytso@rsts-11.mit.edu>
776
777         * e2label.8.in: New man page to document the e2label function.
778
779         * e2label.c: Fix -Wall warning by making functions static.
780
781 1998-03-28  Theodore Ts'o  <tytso@rsts-11.mit.edu>
782
783         * chattr.1.in: Document that the append-only attribute may
784                 only be set or cleared by the superuser.
785
786         * Update all manual pages to that the availability section is
787                 up-to-date. 
788
789         * e2label.8.in, tune2fs.8.in: Update manual page to state that
790                 labels must be no longer than 16 characters, or they will
791                 be truncated.
792
793         * e2label.c (change_label), tune2fs.c (main): If the label is
794                 longer than 16 characters, print a warning message stating
795                 that the label will be truncated.
796
797         * mke2fs.c (PRS): If the user specifies a filesystem size, and
798                 it's larger than the apparent size of the device, print a
799                 warning message and ask if the user wants to proceed.
800
801 1998-03-21  Theodore Ts'o  <tytso@rsts-11.mit.edu>
802
803         * mke2fs.c (check_plausibility): Fixed spelling typo in warning
804                 message.  Fixed up -Wall warnings in file.
805
806 Sun Mar  8 22:21:48 1998  Theodore Ts'o  <tytso@rsts-11.mit.edu>
807
808         * partinfo.c (main): The ioctl BLKGETSIZE requires a long, not an
809                 int. 
810
811 Sun Feb  1 16:53:36 1998  Theodore Ts'o  <tytso@rsts-11.mit.edu>
812
813         * badblocks.8: Update documentation to note that output format
814                 of badblocks is suitable for use with e2fsck -l or
815                 mke2fs -l.
816
817         * mke2fs.c (handle_bad_blocks): Fix bug so that all groups with
818                 bad superblock backup blocks are printed (not just the
819                 first one).
820
821 Mon Dec  1 17:01:04 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
822
823         * badblocks.8.in: Add documentation for the -s option.
824
825 Fri Oct 24 23:37:52 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
826
827         * fsck.c: 
828         * chattr.c: Remove #include of getopt.h, since it's not needed.
829
830         * tune2fs.c (main): 
831         * lsattr.c (main): 
832         * badblocks.c (main): 
833         * dumpe2fs.c (main): 
834         * mke2fs.c (PRS): Make the variable which getopt returns into be
835                 an int, so that it won't lose on platforms where char is
836                 unsigned. 
837
838 Fri Oct  3 13:38:45 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
839
840         * mke2fs.c (parse_raid_opts): Make parse_raid_opts return a void,
841                 to fix a -Wall warning.
842
843 Mon Sep 15 22:07:12 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
844
845         * tune2fs.c (main): 
846         * mklost+found.c (main): 
847         * lsattr.c (main): 
848         * dumpe2fs.c (main): 
849         * chattr.c (main): 
850         * badblocks.c (main): Declare main to return an int, as required.
851                 Make sure main always ends with an exit(0).  (Some
852                 programs weren't doing this, and thus were returning a
853                 random exit value.)
854
855 Mon Jul 14 15:27:29 1997  Theodore Y. Ts'o  <tytso@mit.edu>
856
857         * e2label.c: New file contributed by Andries Brouwer which
858                 provides an easy-to-use interface to modify the filesystem
859                 label.
860         
861         * Makefile.in (SPROGS): Add Makefile support to build e2label
862
863 Tue Jun 17 01:33:20 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
864
865         * Release of E2fsprogs 1.11
866
867 Mon Jun 16 23:37:54 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
868
869         * mke2fs.c (show_stats): Adjust the number of columns printed when
870                 displaying the superblock backups to avoid running over 
871                 80 columns when making a really big disk.
872
873 Thu May  8 22:22:08 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
874
875         * badblocks.8.in, chattr.1.in, dumpe2fs.8.in, fsck.8.in, 
876                 mke2fs.8.in, tune2fs.8.in: Fix minor typos and grammer
877                 oops found by Bill Hawes (whawes@star.net).
878
879         * mke2fs.c (test_disk): Pass the blocksize to the bad blocks
880                 command so that all of the filesystem gets tested in the
881                 case where the blocksize 2048 or 4096.
882
883 Thu Apr 24 12:16:42 1997  Theodre Ts'o  <tytso@localhost.mit.edu>
884
885         * Release of E2fsprogs version 1.10
886
887 Thu Apr 24 09:52:47 1997  Theodre Ts'o  <tytso@localhost.mit.edu>
888
889         * mke2fs.c: Added new option -R, which specifies RAID options.
890                 Currently the only supported RAID option is "stride" which
891                 specifies the stripe width in RAID filesystem.  This is
892                 used to aid in the placement of the inode and block
893                 bitmaps.
894
895         * mke2fs.8.in, tune2fs.8.in: Added warnings that the sparse
896                 superblock option isn't yet supported by most kernels.
897
898 Wed Apr 23 22:42:51 1997  Theodre Ts'o  <tytso@localhost.mit.edu>
899
900         * mke2fs.c (PRS): Make the default filesystem revision be 0, not
901                 1.  (Since some people are still worried about 1.2.13
902                 compatibility).
903
904 Thu Apr 17 12:23:38 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
905
906         * Release of E2fsprogs version 1.09
907
908 Fri Apr 11 18:57:24 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
909
910         * chattr.1.in: Updated man page so that the 'A' attribute is
911                 specified everywhere.
912
913         * chattr.c (usage): Added usage message for the 'A' attribute.
914
915 Fri Apr 11 18:56:26 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
916
917         * Release of E2fsprogs version 1.08
918
919 Thu Apr 10 07:08:03 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
920
921         * dumpe2fs.c (list_desc): List the offsets of the inode and block
922                 bitmaps, and the inode table.  List the block boundaries
923                 for the groups.
924
925 Sat Apr  5 11:55:52 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
926
927         * tune2fs.c (main): Implement the -s flag allows the user to
928                 set and reset the sparse superblock flag.
929
930         * mke2fs.c (PRS): By default generate DYNAMIC revision
931                 filesystems.  The -s flag controls whether or not the
932                 sparse superblock flag is set.
933                 (PRS): Change to allow the user to specify the true
934                 maximum number of blocks per group to reflect the
935                 blocksize. 
936
937 Wed Mar 12 13:32:05 1997  Theodore Y. Ts'o  <tytso@mit.edu>
938
939         * Release of E2fsprogs version 1.07
940
941 Thu Mar  6 17:15:05 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
942
943         * mke2fs.c (create_root_dir): Set the root directory's i_uid and
944                 i_gid to be the real user and group id.
945
946 Tue Mar  4 10:14:33 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
947
948         * mke2fs.c (check_plausibility): Add more intelligent error
949                 messages when the device doesn't exist.
950
951 Sat Mar  1 10:43:32 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
952
953         * fsck.c (main): Fix bug where the PATH environment variable isn't
954                 set when it is unset.
955
956 Tue Jan 14 12:30:45 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
957
958         * mke2fs.c (write_inode_tables): Fixed bug in write_inode_tables
959                 where a loop variable was getting reused in a nested loop.
960                 This caused the inode table to not be correctly
961                 initialized.
962
963 Thu Jan  2 00:00:37 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
964
965         * lsattr.c, chattr.c: Include string.h, since we use memcpy().
966
967         * findsuper.c: Use time_t for ctime(), not __u32.
968
969 Sat Dec 28 23:39:18 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
970
971         * badblocks.c: Adapted -vv modifications from Rik Faith so that
972                 they frequently update the block number field.
973
974         * badblocks.8.in: Document the optional start-block parameter
975
976 Mon Oct 14 11:52:58 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
977
978         * mke2fs.c: Updated to use new ext2fs_allocate_tables() function.
979
980 Tue Oct  8 02:02:03 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
981
982         * Release of E2fsprogs version 1.06
983
984 Mon Oct  7 00:56:24 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
985
986         * chattr.1.in: Documented the 'A' (noatime) attribute.
987
988         * dumpe2fs.c (main): Change EXT2_SWAP to EXT2_FLAG_SWAP for
989                 consistency's sake.
990
991 Sun Sep 22 16:18:47 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
992
993         * chattr.c (decode_arg): Add support for the 'A' (noatime) flag.
994
995 Thu Sep 12 15:23:07 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
996
997         * Release of E2fsprogs version 1.05
998
999 Sat Sep  7 07:34:11 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1000
1001         * tune2fs.c (main): Add support for new option -C, which sets the 
1002                 current number of mounts.
1003                 (main): Allow the interval to be specified in seconds,
1004                 mostly for debugging.
1005
1006 Tue Aug 27 17:27:43 1996  Miles Bader  <miles@gnu.ai.mit.edu>
1007
1008         * Makefile.in (SMANPAGES): Use @FSCK_MAN@ instead of fsck.8.
1009         (SPROGS): Use @FSCK_PROG@ instead of fsck.
1010
1011 Thu Aug 22 00:51:44 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1012
1013         * mke2fs.c (zap_bootblock): Don't do zap_bootblock on a
1014                 sparc.
1015
1016 Tue Aug 20 00:15:46 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1017
1018         * chattr.c (main): Fixed bug so that chattr -v works.  (Bug report
1019                 and fix sent by Charles Howes, chowes@eznet.ca)
1020
1021 Fri Aug  9 11:52:42 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1022
1023         * tune2fs.8.in:
1024         * tune2fs.c: Added support for the -L option which sets the volume
1025                 label, the -M option which sets the last mounted
1026                 directory, and the -U option which sets the filesystem UUID.
1027
1028         * mke2fs.8.in:
1029         * mke2fs.c: Added support for the -o option, which overrides the
1030                 creator OS.  Generate a UUID for the filesystem, if
1031                 applicable.  Added support for the -L option which sets
1032                 the volume label, and the -M option which sets the last
1033                 mounted directory.
1034
1035 Sat Jun 22 17:43:17 1996  Remy Card  <card@bbj.linux.eu.org>
1036
1037         * chattr.c (decode_arg): Integrated Michael Nonweiler's fix to
1038                 avoid a segmentation fault when the "-v" option is used
1039                 and no version number is specified.
1040         
1041 Thu May 16 11:12:30 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1042
1043         * Release of E2fsprogs version 1.04
1044
1045 Wed May 15 21:15:43 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1046
1047         * Makefile.in (fsck): fsck doesn't need to be linked with the ext2
1048                 libraries.
1049
1050 Wed Mar 27 00:33:40 1996    <tytso@rsts-11.mit.edu>
1051
1052         * Release of E2fsprogs version 1.03
1053
1054 Thu Mar  7 03:43:20 1996    <tytso@rsts-11.mit.edu>
1055
1056         * mke2fs.c (PRS): Add (for development only) support to
1057                 specify revision and inode size of the new filesystem.
1058
1059 Tue Mar  5 03:51:35 1996    <tytso@rsts-11.mit.edu>
1060
1061         * mke2fs.8.in: Fix a few minor typo's in the man page.
1062
1063         * mke2fs.c (reserve_inodes): Add support for dynamic first inode
1064                 revision.
1065
1066 Mon Feb  5 22:19:49 1996    <tytso@rsts-11.mit.edu>
1067
1068         * fsck.c (check_all, PRS): Added new flag -P, which turns on the
1069                 parallel root option.  This allows you to check the root
1070                 filesystem in parallel with the other filesystems.  Note
1071                 that this is not the safest thing in the world to do,
1072                 since if the root filesystem is in doubt things like
1073                 the e2fsck executable might be corrupted!  But some
1074                 sysadmins, who don't want to repartition the root
1075                 filesystem to be small and compact, may really want this
1076                 option turned on.
1077
1078 Wed Jan 31 11:06:08 1996    <tytso@rsts-11.mit.edu>
1079
1080         * Release of E2fsprogs version 1.02
1081
1082 Tue Oct 30 21:14:12 1995    <tytso@rsts-11.mit.edu>
1083
1084         * mke2fs.c (check_plausibility): Add check to warn user if they
1085                 are trying to mke2fs the whole disk.  (/dev/hda
1086                 vs. /dev/hda1)
1087
1088 Fri Dec 15 19:09:56 1995    <tytso@rsts-11.mit.edu>
1089
1090         * fsck.c (check_all): If we break out of the loop because we are
1091                 serializing and have just started at fsck we haven't
1092                 finished the pass. We need to go round again in case there
1093                 are more filesystems to be done in this pass.  (Patch
1094                 submitted by Mike Jagdis)
1095
1096 Sat Dec  9 10:07:16 1995    <tytso@rsts-11.mit.edu>
1097
1098         * dumpe2fs.c (in_use): test_bit() was renamed to
1099                 ext2fs_test_bit().
1100
1101 Mon Oct 30 20:21:18 1995    <tytso@rsts-11.mit.edu>
1102
1103         * fsck.c (fsck_device): Check fstype instead of type; this was a
1104                 stupid typo which caused coredumps in some cases.
1105
1106 Thu Oct 26 12:05:18 1995    <tytso@rsts-11.mit.edu>
1107
1108         * Makefile.in (install): Strip programs when they are installed.
1109
1110 Fri Aug 18 15:10:40 1995  Theodore Y. Ts'o  <tytso@dcl>
1111
1112         * mke2fs.c (PRS): Move call of check_mount() from main() to PRS(),
1113                 so we do the check to see if the filesystem is mounted
1114                 *before* we try to determine the size of the device.
1115
1116 Wed Sep  6 23:34:07 1995  Remy Card  <card@bbj>
1117
1118         * fsck.c (load_fs_info): Load the informations from /etc/fstab in
1119                 the same order.
1120
1121 Thu Aug 17 22:33:09 1995    <tytso@rsts-11.mit.edu>
1122
1123         * mke2fs.c (check_mount): Use the new ext2fs_check_if_mounted()
1124                 function to determine if the device is mounted.
1125
1126         * mke2fs.c (PRS): Change call to use the new
1127                 ext2fs_get_device_size() function in order to determine
1128                 the size of the filesystem.  Remove get_size() and
1129                 is_valid_offset(), which are no longer called.
1130
1131 Fri Aug 11 08:26:24 1995  Theodore Y. Ts'o  <tytso@lurch.mit.edu>
1132
1133         * fsck.c (fsck_device): Make sure fstype has been set by the user
1134                 and that it does not begin with "no" and the user has
1135                 specified exactly one type before using it as the type to
1136                 check.
1137
1138 Fri Aug 11 14:17:18 1995  Remy Card  <card@bbj>
1139
1140         * badblocks.8:
1141         * chattr.1:
1142         * dumpe2fs.8:
1143         * fsck.8:
1144         * lsattr.1:
1145         * mke2fs.8:
1146         * mklost+found.8:
1147         * tune2fs.8: Updated date and version number.
1148
1149 Thu Aug 10 14:18:36 1995  Remy Card  <card@bbj>
1150
1151         * tune2fs.c: Fixed a bug which prevented the use of user and group
1152                 names with the -g and -u options.  Thanks to Jean Christophe
1153                 ANDRE <progfou@mycrob.cafard.freenix.fr>.
1154
1155         * mke2fs.8:
1156         * tune2fs.8: Fixed a spelling error in Ted's name :-)
1157
1158 Wed Aug  9 20:41:54 1995  Theodore Y. Ts'o  <tytso@dcl>
1159
1160         * mke2fs.c (count_blocks): Divide the size by
1161                 EXT2_BLOCK_SIZE(&param), instead of assuming that the
1162                 blocksize is always 1024 bytes.
1163
1164 Sat Aug  5 12:00:51 1995  Theodore Y. Ts'o  <tytso@lurch.mit.edu>
1165
1166         * mke2fs.c (PRS): Use malloc() instead of alloca() --- alloca() is
1167                 not portable!!  In any case putenv() in some systems must
1168                 take a static character array or malloc()'ed memory;
1169                 passing memory allocated using alloca() to putenv() is not
1170                 advisable.
1171
1172         * chattr.c (chattr_dir_proc): 
1173         * lsattr.c (lsattr_dir_proc): Use malloc() instead of alloca() ---
1174                 alloca is not portable!
1175
1176         * fsck.c (fsck_device): If the filesystem type is specified by the
1177                 user using the -t option, let it override the type in
1178                 /etc/fstab.
1179
1180         * fsck.c (strdup): Don't build strdup() if the system defines it.
1181
1182 Mon Jun 12 19:15:10 1995  Theodore Y. Ts'o  (tytso@dcl)
1183
1184         * chattr.c, lsattr.c: Include <sys/types.h> for <dirent.h>'s
1185                 benefit.
1186
1187         * The $(UPROGS) go in bin, not sbin.
1188
1189         * badblocks.c, chattr.c, dumpe2fs.c, fsck.c, lsattr.c, mke2fs.c,
1190                 tune2fs.c:  Don't include <getopt.h> if it doesn't exist.
1191
1192 Mon Jun 12 16:36:04 1995  Theodore Y. Ts'o  <tytso@dcl>
1193
1194         * badblocks.c, chattr.c, dumpe2fs.c, fsck.c, lsattr.c, mke2fs.c,
1195                 tune2fs.c: Only include getopt.h if HAVE_GETOPT_H is defined.
1196
1197 Sat Jun 10 23:37:09 1995  Theodore Y. Ts'o  <tytso@lurch.mit.edu>
1198
1199         * chattr.c: Include errno.h, since we use errno
1200
1201         * fsck.c (load_fs_info): If HAVE_MNTENT_H is not defined,
1202                 explicitly initialize filesys_info to be NULL.
1203
1204         * mke2fs.c: Include the stdio.h and errno.h header files
1205
1206 Thu Jun  8 13:25:23 1995  Miles Bader  <miles@churchy.gnu.ai.mit.edu>
1207
1208         * mke2fs.c: Only include <linux/fs.h> if we can.
1209         (get_size): Don't try to use the BLKGETSIZE ioctl unless it's defined.
1210         (check_mount): Only check to see if the device is mounted if
1211         HAVE_MNTENT_H is defined (by configure).
1212
1213         * fsck.c (load_fs_info): Only try to get info about filesystems if
1214         HAVE_MNTENT_H is defined (by configure).
1215         (main): Allocate space for a new fsck_path instead of append to a
1216         statically sized buffer.
1217         (PRS): Use alloca to allocate the new path string, instead of
1218         having a fixed size buffer (which was the wrong size anyway).
1219
1220         * chattr.c (chattr_dir_proc): Use alloca to allocate space for a
1221         filename instead of using a fixed-size buffer.
1222         * lsattr.c (lsattr_dir_proc): Ditto.
1223         * mklost+fond.c (main): Calculate the actual needed size for the
1224         path buffer instead of using MAXPATHLEN (which not all systems have).
1225
1226         * badblocks.c: Only include linux include files if we have them.
1227         (flush_bufs): New function to flush a block device, optionally
1228         syncing it first.  This replaces other copies of this code.
1229         (test_ro): Replace calls to ioctl with flush_bufs().
1230         (test_rw): Ditto.
1231
1232         * Makefile.in: Rewritten to conform to GNU coding standards and
1233         support separate compilation directories.
1234
1235 Sat Mar 11 10:59:58 1995  Theodore Y. Ts'o  <tytso@localhost>
1236
1237         * mke2fs.c (main, zap_bootblock): Added new function
1238                 zap_bootblock() which clears the first 512 bytes of the
1239                 filesystem.  This protects the filesystem from being
1240                 misidentified as a MS-DOS FAT filesystem.
1241
1242         * badblocks.c (alarm_intr, test_ro, test_rw): Increase the space
1243                 allocated for printing the block numbers, so that the
1244                 display doesn't get corrupted when running badblocks on a
1245                 very large partition.
1246
1247         * badblocks.c (do_test, test_ro, test_rw): Added missing cast to
1248                 ext2_loff_t, so that when checking a large device,
1249                 spurious seek errors aren't reported.
1250
1251         * mke2fs.c (count_blocks): Declare mid to be of type ext2_loff_t
1252                 instead of type int, so that it works for filesystems
1253                 greater than 2 GB.  (Fortunately count_blocks is only
1254                 called if the device does not support the BLKGETSIZE
1255                 ioctl, which most do.)
1256
1257         * fsck.c (ignore): Add check to ignore filesystems with a pass
1258                 number of zero.  (This check was accidentally deleted at
1259                 during 0.5b development.)
1260
1261 Sat Dec 31 00:47:16 1994    <tytso@rsx-11.mit.edu>
1262
1263         * mke2fs.c (new_table_block, alloc_tables, PRS, main): Add a new
1264                 option, -S, which only writes the superblock and group
1265                 descriptors.  Useful for recovering when all of the
1266                 superblocks are corrupted somehow (as a last ditch
1267                 measure).
1268
1269                 Also, don't bother initializing the bitmap blocks in
1270                 alloc_tables(), since they will be overwritten at the end
1271                 anyway.  (Should speed up mke2fs by a little.)
1272
1273 Tue Dec  6 02:20:55 1994    <tytso@rsx-11.mit.edu>
1274
1275         * fsck.c (main): Fix stupid typo where a null inst would be freed. 
1276
1277         * fsck.c (wait_one): Check WIFEXITED on status before trying to
1278                 extract the exit status.  In other cases, return
1279                 FSCK_ERROR if the back end processor exited with a signal.
1280
1281 Tue Nov 15 10:20:00 1994  Remy Card  <card@bbj>
1282
1283         * tune2fs.c (main): Fixed a bug which prevented the use of the
1284                 new options.
1285         Added the `w' (week) suffix recognition in the check interval.
1286
1287 Sun Nov 13 15:58:48 1994    (tytso@rsx-11)
1288
1289         * fsck.c (load_fs_info): If the user has an obviously old
1290                 /etc/fstab file, issue a warning message and assume that
1291                 all partitions should be checked.
1292
1293 Sat Nov 12 00:33:18 1994    (tytso@rsx-11)
1294
1295         * dumpe2fs.c (list_desc): Update to new inode and block bitmap
1296                 structures. 
1297
1298         * mke2fs.c (create_root_dir): Create the root directory owned by
1299                 the effective uid.
1300
1301 Mon Nov  7 22:04:37 1994  Remy Card  <card@bbj>
1302
1303         * tune2fs.c (main.c): Added support for new options:
1304         -r reserved_blocks_count, -g reserved_gid, -u reserved_uid.
1305
1306 Sun Aug 21 00:57:33 1994  Theodore Y. Ts'o  (tytso@rt-11)
1307
1308         * fsck.c (ignore): If the pass number is 0, ignore the filesystem.
1309
1310 Wed Aug 17 21:55:03 1994  Remy Card  (card@bbj)
1311
1312         * badblocks.c (test_rw): Added verbose output like in the
1313         read-only test.
1314
1315         (do_test and test_rw): Use the llseek system call if available.
1316
1317         * chattr.c: Added support for new attributes.
1318
1319         * lsattr.c: Added support for long format.
1320
1321         * mke2fs.c (usage): Fixed bogus usage message.
1322
1323         (valid_offset): Use the llseek system call if available.
1324
1325 Wed Aug 17 10:50:57 1994  Theodore Y. Ts'o  (tytso@rt-11)
1326
1327         * mke2fs.c (handle_bad_blocks): Check to see if a bad block is
1328         where a backup superblock/group descriptor is stored.  If so,
1329         print a warning message and adjust the superblock counts so that
1330         they are correct.  (Otherwise, the bad block will get counted
1331         twice and the # of free blocks count will be wrong.)
1332
1333         (alloc_tables): Removed code which calcualated the free block
1334         statistics, which was moved to lib/ext2fs/initialize.c.  This
1335         allows the bad block code to adjust the group descriptor
1336         statistics if necessary.