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