1 2001-05-13 Theodore Tso <tytso@valinux.com>
3 * mke2fs.c (PRS): Integrated changes from Andreas Dilger which
4 make the revision superblock field be set to the correct
5 value depending on if superblock features are set.
7 2001-05-12 Theodore Tso <tytso@valinux.com>
9 * fsck.c (PRS): fsck -? now prints the usage message.
11 * badblocks.8.in, dumpe2fs.8.in, e2label.8.in, mke2fs.8.in,
12 mklost+found.8.in, tune2fs.8.in: Fix typo; removed
13 excess "anonymous" in the AVAILABILITY section.
15 * chattr.1.in, lsattr.1.in, uuidgen.1.in: Update URL location of
18 2001-05-07 Theodore Tso <tytso@valinux.com>
20 * util.c: Use specific check for HAVE_SYS_STAT_H.
22 2001-05-05 Theodore Tso <tytso@valinux.com>
24 * fsck.8.in: Add explicit language to describe how options get
25 passed to filesystem-specific checkers.
27 * badblocks.8.in: Fixed man page to describe the first optional
28 parameter to badblocks as last_block, instead of
29 num_blocks. (Debian bug #87216)
31 * badblocks.c: Change the blocks_count variable to be last_count,
32 which is a more accurate description of the variable.
34 2001-05-03 Theodore Tso <tytso@valinux.com>
36 * e2image.8.in: New manual page
38 * badblocks.8.in, e2label.8.in, mke2fs.8.in mklost+found.8.in,
39 tune2fs.8.in: Update location of e2fsprogs to be
40 http://e2fsprogs.sourceforge.net.
42 * dumpe2fs.c (main): Add new flag, -i, which will allow dumpe2fs
43 to dump out the filesystem statistics from an ext2 image
46 * e2image.c (main): Fix format of e2image to be easier to be parse
49 2001-05-01 Theodore Tso <tytso@valinux.com>
51 * fsck.c (device_already_active): If we're not able to determine
52 the base device, we should assume that the device is
53 already active in order to force serialization.
55 2001-04-26 Theodore Tso <tytso@valinux.com>
57 * tune2fs.c (parse_tune2fs_options): Interpret -c 0 as -c -1 (for
58 backwards compatibility with older kernels). -c 0 makes
61 2001-04-22 Theodore Tso <tytso@valinux.com>
63 * tune2fs.c (remove_journal_device): If the force flag is given,
64 tune2fs will remove the journal device information from
65 the superblock even if tune2fs failed to open the journal
66 device or otherwise other failed to remove the filesystem
68 (parse_tune2fs_options): Fix -j option so that it works
69 (it was missing the open_flag being set to EXT2_FLAG_RW).
70 (main): Accept "-U clear" to set a null UID.
72 2001-04-21 Theodore Tso <tytso@valinux.com>
74 * mke2fs.8.in: Manual page cleanups. Temporarily comment out the
75 documentation for the extern journal device support.
77 * mke2fs.c (usage): Remove the deprecated -s option from the usage
80 2001-04-16 Theodore Tso <tytso@valinux.com>
82 * mke2fs.c (main): Add better explanation about when the
83 filesystem will be checked after it is created.
85 * util.c (parse_journal_opts): Remove code which allowed a bare
86 number to be treated as a journal size.
88 * mke2fs.c, tune2fs.c: Add newlines to error messages so that they
91 * mke2fs.c (create_journal_dev): Call
92 ext2fs_create_journal_superblock() first, so if it's going
93 to error out, the user finds out before waiting for the
94 entire device to get zero'ed.
96 2001-03-26 Theodore Tso <tytso@valinux.com>
98 * mke2fs.8.in, tune2fs.8.in: Change man paegs to document that the
99 journal must be bewteen 1024 and 10,240 file system
102 * mke2fs.c, tune2fs.c: Change to use figure_journal_size()
104 * util.c, util.h (figure_journal_size): Change
105 journal_default_size into routine which also converts the
106 requested journal size into filesystem blocks and does
107 bounds checking to make sure the journal is sized
108 reasonably. Renamed function to journal_default_size.
109 (parse_journal_opts): Remove bounds check for the journal
110 size, since this is now done in figure_journal_size, and
111 based on the number of filesystem blocks, as opposed to
112 using the absolute size of the journal.
114 2001-02-17 Theodore Tso <tytso@valinux.com>
116 * mke2fs.c (main): Flush out the "creating journal" message.
117 Also handle the case where the default journal size
118 returns zero blocks == no journal. Print out how often
119 the filesystem will be checked.
121 2001-02-08 Theodore Tso <tytso@valinux.com>
123 * e2image.c (main): Add code to write the e2image header.
125 2001-02-07 Theodore Tso <tytso@valinux.com>
127 * tune2fs.8.in: Update man page to reflect that 2.0.39 supports
130 * dumpe2fs.c (list_desc): Fix fencepost error when calculating the
131 range of inode table blocks. Add '0x' to values printed
134 * chattr.c, lsattr.c: Define the _LARGEFILE64_SOURCE to force the
135 use of the LFS so that lstat will work on large files.
137 2001-01-17 Theodore Ts'o <tytso@valinux.com>
139 * tune2fs.c, mke2fs.c, tune2fs.8.in, mke2fs.8.in: Change user
140 interface so that -J is used to specify journal options,
141 and -j is used to request creation of a journal using
142 default values. (This is a UI change, but we haven't done
143 a formal release, and it makes things much more consistent
144 with the rest of the options out there.)
146 * tune2fs.c: Add support for removing a filesystem from an
147 external journal; we correctly remove the filesystem UUID
148 from the external journal's filesystem list.
150 * util.h, util.c (journal_default_size): New function from Andreas
151 Dilger to calculate an appropriate default journal size
152 given a filesystem size.
154 * util.c (parse_journal_opts): Allow the creation of a journal as
157 * dumpe2fs.c (print_journal_information): Use s_first_data_block
158 to find the correct block to read the journal superblock.
160 2001-01-15 Theodore Ts'o <tytso@valinux.com>
162 * tune2fs.c: Changed the external journal code so that it simply
163 adds a filesystem to a journal; the journal must have bene
164 created via "mke2fs -O journal_dev /dev/XXX".
166 * mke2fs.c: Add support for creating an external journal device by
167 using the command "mke2fs -O journal_dev /dev/XXX". Also
168 changed the external journal code so -j device=/dev/XXX it
169 simply adds a filesystem to that journal; the journal must
170 have been created via separate step.
172 * dumpe2fs.c (print_journal_information): Add support for dumping
173 information about an external journal device.
175 2001-01-14 Theodore Ts'o <tytso@valinux.com>
177 * mke2fs.c: Add new filesystem types, largefile and largefile4,
178 for those filesystems whose average inode size is 1MB and
179 4MB, respectively. Allow the inode ratio specified to be
180 has high as 4MB. Make the s_max_mount_count vary between
181 20 and 40, to avoid needing to check all of the
182 filesystems at the same time. Add some random jitter to
183 the s_max_mount_count value so that we avoid checking all
184 of the filesystems at the same time when we reboot.
186 * tune2fs.8.in: Add description of the -j option.
188 * tune2fs.c (add_journal): Minor fixes from Andreas Dilger. Flush
189 stdout after printing in-progress message.
190 (main): Exit with status code 1 if we failed to determine
191 the mount status of the device.
193 2001-01-11 <tytso@snap.thunk.org>
195 * e2image.c, mke2fs.c, mklost+found.c, tune2fs.c, util.c,
196 uuidgen.c: Fix gcc -Wall complaints, including one bug in
197 tune2fs caused by a block automatic shadowing version of
198 the variable we really wanted to use, which broke the
199 logic testing to see if the filesystem was mounted.
201 * badblocks.c (flush_bufs): Use ext2fs_sync_device() to sync and
204 * mke2fs.c: Change ino_t to ext2_ino_t.
206 2001-01-08 <tytso@snap.thunk.org>
208 * Makefile.in, tune2fs.c: Move e2label functionality into tune2fs,
209 using argv[0] as a dispatch. This allows e2label to be
210 (more) safely used on mounted filesystems.
212 2001-01-05 <tytso@snap.thunk.org>
214 * get_device_by_label.h (get_volume_label_by_spec): Add function
217 * get_device_by_label.c: Use string_copy() instead of strdup() for
218 portability's sake. Fix a few other gcc -Wall
221 * fsck.c (string_copy): Export string_copy() extern.
223 * badblocks.c: Fix various gcc -Wall complaints, including
224 an incorrect reference to sync in flush_bufs().
226 2001-01-03 <tytso@snap.thunk.org>
228 * tune2fs.c (update_feature_set, add_journal): Moved to separate
229 functions. Added ability to add and remove the journal
230 while the filesystem is live. Added support for setting
231 a time-based UUID. Removed zero-initialized static variables.
233 * mke2fs.c, util.c, util.h (strcasecmp, proceed_question,
234 check_plausibility, parse_journal_opts, check_mount):
235 Moved functions to util.c so they can be used by tune2fs.
237 * mke2fs.c (main): Change ext2fs_add_journal_fs() to
238 ext2fs_add_journal_inode() to reflect function renaming.
240 2001-01-01 <tytso@snap.thunk.org>
242 * mke2fs.c, e2image.c: Removed references to struct ext2fs_sb to
243 struct ext2_super_block.
245 * tune2fs.c (main): Add support to allow HAS_JOURNAL flag to be
246 cleared, but only if the filesystem is unmounted or
247 mounted read-only. Changed struct ext2fs_sb to struct
248 ext2_super_block, and cleaned up old code which was needed
249 for old versions of ext2_fs.h (not needed since we're
250 using our own version now).
252 2000-12-31 <tytso@snap.thunk.org>
254 * fsck.c (check_all): Call interpet_device to resolve LABEL= and
255 UUID= right away so that the device_already_active() logic
256 can do the right thing. Also cleaned up the the root
257 filesystem logic checking code; fixed up a logic bug with
258 the parallel_root option.
260 * lsattr.1.in: Add pointer to chattr man page for definition of
263 * lsattr.c (list_attributes): Minor cleanup to smooth out logic
264 flow. Also removed static initialized variables to zero.
266 * chattr.c (decode_arg, get_flag): Use a table-driven method for
267 decoding the ext2 file flags character options. Add
268 support for the journaled data flag.
270 * chattr.1.in: Document the -j/+j/=j flag.
272 2000-12-30 <tytso@snap.thunk.org>
274 * mke2fs.8.in: Minor clarity edit.
276 * mke2fs.c (usage): Document the -j option.
277 (main): Print the number blocks used in the journal.
279 2000-12-28 <tytso@snap.thunk.org>
281 * base_device.c (base_device): Add support for DAC960 device
284 * fsck.c (device_already_active): Handle the case where
285 base_device doesn't know how to interpret the device name,
286 instead of core dumping.
288 2000-12-09 <tytso@snap.thunk.org>
290 * mke2fs.c (main, parse_journal_opts): Add support for creating V1
291 superblocks. We now pass in a journal_flags field to the
292 journal creation routines for this purpose.
294 * mke2fs.c: Remove zero initializers to save a few bytes from the
295 executable image. (Are we excited yet?)
297 * findsuper.c: And non-subtle copyright licensing restriction to
298 get Yann to remove this program from the Debian package. :-)
300 2000-12-03 <tytso@snap.thunk.org>
302 * fsck.c (device_already_active): Change to use new version of
303 base_device() which now returns dynamically allocated
306 * base_device.c (base_device): New version moved from fsck.c which
307 now understands ugly devfs names. (Debian bug #65181)
309 * base_device.tst: Test case for base_device.c
311 2000-12-02 <tytso@snap.thunk.org>
313 * fsck.8.in: Add clarification that filesystems with a fs_passno
314 of 0 are skipped with the -A option. (Debian wishlist/bug
317 * fsck.c (wait_one): When we let a new fsck take control of the
318 console to display the progress bar, set FLAG_PROGRESS to
319 so that fsck knows not to start new processes during an
320 fsck pass with the progress bar. (Should fix debian bug
323 * tune2fs.8.in: Add clarifying statement about converting user and
324 group names to uid's before storing them in the
325 superblock. (Debian bug #67446)
327 2000-11-16 Theodore Ts'o <tytso@valinux.com>
329 * mke2fs.c(main): Expand the -j option so that it parses
330 option=argument style options, and add support for
331 creating filesystems with external journals.
333 * mke2fs.8.in: Document new syntax for the -j option.
335 2000-11-05 <tytso@snap.thunk.org>
337 * e2image.c, Makefile.in: New program which saves ext2 metadata to
338 a file for people who need a last-ditch saving throw.
340 2000-10-24 <tytso@snap.thunk.org>
342 * mke2fs.c (PRS): Applied Andreas Dilger's patch to make the -r -s
343 handling a bit more sane. (Even though -s is deprecated
346 * get_device_by_label.c: Apply fix from Erik Troan to support 16
349 * fsck.c (device_already_active): Add a special case check for MD
350 devices, so we don't try to check them in parallel with
353 * mke2fs.c (PRS, main), mke2fs.8.in: Add support for the -j
354 option, which builds an ext2/3 filesystem with an ext3
357 2000-10-24 <tytso@valinux.com>
359 * mke2fs.c (zap_sector): Fix really stupid typo which gcc 2.95
362 2000-09-12 <tytso@valinux.com>
364 * fsck.c: Add base device definitions for hd[e-h], for those
365 systems with four IDE interfaces.
367 2000-09-11 <tytso@valinux.com>
369 * mke2fs.c (zap_sector): Fix error message printed when zap_sector
372 * dumpe2fs.c (list_desc): Fixed format string bug when printing
373 the inode table location in non-hex format.
375 2000-08-20 <tytso@valinux.com>
377 * get_device_by_label.c: Add call to ext2fs_find_block_device if
378 we can't find the device using the name given by
379 /proc/partitions. (This can happen if devfs is compiled
380 into the kernel, but not mounted.)
382 2000-06-27 Andreas Dilger <adilger@turbolabs.com>
384 * dumpe2fs.c (usage): add fhx options to usage message, add -x option
385 to print out the per-group block numbers in hex, add line for
386 location of primary/backup superblock and group descriptors
388 * mke2fs.c: rename max to group_blk_max avoid potential macro conflict
390 2000-08-14 <tytso@valinux.com>
392 * mke2fs.c (zap_sector): Change zap_bootsect to more general
394 (main): Clear the superblock when starting mke2fs, to
395 avoid leaving the filesystem in an inconsistent state.
397 2000-07-26 <tytso@valinux.com>
399 * get_device_by_label.c: Improve /proc/partitions parsing in
400 fsck, and speed up fsck -a.
402 2000-07-13 <tytso@valinux.com>
404 * Release of E2fsprogs 1.19
406 2000-07-13 <tytso@snap.thunk.org>
408 * badblocks.8.in: Added text explaining that the -n and -w options
409 are mutually exclusive.
411 * badblocks.c (usage): Fix usage message to make it clear that the
412 block count must be specified if the starting block is to
413 be specified. (The starting block should be a option, in
416 * badblocks.c (test_nd): Save and restore the currently_testing
417 variable before going into the write verification loop.
418 This avoids a loop termination problem if the last block
419 on the disk is bad. Also, turn off the SIGALRM signal
420 while restoring blocks after the user types ^C. The
421 num_saved variable is now static so that it won't get
422 clobbered by a longjmp. buf_used and bb_count are no
423 longer static, since they aren't used by the cleanup
426 * badblocks.c (main): Removed an unsued varaible (buf_size).
427 Fixed bad getopt argument that didn't allow the 'b' option
428 to take an argument. Added error checking when parsing
429 the starting block number. Fixed lint warning in fscanf
432 2000-07-06 Theodore Ts'o <tytso@valinux.com>
434 * fsck.c (execute, wait_one): Treat fsck.ext3 the same as
435 fsck.ext2 (because they are the same) for the purposes of
436 the progress bar display logic.
438 * tune2fs.8.in: Update manual page to document what happens if
439 max_mount_count is negative.
441 * tune2fs.c (main): Allow setting the maximal count value to be
442 negative, since the kernel interprets that as forcing a
445 * fsck.c (lookup, load_fs_info, check_all): Use lazy evaluation
446 for calling interpret_device(), since this requires root
447 privileges if the partitions need to be scanned.
448 Otherwise, it's not possible to do non-proot fsck's for
449 removeable devices such as floppies if there are any
450 LABEL= or UUID= entries in /etc/fstab.
452 * badblocks.c (check_mount, main): Check to see if the filesystem
453 is mounted before doing a read/write or non-destructive
454 test. This can be overriden using the new -f option.
456 * badblocks.8.in: Update manual page to reflect that the
457 blocks-count parameter is now optional. Also properly
458 document the start-block parameter. Added documentation
461 * badblocks.c (main): Allow the blocks-count parameter to be
462 optional. If it's not specified, use the size of the
465 2000-07-05 Theodore Ts'o <tytso@valinux.com>
467 * badblocks.c (test_nd): Significantly simplify the logic so that
468 it's more obviously what's going on. Fixed a few
469 potential cases which weren't handled correctly in the
470 old, overly complicated logic.
471 (flush_bufs): Now doesn't take a second argument, and
472 always forces a sync; this is required before it's really
473 safe to call BLKFLSBUF, at least for some kernels.
475 2000-05-29 Theodore Ts'o <tytso@valinux.com>
477 * mke2fs.c (PRS): Add a much more specific error message if the
478 filesystem size is defaulted and get_device_size returns a
479 size of zero. Otherwise, users get a confusing "invalid
480 argument while passed to ext2 library" error message.
482 2000-05-08 Theodore Ts'o <tytso@valinux.com>
484 * fsck.c (interpret_device): Add better error messages if a UUID=
485 or LABEL= specification is given.
487 * mke2fs.c (main): We forcibly turn off the filetype feature if
488 the OS is the hurd, since the hurd doesn't support it.
489 (And since the hurd allows the transmogrification of files
490 to special files and vice versa --- for no good reason
491 that I can understand --- it can't support the filetype
492 feature for the forseeable future, either.)
494 * mke2fs.c (proceed_question): Fix reversed sense of
495 proceed_question that was busted due to the
496 internationalization patch. Fixed bug where if
497 proceed_question was called twice, the input buffer wasn't
498 cleared of the previous question's newline.
500 Thu Apr 6 17:50:25 2000 Theodore Y. Ts'o <tytso@signal.thunk.org>
502 * badblocks.c (flush_bufs): Use fsync() if the system doesn't
505 2000-04-03 Theodore Ts'o <tytso@valinux.com>
507 * badblocks.c, dumpe2fs.c, e2label.c, mke2fs.c, tune2fs.c,
508 uuidgen.c: For platforms that don't define optarg.h,
509 manually define optarg and optind.
511 * badblocks.8.in: Updated manual page with suggestions from David
514 * badblocks.c (test_nd): Generalized cleanup and bug-fixes. We
515 now explicitly clear out the signal handlers to prevent a
516 longjmp to a deactivated stack frame.
517 (test_rw): Fixed a signed vs. unsigned comparison error.
519 * badblocks.8.in, chattr.1.in, dumpe2fs.8.in, lsattr.1.in,
520 mklost+found.8.in, tune2fs.8.in: Update Remy Card's e-mail
522 chattr.1.in: Update which attributes aren't supported.
524 2000-02-09 Theodore Ts'o <tytso@valinux.com>
527 * lsattr.1.in: Change "version" to "version/generation number".
529 * chattr.1.in: Fix stupid file vs filesystem typo.
531 * tune2fs.c Fix spelling error (spare vs sparse).
533 * mke2fs.c (PRS): Add safety check to make sure the number of
534 blocks doesn't exceed 32 bits on a 64 bit machine.
536 * chattr.c: Random cleanup; file-only variables are now static.
537 Options for setting/clearings flags put into order, and
538 #ifdef's removed (since we now use a built-in header
539 file). Add error message if user tries to set and reset
542 * lsattr.c: Random cleanup; file-only variables are now static.
543 The -l "long" listing has been changed to look nicer.
544 Options names have been renamed to be more descriptive.
546 2000-02-06 Theodore Ts'o <tytso@valinux.com>
548 * badblocks.c, chattr.c, dumpe2fs.c, e2label.c, findsuper.c,
549 fsck.c, get_device_by_label.c, lsattr.c, mke2fs.c,
550 mklost+found.c, nls-enable.h, partinfo.c, tune2fs.c,
551 uuidgen.c: Add Internationalization support as
552 suggested by Marco d'Itri <md@linux.it>.
554 * badblocks.c: Fix non-destructive read/write patches from David
555 Beattie. Non-standard variable-length automatic arrays
556 removed. Non-destrutive write test fixed so that logic is
557 clearer and more provably correct. (I believe the old
558 code had a bug where the disk data wasn't restored if it
559 was interrupted at the wrong time.)
561 * badblocks.8.in: Document new options in man page.
563 2000-02-02 Theodore Ts'o <tytso@valinux.com>
565 * fsck.c (interpret_device): If there was an attempt to interpret
566 a device specification of the type "UUID=" or "LABEL=",
567 and it fails, check to see if /proc/partitions is
568 readable. If not, print a warning message about /proc
569 perhaps not being mounted, and exit.
571 * mke2fs.c (check_plausibility): Remove unneeded #include of
572 linux/fs.h. Add #define of MAJOR if necessary.
574 * partinfo.c: Remove unneeded #include of linux/fs.h
576 2000-01-19 Theodore Ts'o <tytso@valinux.com>
578 * tune2fs.c (usage): Update the usage message to correctly
579 document the -s option.
581 2000-01-18 Theodore Ts'o <tytso@valinux.com>
583 * badblocks.c: Folded in patches David Beattie <dbeattie@usa.net>.
584 Need to do cleanup before release: use of GCC extensions
585 (dynamic arrays); unclean coding tricks (use of || instead
586 of if statements, etc.). Comments from David Beattie:
588 "I added non-destructive write-testing, and quite a few
589 other features. The non-destructive write testing,
590 triggered by new "-n" command-line option, will write test
591 patterns to the disk, but only after reading data off the
592 disk into memory. Then, comparing the test patterns gives
593 a result as to whether or not those sectors are reliable.
594 Finally, the original data is written back.
596 To streamline this operation, I added another option, "-c
597 blocks_at_once", which will give the number of disk blocks
598 to process at one time (mnemonic--"count"). I made this
599 default to 16 (as in the read-only testing mode), and also
600 affect the read-only testing mode. Of course, read-only
601 mode needs (count * block_size) amount of memory, and
602 non-destructive read-write needs 3 times that much, so it
603 makes sense to do the calculations and not overrun
604 available RAM...I would have liked to implement and
605 auto-memory-usage heuristic, but I have no idea if it's
606 even possible to determine the amount of free memory on a
607 Unix system except by reading /proc entries, and that
608 didn't seem portable. I did NOT make this blocks_at_once
609 affect the behavior of the test_rw routine, as it is
610 processing the whole disk at once, anyway.
612 I *think* that I got higher detection rates on my hard
613 drive using random test data than patterned test data, so
614 my non-destructive mode initializes its test data buffer
617 I fixed a typo in flush_bufs that caused the ioctl
618 BLKFLSBUF to never get compiled into the program.
620 Also, I added an "undocumented" (I didn't put it into the
621 usage message; you can if you think it's useful) "-h"
622 option to specify the host device to flush--useful if you
623 want to test out my "non-destructive" code on something
624 other than a hard drive, such as a file on a hard drive,
625 and want the host hard drive to flush.
627 I provided support for an "input" file (via option "-i",
628 similar to the "-o" option)...containing a list of
629 already-known bad blocks; it will skip testing those
630 blocks, thus adding speed to the bad block scan (on my
631 computer, hitting a physically bad block causes a
632 half-second-or-more freeze as the kernel waits for the
633 hard drive to give up and reset itself; pretty annoying
634 when you already know the block is bad from a previous
637 Finally, the real killer, the persistent re-scan (option:
638 "-p num_passes") that I created will, if desired,
639 persistently re-scan the drive until it has completed a
640 user-decidable number of passes in a row during which no
641 new bad blocks are found. On my drive, I would see
642 behavior that a certain percentage of bad blocks would be
643 found with each pass (it was not reliable in the defective
644 areas!), so I wanted it to check it over and over again
645 until it didn't find any more, several times. Perhaps
646 this will be useful to others. Defaults of course to
647 zero, meaning it will stop after the first pass. I used
648 "-p 2" on my drive, and it ran for 2 1/2 days...then used
649 "-p 3" a couple days later and it ran for a few more
650 hours, and since then the rest of my drive has been
653 Implementation of these last two features, "-i" and "-p",
654 I did using a bb_list from libext2fs. I debated whether
655 bad blocks input through "-i" should be output into the
656 "-o" file (or stdout, of course), and decided against it,
657 but left the code to do so in place, commented out, just
658 for your information.
660 In order to maintain data integrity upon interruption of a
661 non-destructive-write test, I created a signal handler
662 which I install which will write back whatever original
663 disk data is in the buffers upon any of the fatal signals
664 (except SIGKILL, of course).
666 Of course, ideally, the new options would be reflected in
667 the badblocks manual page, but I am not experienced at
668 manual page modification; if you decide my patch to
669 badblocks should be incorporated into the distribution, I
670 could learn how to update the manpage and other
671 documentation, or you could do it for me after exercising
672 your opinions, if you have any, on exactly what the
673 command-line parameters should be called and which ones
674 should be in the distribution."
676 2000-01-07 Theodore Ts'o <tytso@valinux.com>
678 * Really fix the bug where "fsck -As" will actually allow
679 interactive fsck's. (For those people who like to do
680 interactive fsck's in the /etc/rc scripts!?!)
682 1999-11-23 <tytso@valinux.com>
684 * tune2fs.8.in: Fix man page so that the sparse_super filesystem
685 option is properly named.
687 1999-11-22 <tytso@valinux.com>
689 * mke2fs.c: Change log2() and log10() to int_log2() and
690 int_log10() to avoid namespace collisions. Change #ifdef
691 sparc to #ifdef __sparc__.
693 1999-11-19 <tytso@valinux.com>
695 * Makefile.in (distclean): Remove TAGS and Makefile.in.old from
696 the source directory.
698 1999-11-10 <tytso@valinux.com>
700 * Release of E2fsprogs 1.18
702 1999-11-10 <tytso@valinux.com>
704 * mke2fs.8.in: Update manual page so that the sparse_option
705 filesystem option is properly named.
707 1999-11-04 <tytso@valinux.com>
709 * fsck.c (main): Move setting of the interactive flag to before
710 the call to check_all(), so that people who try to use
711 fsck -As can do so interactively.
713 1999-10-26 <tytso@valinux.com>
715 * Release of E2fsprogs 1.17
717 1999-10-26 <tytso@valinux.com>
719 * fsck.c (PRS, device_already_active): Add debugging hook; if the
720 environment variable FSCK_FORCE_ALL_PARALLEL is set, then
721 force all fsck runs to happen in parallel.
723 * get_device_by_label.c (has_right_label): Fixed bug where code
724 used a strncmp to compare a binary UUID value which may
725 contain a NULL. Fixed GCC warnings; added const to char *
726 typed variables. Eliminated non-portable use of u_char.
728 * mke2fs.c (PRS): Fix gcc warnings; add const to some char *
729 variables, including in struct mke2fs_defaults.
730 (set_fs_defaults): Changed parameter name to avoid
733 * fsck.c (wait_one): Fix gcc warnings; add #include for ctype.h,
734 add const to char * variables, and use NOARGS to declare
735 functions that take no arguments. Also fix a memory leak
736 in execute() where we weren't freeing argv[] after forking
739 * chattr.c: Add hack to compile in a definition for S_ISLNK so we
740 can successfully compile even with warnings turned on.
742 1999-10-25 <tytso@valinux.com>
744 * mke2fs.c (show_stats): Capitalized Hurd to make the GNU types
746 (PRS): Use __u64 instead of long long for portability
747 reasons. Also moved #include of sys/stat.h inside #ifdef
748 HAVE_LINUX_MAJOR_H for portability reasons.
750 * fsck.c (execute): Fix really stupid bug in the linked list
751 management which caused fsck in parallel mode to go into
754 1999-10-22 <tytso@valinux.com>
756 * Release of E2fsprogs 1.16
758 1999-10-22 <tytso@valinux.com>
760 * tune2fs.c (main): Add a new option -O which allows the user to
761 set and clear certain "safe" filsystem feature flags.
762 Currently, the only ones which are supported for
763 modification are sparse_superblock and filetype.
765 * mke2fs.c (PRS): Add new option -O which allows the user to
766 request filesystems with specific filesystem options. By
767 default on 2.2 and later systems, create filesystems that
768 have both file type information and sparse superblocks.
770 1999-10-21 <tytso@valinux.com>
772 * badblocks.8.in, chattr.1.in, dumpe2fs.8.in, e2label.8.in,
773 fsck.8.in, lsattr.1.in, mke2fs.8.in, mklost+found.8.in,
774 tune2fs.8.in, uuidgen.1.in: Update man page to use a more standard
775 format (bold option flags and italicized variables), as
776 suggested by Andreas Dilger (adilger@enel.ucalgary.ca)
778 1999-10-14 <tytso@valinux.com>
780 * tune2fs.c (main): Fix typo (double spaces) in messages regarding
781 changing the sparse superblock option
783 * fsck.c (wait_one): If the fsck process just started, wait a
784 second before sending a SIGUSR1, to give it a chance
785 to set the signal handler; otherwise, fsck will die on an
788 1999-09-15 <tytso@valinux.com>
790 * mke2fs.c (show_stats): Fix display bug when printing out the
791 number of superblocks. Suggested by Yann Dirson.
793 1999-09-08 <tytso@valinux.com>
795 * partinfo.c: Fix minor compilation bugs pointed out by Yann
798 * mke2fs.c: Don't turn on sparse superblocks by default on pre-2.2
801 * mke2fs.8.in: Add the possible valid block sizes for mke2fs.
802 Document the -n flag, and the new defaults for the -s
805 * dumpe2fs.c, dumpe2fs.8.in: Add new options -f (force) and -h
808 1999-08-13 <tytso@valinux.com>
810 * mke2fs.c (PRS): Fix logic for turning on/off the sparse
813 1999-07-18 Theodore Ts'o <tytso@valinux.com>
815 * Release of E2fsprogs 1.15
817 1999-07-18 <tytso@rsts-11.mit.edu>
819 * mke2fs.c (PRS, set_fs_defaults): Add new option -T which allows
820 the user to specify the how the filesystem is to be used.
821 Mke2fs now chooses the filesystem parameters automatically
822 based on the size of the filesystem and the intended use
823 of the filesystem. Add new option -n which simply goes
824 through the calculations to determine the parameters of
825 the filesystem the system would make.
827 1999-07-18 <tytso@valinux.com>
829 * fsck.c, fsck.h: Add support for new option -C. This option will
830 automatically manage e2fsck processes so that they will
831 print completion/progress bars. If multiple filesystems
832 are being checked, arrange to make sure that only one
833 e2fsck process is displaying a progress bar at a time.
835 1999-07-08 <tytso@valinux.com>
837 * badblocks.c (do_test): Don't complain if the write error occurs
838 on a non-block boundary. This is perfectly common when
839 using blocksizes larger than 1k.
841 1999-07-03 <tytso@valinux.com>
843 * uuidgen.c: Add option parsing so that user can ask for either a
844 time-based UUID or a random-based UUID.
846 1999-07-02 <tytso@valinux.com>
848 * fsck.c: Added support for LABEL= and UUID= specifications for
849 the filesystem's device, to match what recent mount
850 programs can support. Also, close stdin when doing fsck
851 -A or when checking more than one filesystem at a time, so
852 that e2fsck doesn't try to ask interactive questions if
853 the filesystem appears to be mounted.
855 * get_device_by_label.c: New file added to support LABEL=foo and
856 UUID=bar type specifications.
858 1999-07-01 <tytso@valinux.com>
860 * badblocks.c: Make the "done" string include enough spaces to
861 clear out a large block number.
863 1999-06-29 <tytso@valinux.com>
865 * mke2fs.c (check_mount): Allow a filesystem to be made even if it
866 appears mounted if the force option is given.
868 1999-06-24 <tytso@valinux.com>
870 * mke2fs.8.in: Fix typo in man page which caused the badblocks
871 command to not show up in the "SEE ALSO" section.
873 1999-05-02 <tytso@rsts-11.mit.edu>
875 * findsuper.c: Added documentation from aeb@cwi.nl; some minor
878 1999-05-20 <tytso@rsts-11.mit.edu>
880 * dumpe2fs.c, dumpe2fs.8.in: Added new command-line options which
881 allow a filesystem expert to specify the superblock and
882 blocksize when opening a filesystem. This is mainly
883 useful when examining the remains of a toasted filesystem.
885 1999-03-11 Andreas Dilger <adilger@enel.ucalgary.ca>
887 * uuidgen.c, uuidgen.1.in: Created command-line utility to
890 1999-03-14 Theodore Ts'o <tytso@rsts-11.mit.edu>
892 * fsck.c (fsck_device, execute): Don't dereference a null pointer
893 when checking a filesystem not in /etc/fstab.
895 1999-02-09 Theodore Ts'o <tytso@rsts-11.mit.edu>
897 * fsck.c (fsck_device): Print an error message if the user passes
898 in a device or directory name which isn't found in /etc/fstab.
899 Allow the location of /etc/fstab to be overridden by
900 the FSTAB_FILE environment variable.
902 1999-01-30 Theodore Ts'o <tytso@rsts-11.mit.edu>
904 * mke2fs.c (write_inode_tables): Add kludge code so that when the
905 MKE2FS_SYNC environment variable is set, mke2fs will sync
906 every MKE2FS_SYNC block groups, while it is writing out
907 the inode tables. This is to work around a VM bug in the
908 2.0 kernel. I've heard a report that a RAID user was able
909 to trigger it even using a 2.2 kernel.
911 1999-01-16 Theodore Ts'o <tytso@rsts-11.mit.edu>
913 * fsck.c (execute, wait_one): Modified routines so that they
914 accurately create an fsck_instance even when the noexecute
915 flag is set. This allows for accurate debugging of the
917 (check_all): When the verbose flag is given twice, print
918 debugging information about when fsck is waiting for jobs
921 1999-01-09 Theodore Ts'o <tytso@rsts-11.mit.edu>
923 * Release of E2fsprogs 1.14
925 1999-01-09 Theodore Ts'o <tytso@rsts-11.mit.edu>
927 * fsck.8.in: Clarified and expanded the documentation for the -A
930 1999-01-07 Theodore Ts'o <tytso@rsts-11.mit.edu>
932 * fsck.c (load_fs_info): If the pass number field is missing, it
933 needs to be treated as zero.
935 1999-01-05 Theodore Ts'o <tytso@rsts-11.mit.edu>
937 * mke2fs.c (PRS): Allow the user to specify exactly how many
938 inodes he/she wishes.
940 * chattr.c, lsattr.c: Only print the version information for the
941 program if the -V option is given.
943 * chattr.c: Ignore symbolic links when doing a recursive descent
946 1999-01-01 Theodore Ts'o <tytso@rsts-11.mit.edu>
948 * fsck.c (load_fs_info, parse_fstab_line): Ignore fstab lines
949 are commented out. Also allow blank lines in the
951 (execute): In verbose mode, print the mountpount of the
952 filesystem which we are checking (user request).
954 1998-12-30 Theodore Ts'o <tytso@rsts-11.mit.edu>
956 * mke2fs.c: Add definition of SCSI_BLK_MAJOR if not defined, for
957 compatibility with Linux 1.2.13 header files.
959 1998-12-15 Theodore Ts'o <tytso@rsts-11.mit.edu>
961 * Release of E2fsprogs 1.13
963 1998-12-07 Theodore Ts'o <tytso@rsts-11.mit.edu>
965 * mke2fs.8.in: Fixed stupid typo ("Raid options are _comma_
966 seperated", instead of common separated)
968 1998-12-03 Theodore Ts'o <tytso@rsts-11.mit.edu>
970 * Makefile.in: Updated dependencies.
972 1998-11-27 Theodore Ts'o <tytso@rsts-11.mit.edu>
974 * fsck.c (load_fs_info): Parse /etc/fstab ourselves, instead of
975 relying on getmntent(). This has the advantage of
976 allowing us to properly handle missing pass numbers correctly.
978 1998-11-13 Theodore Ts'o <tytso@rsts-11.mit.edu>
980 * tune2fs.8.in: Fix minor display bug in the nroff.
982 * mke2fs.c (show_stats, write_inode_tables): Use the log10
983 function to calculate the display of block numbers so that
984 things look nice on an 80 character display.
986 1998-10-12 Theodore Ts'o <tytso@rsts-11.mit.edu>
988 * mke2fs.c (usage): Add the sparse-super-flag to the usage
991 1998-07-09 Theodore Ts'o <tytso@rsts-11.mit.edu>
993 * Release of E2fsprogs 1.12
995 1998-07-04 Theodore Ts'o <tytso@rsts-11.mit.edu>
997 * findsuper.c (main): Print the block group number which is now
998 being written by e2fsprogs.
1000 1998-06-25 Theodore Ts'o <tytso@rsts-11.mit.edu>
1002 * fsck.c (ignore): Remove unused variable cp.
1004 * chattr.c (fatal_error):
1005 * tune2fs.c (usage):
1007 * dumpe2fs.c (usage):
1008 * badblocks.c (usage): Remove volatile from declaration.
1010 * fsck.c: Change use of strdup to be string_copy, since we don't
1011 trust what glibc is doing with strdup. (Whatever it is,
1014 1998-06-19 Theodore Ts'o <tytso@rsts-11.mit.edu>
1016 * mke2fs.c (PRS): Add a -V option which prints the version number
1019 1998-05-14 Theodore Ts'o <tytso@rsts-11.mit.edu>
1021 * fsck.c (ignore): Remove check for filesystems with the noauto
1024 1998-03-30 Theodore Ts'o <tytso@rsts-11.mit.edu>
1026 * Makefile.in: Change to use new installation directory variables
1027 convention. Fix uninstall rules to take $(DESTDIR) into
1028 account. Remove cat8dir and cat1dir from the installdirs
1029 target, since modern man package don't necessarily put the
1030 cat directory in /usr/man/cat?.
1032 1998-03-29 Theodore Ts'o <tytso@rsts-11.mit.edu>
1034 * e2label.8.in: New man page to document the e2label function.
1036 * e2label.c: Fix -Wall warning by making functions static.
1038 1998-03-28 Theodore Ts'o <tytso@rsts-11.mit.edu>
1040 * chattr.1.in: Document that the append-only attribute may
1041 only be set or cleared by the superuser.
1043 * Update all manual pages to that the availability section is
1046 * e2label.8.in, tune2fs.8.in: Update manual page to state that
1047 labels must be no longer than 16 characters, or they will
1050 * e2label.c (change_label), tune2fs.c (main): If the label is
1051 longer than 16 characters, print a warning message stating
1052 that the label will be truncated.
1054 * mke2fs.c (PRS): If the user specifies a filesystem size, and
1055 it's larger than the apparent size of the device, print a
1056 warning message and ask if the user wants to proceed.
1058 1998-03-21 Theodore Ts'o <tytso@rsts-11.mit.edu>
1060 * mke2fs.c (check_plausibility): Fixed spelling typo in warning
1061 message. Fixed up -Wall warnings in file.
1063 Sun Mar 8 22:21:48 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
1065 * partinfo.c (main): The ioctl BLKGETSIZE requires a long, not an
1068 Sun Feb 1 16:53:36 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
1070 * badblocks.8: Update documentation to note that output format
1071 of badblocks is suitable for use with e2fsck -l or
1074 * mke2fs.c (handle_bad_blocks): Fix bug so that all groups with
1075 bad superblock backup blocks are printed (not just the
1078 Mon Dec 1 17:01:04 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1080 * badblocks.8.in: Add documentation for the -s option.
1082 Fri Oct 24 23:37:52 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1085 * chattr.c: Remove #include of getopt.h, since it's not needed.
1089 * badblocks.c (main):
1090 * dumpe2fs.c (main):
1091 * mke2fs.c (PRS): Make the variable which getopt returns into be
1092 an int, so that it won't lose on platforms where char is
1095 Fri Oct 3 13:38:45 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1097 * mke2fs.c (parse_raid_opts): Make parse_raid_opts return a void,
1098 to fix a -Wall warning.
1100 Mon Sep 15 22:07:12 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1103 * mklost+found.c (main):
1105 * dumpe2fs.c (main):
1107 * badblocks.c (main): Declare main to return an int, as required.
1108 Make sure main always ends with an exit(0). (Some
1109 programs weren't doing this, and thus were returning a
1112 Mon Jul 14 15:27:29 1997 Theodore Y. Ts'o <tytso@mit.edu>
1114 * e2label.c: New file contributed by Andries Brouwer which
1115 provides an easy-to-use interface to modify the filesystem
1118 * Makefile.in (SPROGS): Add Makefile support to build e2label
1120 Tue Jun 17 01:33:20 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1122 * Release of E2fsprogs 1.11
1124 Mon Jun 16 23:37:54 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1126 * mke2fs.c (show_stats): Adjust the number of columns printed when
1127 displaying the superblock backups to avoid running over
1128 80 columns when making a really big disk.
1130 Thu May 8 22:22:08 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1132 * badblocks.8.in, chattr.1.in, dumpe2fs.8.in, fsck.8.in,
1133 mke2fs.8.in, tune2fs.8.in: Fix minor typos and grammer
1134 oops found by Bill Hawes (whawes@star.net).
1136 * mke2fs.c (test_disk): Pass the blocksize to the bad blocks
1137 command so that all of the filesystem gets tested in the
1138 case where the blocksize 2048 or 4096.
1140 Thu Apr 24 12:16:42 1997 Theodre Ts'o <tytso@localhost.mit.edu>
1142 * Release of E2fsprogs version 1.10
1144 Thu Apr 24 09:52:47 1997 Theodre Ts'o <tytso@localhost.mit.edu>
1146 * mke2fs.c: Added new option -R, which specifies RAID options.
1147 Currently the only supported RAID option is "stride" which
1148 specifies the stripe width in RAID filesystem. This is
1149 used to aid in the placement of the inode and block
1152 * mke2fs.8.in, tune2fs.8.in: Added warnings that the sparse
1153 superblock option isn't yet supported by most kernels.
1155 Wed Apr 23 22:42:51 1997 Theodre Ts'o <tytso@localhost.mit.edu>
1157 * mke2fs.c (PRS): Make the default filesystem revision be 0, not
1158 1. (Since some people are still worried about 1.2.13
1161 Thu Apr 17 12:23:38 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1163 * Release of E2fsprogs version 1.09
1165 Fri Apr 11 18:57:24 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1167 * chattr.1.in: Updated man page so that the 'A' attribute is
1168 specified everywhere.
1170 * chattr.c (usage): Added usage message for the 'A' attribute.
1172 Fri Apr 11 18:56:26 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1174 * Release of E2fsprogs version 1.08
1176 Thu Apr 10 07:08:03 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1178 * dumpe2fs.c (list_desc): List the offsets of the inode and block
1179 bitmaps, and the inode table. List the block boundaries
1182 Sat Apr 5 11:55:52 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1184 * tune2fs.c (main): Implement the -s flag allows the user to
1185 set and reset the sparse superblock flag.
1187 * mke2fs.c (PRS): By default generate DYNAMIC revision
1188 filesystems. The -s flag controls whether or not the
1189 sparse superblock flag is set.
1190 (PRS): Change to allow the user to specify the true
1191 maximum number of blocks per group to reflect the
1194 Wed Mar 12 13:32:05 1997 Theodore Y. Ts'o <tytso@mit.edu>
1196 * Release of E2fsprogs version 1.07
1198 Thu Mar 6 17:15:05 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1200 * mke2fs.c (create_root_dir): Set the root directory's i_uid and
1201 i_gid to be the real user and group id.
1203 Tue Mar 4 10:14:33 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1205 * mke2fs.c (check_plausibility): Add more intelligent error
1206 messages when the device doesn't exist.
1208 Sat Mar 1 10:43:32 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1210 * fsck.c (main): Fix bug where the PATH environment variable isn't
1211 set when it is unset.
1213 Tue Jan 14 12:30:45 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1215 * mke2fs.c (write_inode_tables): Fixed bug in write_inode_tables
1216 where a loop variable was getting reused in a nested loop.
1217 This caused the inode table to not be correctly
1220 Thu Jan 2 00:00:37 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1222 * lsattr.c, chattr.c: Include string.h, since we use memcpy().
1224 * findsuper.c: Use time_t for ctime(), not __u32.
1226 Sat Dec 28 23:39:18 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1228 * badblocks.c: Adapted -vv modifications from Rik Faith so that
1229 they frequently update the block number field.
1231 * badblocks.8.in: Document the optional start-block parameter
1233 Mon Oct 14 11:52:58 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1235 * mke2fs.c: Updated to use new ext2fs_allocate_tables() function.
1237 Tue Oct 8 02:02:03 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1239 * Release of E2fsprogs version 1.06
1241 Mon Oct 7 00:56:24 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1243 * chattr.1.in: Documented the 'A' (noatime) attribute.
1245 * dumpe2fs.c (main): Change EXT2_SWAP to EXT2_FLAG_SWAP for
1248 Sun Sep 22 16:18:47 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1250 * chattr.c (decode_arg): Add support for the 'A' (noatime) flag.
1252 Thu Sep 12 15:23:07 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1254 * Release of E2fsprogs version 1.05
1256 Sat Sep 7 07:34:11 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1258 * tune2fs.c (main): Add support for new option -C, which sets the
1259 current number of mounts.
1260 (main): Allow the interval to be specified in seconds,
1261 mostly for debugging.
1263 Tue Aug 27 17:27:43 1996 Miles Bader <miles@gnu.ai.mit.edu>
1265 * Makefile.in (SMANPAGES): Use @FSCK_MAN@ instead of fsck.8.
1266 (SPROGS): Use @FSCK_PROG@ instead of fsck.
1268 Thu Aug 22 00:51:44 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1270 * mke2fs.c (zap_bootblock): Don't do zap_bootblock on a
1273 Tue Aug 20 00:15:46 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1275 * chattr.c (main): Fixed bug so that chattr -v works. (Bug report
1276 and fix sent by Charles Howes, chowes@eznet.ca)
1278 Fri Aug 9 11:52:42 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1281 * tune2fs.c: Added support for the -L option which sets the volume
1282 label, the -M option which sets the last mounted
1283 directory, and the -U option which sets the filesystem UUID.
1286 * mke2fs.c: Added support for the -o option, which overrides the
1287 creator OS. Generate a UUID for the filesystem, if
1288 applicable. Added support for the -L option which sets
1289 the volume label, and the -M option which sets the last
1292 Sat Jun 22 17:43:17 1996 Remy Card <card@bbj.linux.eu.org>
1294 * chattr.c (decode_arg): Integrated Michael Nonweiler's fix to
1295 avoid a segmentation fault when the "-v" option is used
1296 and no version number is specified.
1298 Thu May 16 11:12:30 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1300 * Release of E2fsprogs version 1.04
1302 Wed May 15 21:15:43 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1304 * Makefile.in (fsck): fsck doesn't need to be linked with the ext2
1307 Wed Mar 27 00:33:40 1996 <tytso@rsts-11.mit.edu>
1309 * Release of E2fsprogs version 1.03
1311 Thu Mar 7 03:43:20 1996 <tytso@rsts-11.mit.edu>
1313 * mke2fs.c (PRS): Add (for development only) support to
1314 specify revision and inode size of the new filesystem.
1316 Tue Mar 5 03:51:35 1996 <tytso@rsts-11.mit.edu>
1318 * mke2fs.8.in: Fix a few minor typo's in the man page.
1320 * mke2fs.c (reserve_inodes): Add support for dynamic first inode
1323 Mon Feb 5 22:19:49 1996 <tytso@rsts-11.mit.edu>
1325 * fsck.c (check_all, PRS): Added new flag -P, which turns on the
1326 parallel root option. This allows you to check the root
1327 filesystem in parallel with the other filesystems. Note
1328 that this is not the safest thing in the world to do,
1329 since if the root filesystem is in doubt things like
1330 the e2fsck executable might be corrupted! But some
1331 sysadmins, who don't want to repartition the root
1332 filesystem to be small and compact, may really want this
1335 Wed Jan 31 11:06:08 1996 <tytso@rsts-11.mit.edu>
1337 * Release of E2fsprogs version 1.02
1339 Tue Oct 30 21:14:12 1995 <tytso@rsts-11.mit.edu>
1341 * mke2fs.c (check_plausibility): Add check to warn user if they
1342 are trying to mke2fs the whole disk. (/dev/hda
1345 Fri Dec 15 19:09:56 1995 <tytso@rsts-11.mit.edu>
1347 * fsck.c (check_all): If we break out of the loop because we are
1348 serializing and have just started at fsck we haven't
1349 finished the pass. We need to go round again in case there
1350 are more filesystems to be done in this pass. (Patch
1351 submitted by Mike Jagdis)
1353 Sat Dec 9 10:07:16 1995 <tytso@rsts-11.mit.edu>
1355 * dumpe2fs.c (in_use): test_bit() was renamed to
1358 Mon Oct 30 20:21:18 1995 <tytso@rsts-11.mit.edu>
1360 * fsck.c (fsck_device): Check fstype instead of type; this was a
1361 stupid typo which caused coredumps in some cases.
1363 Thu Oct 26 12:05:18 1995 <tytso@rsts-11.mit.edu>
1365 * Makefile.in (install): Strip programs when they are installed.
1367 Fri Aug 18 15:10:40 1995 Theodore Y. Ts'o <tytso@dcl>
1369 * mke2fs.c (PRS): Move call of check_mount() from main() to PRS(),
1370 so we do the check to see if the filesystem is mounted
1371 *before* we try to determine the size of the device.
1373 Wed Sep 6 23:34:07 1995 Remy Card <card@bbj>
1375 * fsck.c (load_fs_info): Load the informations from /etc/fstab in
1378 Thu Aug 17 22:33:09 1995 <tytso@rsts-11.mit.edu>
1380 * mke2fs.c (check_mount): Use the new ext2fs_check_if_mounted()
1381 function to determine if the device is mounted.
1383 * mke2fs.c (PRS): Change call to use the new
1384 ext2fs_get_device_size() function in order to determine
1385 the size of the filesystem. Remove get_size() and
1386 is_valid_offset(), which are no longer called.
1388 Fri Aug 11 08:26:24 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
1390 * fsck.c (fsck_device): Make sure fstype has been set by the user
1391 and that it does not begin with "no" and the user has
1392 specified exactly one type before using it as the type to
1395 Fri Aug 11 14:17:18 1995 Remy Card <card@bbj>
1404 * tune2fs.8: Updated date and version number.
1406 Thu Aug 10 14:18:36 1995 Remy Card <card@bbj>
1408 * tune2fs.c: Fixed a bug which prevented the use of user and group
1409 names with the -g and -u options. Thanks to Jean Christophe
1410 ANDRE <progfou@mycrob.cafard.freenix.fr>.
1413 * tune2fs.8: Fixed a spelling error in Ted's name :-)
1415 Wed Aug 9 20:41:54 1995 Theodore Y. Ts'o <tytso@dcl>
1417 * mke2fs.c (count_blocks): Divide the size by
1418 EXT2_BLOCK_SIZE(¶m), instead of assuming that the
1419 blocksize is always 1024 bytes.
1421 Sat Aug 5 12:00:51 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
1423 * mke2fs.c (PRS): Use malloc() instead of alloca() --- alloca() is
1424 not portable!! In any case putenv() in some systems must
1425 take a static character array or malloc()'ed memory;
1426 passing memory allocated using alloca() to putenv() is not
1429 * chattr.c (chattr_dir_proc):
1430 * lsattr.c (lsattr_dir_proc): Use malloc() instead of alloca() ---
1431 alloca is not portable!
1433 * fsck.c (fsck_device): If the filesystem type is specified by the
1434 user using the -t option, let it override the type in
1437 * fsck.c (strdup): Don't build strdup() if the system defines it.
1439 Mon Jun 12 19:15:10 1995 Theodore Y. Ts'o (tytso@dcl)
1441 * chattr.c, lsattr.c: Include <sys/types.h> for <dirent.h>'s
1444 * The $(UPROGS) go in bin, not sbin.
1446 * badblocks.c, chattr.c, dumpe2fs.c, fsck.c, lsattr.c, mke2fs.c,
1447 tune2fs.c: Don't include <getopt.h> if it doesn't exist.
1449 Mon Jun 12 16:36:04 1995 Theodore Y. Ts'o <tytso@dcl>
1451 * badblocks.c, chattr.c, dumpe2fs.c, fsck.c, lsattr.c, mke2fs.c,
1452 tune2fs.c: Only include getopt.h if HAVE_GETOPT_H is defined.
1454 Sat Jun 10 23:37:09 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
1456 * chattr.c: Include errno.h, since we use errno
1458 * fsck.c (load_fs_info): If HAVE_MNTENT_H is not defined,
1459 explicitly initialize filesys_info to be NULL.
1461 * mke2fs.c: Include the stdio.h and errno.h header files
1463 Thu Jun 8 13:25:23 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
1465 * mke2fs.c: Only include <linux/fs.h> if we can.
1466 (get_size): Don't try to use the BLKGETSIZE ioctl unless it's defined.
1467 (check_mount): Only check to see if the device is mounted if
1468 HAVE_MNTENT_H is defined (by configure).
1470 * fsck.c (load_fs_info): Only try to get info about filesystems if
1471 HAVE_MNTENT_H is defined (by configure).
1472 (main): Allocate space for a new fsck_path instead of append to a
1473 statically sized buffer.
1474 (PRS): Use alloca to allocate the new path string, instead of
1475 having a fixed size buffer (which was the wrong size anyway).
1477 * chattr.c (chattr_dir_proc): Use alloca to allocate space for a
1478 filename instead of using a fixed-size buffer.
1479 * lsattr.c (lsattr_dir_proc): Ditto.
1480 * mklost+fond.c (main): Calculate the actual needed size for the
1481 path buffer instead of using MAXPATHLEN (which not all systems have).
1483 * badblocks.c: Only include linux include files if we have them.
1484 (flush_bufs): New function to flush a block device, optionally
1485 syncing it first. This replaces other copies of this code.
1486 (test_ro): Replace calls to ioctl with flush_bufs().
1489 * Makefile.in: Rewritten to conform to GNU coding standards and
1490 support separate compilation directories.
1492 Sat Mar 11 10:59:58 1995 Theodore Y. Ts'o <tytso@localhost>
1494 * mke2fs.c (main, zap_bootblock): Added new function
1495 zap_bootblock() which clears the first 512 bytes of the
1496 filesystem. This protects the filesystem from being
1497 misidentified as a MS-DOS FAT filesystem.
1499 * badblocks.c (alarm_intr, test_ro, test_rw): Increase the space
1500 allocated for printing the block numbers, so that the
1501 display doesn't get corrupted when running badblocks on a
1502 very large partition.
1504 * badblocks.c (do_test, test_ro, test_rw): Added missing cast to
1505 ext2_loff_t, so that when checking a large device,
1506 spurious seek errors aren't reported.
1508 * mke2fs.c (count_blocks): Declare mid to be of type ext2_loff_t
1509 instead of type int, so that it works for filesystems
1510 greater than 2 GB. (Fortunately count_blocks is only
1511 called if the device does not support the BLKGETSIZE
1512 ioctl, which most do.)
1514 * fsck.c (ignore): Add check to ignore filesystems with a pass
1515 number of zero. (This check was accidentally deleted at
1516 during 0.5b development.)
1518 Sat Dec 31 00:47:16 1994 <tytso@rsx-11.mit.edu>
1520 * mke2fs.c (new_table_block, alloc_tables, PRS, main): Add a new
1521 option, -S, which only writes the superblock and group
1522 descriptors. Useful for recovering when all of the
1523 superblocks are corrupted somehow (as a last ditch
1526 Also, don't bother initializing the bitmap blocks in
1527 alloc_tables(), since they will be overwritten at the end
1528 anyway. (Should speed up mke2fs by a little.)
1530 Tue Dec 6 02:20:55 1994 <tytso@rsx-11.mit.edu>
1532 * fsck.c (main): Fix stupid typo where a null inst would be freed.
1534 * fsck.c (wait_one): Check WIFEXITED on status before trying to
1535 extract the exit status. In other cases, return
1536 FSCK_ERROR if the back end processor exited with a signal.
1538 Tue Nov 15 10:20:00 1994 Remy Card <card@bbj>
1540 * tune2fs.c (main): Fixed a bug which prevented the use of the
1542 Added the `w' (week) suffix recognition in the check interval.
1544 Sun Nov 13 15:58:48 1994 (tytso@rsx-11)
1546 * fsck.c (load_fs_info): If the user has an obviously old
1547 /etc/fstab file, issue a warning message and assume that
1548 all partitions should be checked.
1550 Sat Nov 12 00:33:18 1994 (tytso@rsx-11)
1552 * dumpe2fs.c (list_desc): Update to new inode and block bitmap
1555 * mke2fs.c (create_root_dir): Create the root directory owned by
1558 Mon Nov 7 22:04:37 1994 Remy Card <card@bbj>
1560 * tune2fs.c (main.c): Added support for new options:
1561 -r reserved_blocks_count, -g reserved_gid, -u reserved_uid.
1563 Sun Aug 21 00:57:33 1994 Theodore Y. Ts'o (tytso@rt-11)
1565 * fsck.c (ignore): If the pass number is 0, ignore the filesystem.
1567 Wed Aug 17 21:55:03 1994 Remy Card (card@bbj)
1569 * badblocks.c (test_rw): Added verbose output like in the
1572 (do_test and test_rw): Use the llseek system call if available.
1574 * chattr.c: Added support for new attributes.
1576 * lsattr.c: Added support for long format.
1578 * mke2fs.c (usage): Fixed bogus usage message.
1580 (valid_offset): Use the llseek system call if available.
1582 Wed Aug 17 10:50:57 1994 Theodore Y. Ts'o (tytso@rt-11)
1584 * mke2fs.c (handle_bad_blocks): Check to see if a bad block is
1585 where a backup superblock/group descriptor is stored. If so,
1586 print a warning message and adjust the superblock counts so that
1587 they are correct. (Otherwise, the bad block will get counted
1588 twice and the # of free blocks count will be wrong.)
1590 (alloc_tables): Removed code which calcualated the free block
1591 statistics, which was moved to lib/ext2fs/initialize.c. This
1592 allows the bad block code to adjust the group descriptor
1593 statistics if necessary.