1 2003-05-07 Theodore Ts'o <tytso@mit.edu>
3 * badblocks.c (test_rw): Fix minor memory leak with test_rw() is
4 called for multiple passes.
5 (test_nd): Fix bug in chosing randomness for the
6 non-destructive test. We were only using 1 bit of
7 randomness per byte instead of 8 due to a bit-shift bug.
8 Also, initialize the random number generator from the time
9 in main(). Thanks to Thayne Harbaugh for pointing out
12 * badblocks.c, badblocks.8.in: Functional enhancements contributed
13 by Thayne Harbaugh. These patches allow the -t option to
14 control the test pattern(s) used when checking the disk.
15 Test patterns may be specified in all modes (r/w, r/o and
18 2003-05-05 Theodore Ts'o <tytso@mit.edu>
20 * tune2fs.c (main, add_journal_device, remove_journal_device): If
21 --enable-testio-debug is set, then use the test_io manager
22 so we can watch what tune2fs is doing.
24 2003-05-03 Theodore Ts'o <tytso@mit.edu>
26 * uuidgen.c (main): Add setup functions for NLS support.
28 * e2image.c (write_header), mke2fs.c (PRS): Add missing space in
31 * badblocks.c (usage), findsuper.c (main), util.c
32 (parse_journal_opts): Fix typo in usage string.
34 * tune2fs.c (parse_time): Add portability code to work around lack
37 * Makefile.in: Add $(LIBINTL) to the link line so we can support
38 using the internal gettext library.
40 * nls-enable.h: Add #ifndef protection around LOCALEDIR definition.
42 2003-04-21 Theodore Ts'o <tytso@mit.edu>
44 * Release of E2fsprogs 1.33
46 2003-04-18 Theodore Ts'o <tytso@mit.edu>
48 * Makefile.in (uuidgen): Avoid linking lsattr and chattr against
49 libext2fs, and avoid linking blkid against any of the ext2
52 2003-04-17 Theodore Ts'o <tytso@mit.edu>
54 * Makefile.in (fsck): Fsck does not need to linked against the
55 ext2 libraries anymore.
57 2003-04-16 Theodore Ts'o <tytso@mit.edu>
59 * fsck.c (main): Put stdout and stderr into non-buffered mode to
60 avoid cosmetic problems when running fsck under logsave.
62 * mke2fs.c (PRS): Avoid printing the version banner for mke2fs if
63 the -q option is specified. (Addresses Debian bug #172716)
65 * logsave.c: Add support for the -a option (only partially
66 implemented previously). Always log the command-line and
67 start and stop time to the log file. Add support for the
68 -s option, which skips text bracketed between control-A
69 and control-B characters.
71 2003-04-14 Theodore Ts'o <tytso@mit.edu>
73 * logsave.c: New program which saves the output of a command in a
74 log file, even if the containing directory hasn't been
75 mounted yet (in which case the it saves the output in
76 memory until it can write out the logfile).
78 2003-04-11 Theodore Ts'o <tytso@mit.edu>
80 * mke2fs.c (PRS): If the argument to -b is negative, treat it as a
81 minimum blocksize. (Feature requested by EVMS developers
82 for mainframe DASD's that do not support 1k blocksizes.)
84 * mke2fs.8.in: Document the -g option. (Addresses Debian bug #188318)
86 * mke2fs.c (PRS): Fix bug where mke2fs was incorrectly checking
87 the argument to the -g option, if the default block size
88 is used. (Addresses Debian bug #188319)
90 * tune2fs.8.in, mke2fs.8.in: Document the dir_index filesystem
91 feature which can be used with the -O option.
93 2003-04-06 Theodore Ts'o <tytso@mit.edu>
95 * fsck.c (parse_fstab_line, interpret_type, fsck_device, ignore,
96 main): Don't evaluate the filesystem type when loading the
97 fstab file, since that might cause fsck to hang trying to
98 read from a floppy disk. (Addresses Debian bug #187812)
99 Add tmpfs and devpts to filesystems that should be
100 ignored, and add jfs, reseirfs, and xfs as filesystems
101 types where we should complain if we can't find the fsck
102 program for that filesystem type.
104 2003-04-03 Theodore Ts'o <tytso@mit.edu>
106 * badblocks.c (bb_output): Flush output to the badblocks
107 output file as bad blocks are discovered.
109 2003-03-25 Theodore Ts'o <tytso@mit.edu>
111 * chattr.1.in: Clarified the description of the 't' (no tail)
112 attribute. (Addresses Debian bug #185945)
114 2003-03-14 Theodore Ts'o <tytso@mit.edu>
116 * fsck.c: And #ifdef protection around #include of malloc.h
118 2003-03-13 Theodore Ts'o <tytso@mit.edu>
120 * e2image.c (write_raw_image_file): Include blocks from slow
121 symbolic links in the raw image file.
123 2003-03-06 <tytso@mit.edu>
125 * tune2fs.c (parse_tune2fs_options, parse_e2label_options): Allow
126 the device name to be specified using LABEL=xxx or
127 UUID=xxx, since we're including the blkid library anyway.
128 (Addresses Debian bugs #166048, #179671)
130 * tune2fs.8.in, chattr.1.in: Minor man page fixes (Addresses
131 Debian bugs #175233, #175113, and #170497)
133 2003-03-06 Theodore Tso <tytso@mit.edu>
135 * Makefile.in (DEPLIBS_BLKID): Use DEPLIBUUID, not LIBUUID to
136 avoid depending on -lsocket on Solaris.
138 2003-03-01 Theodore Ts'o <tytso@mit.edu>
140 * fsck.c, util.c, tune2fs.c, Makefile.in: Use the blkid library
141 instead of the specialized functions in
142 get-device-by-label.c and fstype.c.
144 * base_device.c (base_device): Take a const char* as an argument.
146 * blkid.c: Remove deprecated -d option,
148 2003-02-16 Theodore Ts'o <tytso@mit.edu>
150 * blkid.c: Update to reflect renaming of blkid_get_devname() to
151 blkid_get_dev(), and blkid_get_token() to
154 2003-01-29 Theodore Ts'o <tytso@mit.edu>
156 * badblocks.8.in: Fix grammar nit.
158 2003-01-26 Theodore Ts'o <tytso@mit.edu>
160 * blkid.c (main): Modify blkid to use the new libblkid public
163 2003-01-23 Theodore Ts'o <tytso@mit.edu>
165 * Makefile.in: Integrate in new blkid library.
167 2003-01-22 Theodore Ts'o <tytso@mit.edu>
169 * fsck.c (parse_fstab_line, parse_escape): Add support for
170 backslash escaping in /etc/fstab. (i.e., so that \040
173 2002-11-12 Theodore Ts'o <tytso@mit.edu>
175 * mke2fs.c (PRS): Don't enable the dir_index feature by default;
176 the ext2 code on 2.4 kernels (but not 2.2 kernels, and not
177 the 2.4 ext3 code) accidentally had the backwards
178 compatibility support for dir_indexing removed.
180 2002-11-09 Theodore Ts'o <tytso@mit.edu>
182 * Release of E2fsprogs 1.32
184 2002-11-08 Theodore Ts'o <tytso@mit.edu>
186 * Release of E2fsprogs 1.31
188 2002-11-08 Theodore Ts'o <tytso@mit.edu>
190 * chattr.1.in: Update man page.
192 2002-10-31 Theodore Ts'o <tytso@mit.edu>
194 * Release of E2fsprogs 1.30
196 2002-11-01 Theodore Ts'o <tytso@mit.edu>
198 * chattr.c, chattr.1.in: Add support for a new inode flag, which
199 is to be used for indicating the top of directory
200 hierarchies for the Orlov block allocator.
202 2002-10-31 Theodore Ts'o <tytso@mit.edu>
204 * get_device_by_label.c (read_partitions): Pay attention to
205 partitions returned in /proc/partitions that begin with
206 with the string "lvm".
208 2002-10-30 Theodore Ts'o <tytso@mit.edu>
210 * Makefile.in (install): Search all compression extensions when
211 deleting old man pages.
213 * dumpe2fs.c (list_desc): Fix bug in algorithm which determined
214 which blocks are used as backup superblock and block group
217 * mke2fs.c (PRS): Fix bug which checked the tmp pointer
218 erreoneously (and needlessly).
220 2002-10-28 <tytso@snap.thunk.org>
222 * fsck.c (main): Fix bug reported by Gregory Mutt. Multiple
223 filesystems explicitly specified on the command line were
224 not being checked in parallel, due to a logic bug
225 introduced in to support the FSCK_MAX_INST environment
228 2002-10-25 Theodore Ts'o <tytso@mit.edu>
230 * dumpe2fs.c (list_desc, main): Make dumpe2fs more robust so that
231 if there is an error reading the block/inode bitmaps, it
232 will still print out the contents of the block group
235 2002-10-20 Theodore Ts'o <tytso@valinux.com>
237 * dumpe2fs.c (list_desc), mke2fs.c (PRS), e2image.c
238 (mark_table_blocks): Add support for the meta_blockgroup
241 2002-10-15 <tytso@snap.thunk.org>
243 * tune2fs.8.in, tune2fs.c (update_mntopts, main): Add new option
244 'o' which allows the system administrator to specify
245 default mount options.
247 2002-10-13 Theodore Ts'o <tytso@mit.edu>
249 * get_device_by_label.c (read_partitions): Use a 16k buffer to
250 read in /proc/partitions in one go.
252 * badblocks.c, fsck.c, fstype.c, get_device_by_label.c,
253 tune2fs.c: Fix gcc -Wall nits.
255 2002-10-11 Theodore Ts'o <tytso@mit.edu>
257 * mklost+found.c (main): Make sure the lost+found directory is
258 created with 0700 permissions.
260 2002-10-02 Theodore Ts'o <tytso@mit.edu>
262 * e2image.c (write_raw_image_file): Handle a bad block in the
263 inode table correctly.
265 2002-09-29 Theodore Ts'o <tytso@mit.edu>
267 * get_device_by_label.c: Applied sourceforge patch #613447, which
268 adds support for reiserfs volumes for LABEL= and UUID=
271 * badblocks.c (main): Appled sourceforge patch #600451, which
272 addresses sourceforge bug #600388, by AEF. This allows
273 badblocks to work correctly on read-only devices such as
274 CD-ROM's, DVD's, etc.
276 2002-09-24 Theodore Ts'o <tytso@mit.edu>
278 * mke2fs.8.in, tune2fs.8.in: Clarify manual pages about using the
279 caret ('^') character to negate feature sets when using
280 the -O option. Define the has_journal feature to avoid
281 confusion about what ^has_journal means.
283 2001-09-24 Theodore Tso <tytso@mit.edu>
285 * Release of E2fsprogs 1.29
287 2002-09-24 Theodore Ts'o <tytso@mit.edu>
289 * fsck.c: If the bone-headed user enters the filename twice, the
290 -R option which skips the root filesystem will skip all of
291 them. (Addresses Debian bug #159423). Note! This is not
292 a precedent for dealing intelligently with any other kind
293 of doubled entry in /etc/fstab!
295 2002-09-22 root <tytso@mit.edu>
297 * mke2fs.c (main): Enable directory indexing by default.
299 * tune2fs.c (update_feature_set): Allow directory indexing flag to
300 be set. If so, set the default hash to be TEA, and
301 initialize the hash seed to a random value.
303 2002-09-21 Theodore Ts'o <tytso@mit.edu>
305 * get_device_by_label.c (init_lvm): Fix bug which caused
306 LABEL='xxx' to not work correctly when using LVM.
307 (Reversed sense of error check reported by ateeq@hotpop.com)
309 2001-08-31 Theodore Tso <tytso@thunk.org>
311 * Release of E2fsprogs 1.28
313 2002-08-17 Theodore Ts'o <tytso@mit.edu>
315 * findfs.8.in: New man page.
317 * tune2fs.c (do_findfs): If tune2fs is executed with argv[0] set
318 to findfs, then it will interpret argv[1] as one of
319 LABEL=xxx or UUID=xxx and translate it to a device name.
321 * get_device_by_label.c (uuidcache_init): Moved code which
322 interpreted /proc/partitions into read_partitions(), and
323 then added support for interpreting /proc/evms/volumes in
324 read_evms(). uuidcache_init() calls both read_evms() and
327 * mke2fs.8.in: Add a common usage of the -n option. (Addresses
330 * fsck.c (main): If no filesystems are specified on the command
331 line, default to -As. (Addresses Debian Bug #153102)
333 * badblocks.8.in: Clarify why it's bad to do a non-destructive
334 test on a r/o mounted filesystem. (Addresses Debian Bug
337 * chattr.1.in: Document the compression attribute flags E, X, and
338 Z, and explain that chattr can't set or set these flags.
339 (Addresses Debian Bug #151990)
341 * fsck.8.in: Fix typo in man page, and clarified text regarding
342 options specifiers for -t option. (Addresses Debian bug
345 * mke2fs.c (main): If there is a problem zeroing blocks at the end
346 of the filesystem, don't abort mke2fs. Addresses Debian
349 2002-08-16 Theodore Ts'o <tytso@mit.edu>
351 * e2image.c (write_raw_image_file): Check for an extended
352 attribute block before checking for has_valid_blocks.
354 2002-07-21 Theodore Ts'o <tytso@mit.edu>
356 * fsck.8.in: Document new fsck exit code, FSCK_CANCELED.
358 * fsck.c: Trap SIGINT and SIGTERM, and relay it to all of the
359 child fsck processes.
361 2002-07-14 Theodore Ts'o <tytso@mit.edu>
363 * mke2fs.c (zap_sector): Clear the buffer *after* testing for the
364 BSD sector label. Otherwise the first 512 bytes don't get
365 zapped. (Addresses Debian bug #147256.)
367 2002-07-02 Theodore Ts'o <tytso@mit.edu>
369 * mke2fs.8.in: Cleaned up man page, and made it a bit more
370 OS-agnostic. Addresses Debian bug #144621. Hope this
371 makes the Hurd whiners happy. :-)
373 2002-06-28 Theodore Ts'o <tytso@mit.edu>
375 * chattr.1.in: Fix man page typo. (Addresses Debian bug #141938)
377 2002-06-15 Theodore Ts'o <tytso@mit.edu>
379 * chattr.c: Applied patch from Andrew to support the dirsync flag.
381 2002-05-22 Andreas Dilger <adilger@clusterfs.com>
383 * mke2fs.c (set_fs_defaults): make the default inode ratio at most
384 one inode per block for large blocksizes.
386 2002-05-17 Theodore Ts'o <tytso@mit.edu>
388 * mke2fs.c (PRS): Determine the page size using sysconf() at
389 runtime, instead of using the Linux system header files.
391 2002-05-16 Andreas Dilger <adilger@clusterfs.com>
393 * mke2fs.c (PRS): Allow blocksizes larger than 4k to be specified,
394 with warning printed and the user questioned if blocksize
395 is larger than the system's page size according to the
396 Linux kernel header files. Added better checking for
397 valid inode sizes, and again print a warning message if
398 using a large inode size (since most kernels today don't
401 2002-04-30 Theodore Ts'o <tytso@mit.edu>
403 * fsck.8.in: Fix typo in man page.
405 2002-03-08 Theodore Tso <tytso@mit.edu>
407 * Release of E2fsprogs 1.27
409 2002-03-08 Theodore Tso <tytso@mit.edu>
411 * mke2fs.c: Check for the BSD disklabel on all architectures, and
412 also check the byte-swapped magic number as well.
414 2002-03-07 Theodore Tso <tytso@mit.edu>
416 * mke2fs.c: Output warnings to stderr
417 (From Philipp Thomas <pthomas@suse.de>)
419 * base_device.c (main): Fix gcc -Wall complaints in debug code.
421 * mke2fs.c (zap_sector): Don't erase BSD disklabels on Alpha.
422 (From Thorsten Kukuk <kukuk@suse.de>)
424 2002-03-04 Philipp Thomas <pthomas@suse.de>
426 * chattr.c (main), fsck.c (main), mke2fs.c (main), findsuper.c
427 (main), dumpe2fs.c (main), lsattr.c (main), partinfo.c (main),
428 tune2fs.c (main), mklost+found.c (main), badblocks.c
429 (main), e2image.c (main): Newer libintl needs LC_CTYPE to
430 be set in addition to LC_MESSAGES.
432 2002-02-25 Andreas Dilger <adilger@clusterfs.com>
434 * mke2fs.c: Add check for mkfs.ext3 and create a journal in
437 2002-02-24 Theodore Tso <tytso@mit.edu>
439 * Makefile.in (install): Install hard links for man pages for
440 mkfs.ext2 and mkfs.ext3. Also install hard link for
441 mkfs.ext3. Remove any compressed man pages before
442 installing the man pages.
444 2002-02-23 Theodore Tso <tytso@mit.edu>
446 * badblocks.8.in: Clarify man page's description of the -f option
448 2002-02-12 Theodore Tso <tytso@mit.edu>
450 * get_device_by_label.c: Since on non-STDC compilers, we define
451 away const, include get_device_by_label.h after we include
454 * Makefile.in (base_device): Remove use of $<, which is
457 2002-02-03 Theodore Tso <tytso@thunk.org>
459 * Release of E2fsprogs 1.26
461 2002-02-03 Theodore Tso <tytso@mit.edu>
463 * fsck.c (interpret_type): Allow filesystems types of the form
466 * fstype.c (identify_fs): Add support for only searching for a
467 specified list of filesystems. Also add support for
468 identifying reiserfs filesystems.
470 2002-01-29 Theodore Tso <tytso@mit.edu>
472 * fsck.c: Allow the number of outstanding processes fs-specific
473 fsck programs to be capped via the FSCK_MAX_INST
474 envrionment variable.
476 * fsck.8.in: Document all of the environment variables used by fsck.
478 2002-01-27 Theodore Tso <tytso@mit.edu>
480 * tune2fs.8.in: Document the -f flag to tune2fs.
482 2002-01-02 Theodore Tso <tytso@mit.edu>
484 * badblocks.c (main): Open the device as O_RDWR if possible, since
485 fsync() isn't guaranteed to work if the filesystem is
488 2001-12-26 Theodore Tso <tytso@mit.edu>
490 * tune2fs.8.in, tune2fs.c (parse_tune2fs_options, main): Add
491 support for new option, -T, which allows the user to set
492 the last checked time on the filesystem.
494 2001-12-24 Theodore Tso <tytso@mit.edu>
496 * mke2fs.c (main, test_disk): If two -c options are
497 specified, then perform a destructive read/write test
500 * mke2fs.8.in: Document the double -c option; also encourage users
501 to use -c instead of the -l/-L options since it's too hard
502 for users to get things like the blocksize parameter correct.
504 * badblocks.8.in: Encourage users to use the -c option in mke2fs
505 and e2fsck instead of running badblocks directly.
507 * mke2fs.c (create_lost_and_found): The lost+found directory is
508 now created with 0700 permissions, since files which get
509 dropped into that directory may have come from a protected
510 directory, and the system administrator may not deal with
511 immediately. (Addresses Debian bug #118443)
513 2001-12-23 Theodore Tso <tytso@mit.edu>
515 * Makefile.in, jfs_user.h: Move linux/jbd.h to
516 ext2fs/kernel-jbd.h, to avoid using the system header
517 file version of hbd.h when using diet glibc (since it
518 forcibly adds /usr/include to the beginning of the
519 include search path.)
521 2001-12-22 Theodore Tso <tytso@mit.edu>
523 * get_device_by_label.c (init_lvm): Add support to read out
524 information from the LVM proc hierarchy, so that the UUID
525 cache can search the LVM logical volumes for UUID's,
528 2001-12-21 Theodore Tso <tytso@mit.edu>
530 * dumpe2fs.c (list_bad_blocks): Change to not die if the listing
531 of the bad blocks can't be found. Slimmed down dumpe2fs
532 by eliminating duplicate code paths.
534 2001-12-16 Theodore Tso <tytso@mit.edu>
536 * dumpe2fs.c (list_desc), fsck.c (fs_match),
537 get_device_by_label.c (get_label_uuid),
538 mke2fs.c (set_fs_defaults, zap_sector, PRS),
539 tune2fs.c (remove_journal_device, update_feature_set),
540 util.c (figure_journal_size), util.h: Fix gcc -Wall nits.
542 * e2image.c (write_raw_image_file): Fix gcc -Wall nits, and use
543 the stashed inode functions to optimize away system calls.
545 * Makefile.in, jfs_user.h: linux/jfs.h has been renamed to
548 2001-12-02 Theodore Tso <tytso@mit.edu>
550 * dumpe2fs.c: Don't print the offset to the bitmap and inode table
551 if it's negative. Also did some generalized code clean up
552 to slim it down the support of the -x option.
554 2001-11-24 Theodore Tso <tytso@mit.edu>
556 * e2image.8.in: Fix cut-and-paste typo (Addresses Debian bug
559 2001-11-13 Theodore Tso <tytso@mit.edu>
561 * util.c (check_plausibility): Use stat64 if available so that
562 check_plausibility() works with files > 2GB.
564 2001-11-05 Theodore Tso <tytso@mit.edu>
566 * chattr.1.in: Update the man page to document the EXT2_NOTAIL_FL
569 * chattr.c: Add support for the EXT2_NOTAIL_FL flag.
571 * fsck.c (interpret_type): If the "auto" type is specified, make
572 sure interpet_device() is called so that device
573 specifications which use LABEL= or UUID= are translated
574 into a real device name.
576 2001-10-12 Theodore Tso <tytso@mit.edu>
578 * e2image.c (output_meta_data_blocks): Optimize away excess
579 lseek() calls when creating a sparse file. Fewer system
580 calls are a good thing. <g>
582 2001-10-07 Andreas Dilger <adilger@turbolinux.com>
584 * mke2fs.c (main): Always exit with non-zero code in case of error.
586 * mke2fs.c (zap_sector): Check that buffer allocation succeeded.
588 2001-09-20 Theodore Tso <tytso@thunk.org>
590 * Release of E2fsprogs 1.25
592 2001-09-19 Theodore Tso <tytso@mit.edu>
594 * tune2fs.c (remove_journal_inode): Remove dead code that wasn't
597 * tune2fs.8.in: Update man page to reflect the fact that adding or
598 removing a journal doesn't require running e2fsck.
600 2001-09-13 Theodore Tso <tytso@mit.edu>
602 * mke2fs.c (zap_sector): Allocate sufficient space for
605 2001-09-02 Theodore Tso <tytso@thunk.org>
607 * Release of E2fsprogs 1.24a
609 2001-08-31 Andreas Dilger <adilger@turbolinux.com>
611 * mke2fs.c (main): Fix version format string.
613 2001-08-30 Theodore Tso <tytso@thunk.org>
615 * Release of E2fsprogs 1.24
617 2001-08-30 Theodore Tso <tytso@valinux.com>
619 * badblocks.8.in: Fix spelling typo. (Addresses Debian bug #110621)
621 * mke2fs.c (zap_sector): Now takes a third argument, which is how
622 many sectors to clear out. Fixed up Andreas's patch to
623 make it a bit more efficient/compact.
625 2001-08-30 Andreas Dilger <adilger@turbolinux.com>
627 * mke2fs.c (main): Zap the second sector of the disk, along with
628 any sectors in the same filesystem block after the superblock.
629 The latter will remove (for example) swapspace signatures
630 on 4kB+ blocksize filesystems. Also when zeroing the "end"
631 of the filesystem don't actually zero the start of a very
632 small device (less than 64 blocks).
634 2001-08-27 Theodore Tso <tytso@valinux.com>
636 * fsck.c (main): Make version display consistent with the other
639 * lsattr.c, chattr.c, mke2fs.c, tune2fs.c, dumpe2fs.c, e2image.c,
640 mklost+found.c: Remove EXT2FS_VERSION from the version
641 display, since it only confuses people.
643 2001-08-18 Theodore Tso <tytso@valinux.com>
645 * tune2fs.c (remove_journal_device): Remove unused variable
648 * get_device_by_label.h: Define function prototype for
649 copy_string(), since this was moved from fsck.c to
650 get_device_by_label.c by Andreas's BK changeset.
652 2001-08-17 Andreas Dilger <adilger@turbolinux.com>
654 * get_device_by_label.[ch], fsck.c, util.c: New interpret_spec()
655 function in get_device_by_label.c to allow the use of
656 UUID= or LABEL= when creating filesystems which use external
657 journal dev (e.g. mke2fs -J device=LABEL=<journal_label>).
659 * tune2fs.c: Use superblock s_journal_uuid to locate an external
660 journal device instead of s_journal_dev when removing it.
661 Allow opening journal devices to set the label and UUID
662 in the ext2 superblock.
664 * mke2fs.c, tune2fs.c: Free journal_device after use, as it is
665 malloc'd in interpret spec.
667 2001-08-15 Theodore Tso <tytso@valinux.com>
669 * Release of E2fsprogs 1.23
671 2001-08-15 Theodore Tso <tytso@valinux.com>
673 * tune2fs.c: Make sure that error messages are sent to stderr, and
674 normal messages are sent to stdout. (Addresses Debian bug
677 * fsck.8.in: Fixed error in synopsis of the man page.
679 * fsck.c (check_all): Don't bother to interpret a device where the
680 pass number is zero. (Addresses Debian bug #106696.)
681 (main): Print a warning message if there are no devices to
682 be checked. (Addresses Debian bug #107458.)
684 * mke2fs.c (PRS): Handle -O and -s options in line in the getopt
685 loop, so that -s and -O handling are a bit more intuitive.
686 (Not that they should be mixed anyway; -s is deprecated.)
688 * tune2fs.c (parse_tune2fs_options): Give an error if -O is
689 specified more than once.
691 2001-08-10 Theodore Tso <tytso@valinux.com>
693 * mke2fs.8.in: Slim down text describing the -O flag to remove
694 text that erroneously implied that all features
695 (including compatible flags) aren't compatible with older
698 2001-08-09 Theodore Tso <tytso@valinux.com>
700 * mke2fs.c (PRS): Fix bug pointed out by Christopher Niessen; if
701 mke2fs -O none is specified, the sparse_super feature
702 should not be present.
704 * e2image.c, e2image.8.in: Add support for raw image files.
706 2001-08-04 Andreas Dilger <root@lynx.adilger.int>
708 * mke2fs.c (PRS): Put check for JOURNAL_DEV before sparse_option,
709 so we don't set the sparse superblock flag on journal devices.
711 2001-07-31 Theodore Tso <tytso@valinux.com>
713 * tune2fs.c (update_feature_set, remove_journal_inode): If
714 removing an in-filesystem journal, clear out the journal
715 inode and update the filesystem accounting structures so
716 we don't have to run e2fsck to clean up after ourselves
718 2001-07-30 Theodore Tso <tytso@valinux.com>
720 * tune2fs.c (update_feature_set): Don't require a forced fsck if
721 we're removing an external journal from a filesystem.
723 2001-07-27 Theodore Tso <tytso@valinux.com>
725 * mke2fs.c (PRS): If the blocksize is not specified and the
726 journal device is specified, use it to determine the
727 blocksize of the new filesystem.
729 2001-07-20 Theodore Tso <tytso@valinux.com>
731 * fsck.8.in: Add much more explicit language documenting how the
732 fs_passno field in /etc/fstab is handled. (Addresses
735 2001-07-19 Theodore Tso <tytso@valinux.com>
737 * fstype.c (identify_fs): New file which looks at the superblock
738 of the filesystem to determines its type.
740 * fsck.c (fsck_device, ignore, interpret_type): Call identify_fs
741 if the type specified in /etc/fstab is "auto".
743 2001-06-23 Theodore Tso <tytso@valinux.com>
745 * Release of E2fsprogs 1.22
747 2001-06-15 Theodore Tso <tytso@valinux.com>
749 * Release of E2fsprogs 1.21
751 2001-06-14 Theodore Tso <tytso@valinux.com>
753 * mke2fs.c (PRS): Remove unneeded test in when creating a external
756 2001-06-13 Theodore Tso <tytso@valinux.com>
758 * tune2fs.c, mke2fs.c, util.c, util.h (print_check_message): Move
759 the message which displays how often the filesystem will
760 be checked from mke2fs into a utility subroutine. Then
761 cause tune2fs to call that function to display the message
762 after adding a journal to a filesystem.
764 * mke2fs.8.in: Add manual page fixups and explanation for why it's
765 good to check filesystems periodically from Andreas
768 * Makefile.in: Don't build e2image if --disable-imager is
769 specified to configure.
771 2001-06-12 Theodore Tso <tytso@valinux.com>
773 * dumpe2fs.c: Use WORDS_BIGENDIAN to determine whether or not
774 we're (not) using i386 byte order.
776 * dumpe2fs.c, mke2fs.c: Stop using the compatibility badblocks
777 function, and use the ext2fs_badblocks_* functions
780 * fsck.c (device_already_active): Fixed bug which can cause fsck
781 to core dump if there are a mix of devices with standard
782 and non-standard names. (Addresses Debian bug #100559)
784 2001-06-07 Theodore Tso <tytso@valinux.com>
786 * chattr.c, lsattr.c: Don't use _FILE_BITS_OFFSET method of using
787 the 64-bit function, since this changes the expected size
788 of struct dirent. Instead use lseek64 explicitly.
790 2001-06-01 Theodore Tso <tytso@valinux.com>
792 * Makefile.in: Move include/asm/types.h.in to
793 lib/ext2fs/ext2_types.h.in.
795 2001-05-25 Theodore Tso <tytso@valinux.com>
797 * Release of E2fsprogs 1.20
799 2001-05-25 Theodore Tso <tytso@valinux.com>
801 * tune2fs.c (update_feature_set): Fix capitalization typo.
803 2001-05-23 Theodore Tso <tytso@valinux.com>
805 * partinfo.c (main): Use unsigned long instead of long when
806 querying the size of a device using the BLKGETSIZE ioctl,
807 to remove the 1TB limit (and turn it into a 2TB limit :-)
809 * fsck.c (compile_fs_type): Fix I18N compilation bug: use N_()
810 instead of _() to initialize static variables.
812 2001-05-20 Theodore Tso <tytso@valinux.com>
814 * fsck.8.in, fsck.c (compile_fs_type, fs_type, ignore): Fix
815 handling of -t option to be more intuitive. Also add
816 support for the Mandrake -t loop hack. See man page
817 for description of new -t semantics.
819 * fsck.c (device_already_active): Fix bug in
820 device_already_active which could cause infinite loops if
821 we don't know the base_device of the filesystem.
823 * fsck.c: Make sure all exit status codes returned by fsck are
824 consistent with the error codes documented in the fsck man
827 2001-05-14 Theodore Tso <tytso@valinux.com>
829 * badblocks.c, chattr.c, dumpe2fs.c, e2image.c, findsuper.c,
830 lsattr.c, mke2fs.c, mklost+found.c, tune2fs.c, util.c:
831 Change location of ext2_fs.h to be ext2fs/ext2_fs.h
833 * tune2fs.8.in: Fix typo's and make other clarifications suggested
836 2001-05-11 Andreas Dilger <adilger@turbolinux.com>
838 * mke2fs.c: don't zap the superblock if we are running with noaction!
839 Zap the end of the device to remove stale RAID superblocks.
841 2001-05-14 Theodore Tso <tytso@valinux.com>
843 * tune2fs.c (update_feature_set): Clean up some printf messages.
845 * fsck.8.in, mke2fs.8.in, tune2fs.8.in: Fix typo's and make other
846 clarifications suggested by Andreas Dilger.
848 2001-05-13 Theodore Tso <tytso@valinux.com>
850 * mke2fs.c (PRS): Integrated changes from Andreas Dilger which
851 make the revision superblock field be set to the correct
852 value depending on if superblock features are set.
854 2001-05-12 Theodore Tso <tytso@valinux.com>
856 * fsck.c (PRS): fsck -? now prints the usage message.
858 * badblocks.8.in, dumpe2fs.8.in, e2label.8.in, mke2fs.8.in,
859 mklost+found.8.in, tune2fs.8.in: Fix typo; removed
860 excess "anonymous" in the AVAILABILITY section.
862 * chattr.1.in, lsattr.1.in, uuidgen.1.in: Update URL location of
865 2001-05-07 Theodore Tso <tytso@valinux.com>
867 * util.c: Use specific check for HAVE_SYS_STAT_H.
869 2001-05-05 Theodore Tso <tytso@valinux.com>
871 * fsck.8.in: Add explicit language to describe how options get
872 passed to filesystem-specific checkers.
874 * badblocks.8.in: Fixed man page to describe the first optional
875 parameter to badblocks as last_block, instead of
876 num_blocks. (Debian bug #87216)
878 * badblocks.c: Change the blocks_count variable to be last_count,
879 which is a more accurate description of the variable.
881 2001-05-03 Theodore Tso <tytso@valinux.com>
883 * e2image.8.in: New manual page
885 * badblocks.8.in, e2label.8.in, mke2fs.8.in mklost+found.8.in,
886 tune2fs.8.in: Update location of e2fsprogs to be
887 http://e2fsprogs.sourceforge.net.
889 * dumpe2fs.c (main): Add new flag, -i, which will allow dumpe2fs
890 to dump out the filesystem statistics from an ext2 image
893 * e2image.c (main): Fix format of e2image to be easier to be parse
896 2001-05-01 Theodore Tso <tytso@valinux.com>
898 * fsck.c (device_already_active): If we're not able to determine
899 the base device, we should assume that the device is
900 already active in order to force serialization.
902 2001-04-26 Theodore Tso <tytso@valinux.com>
904 * tune2fs.c (parse_tune2fs_options): Interpret -c 0 as -c -1 (for
905 backwards compatibility with older kernels). -c 0 makes
908 2001-04-22 Theodore Tso <tytso@valinux.com>
910 * tune2fs.c (remove_journal_device): If the force flag is given,
911 tune2fs will remove the journal device information from
912 the superblock even if tune2fs failed to open the journal
913 device or otherwise other failed to remove the filesystem
915 (parse_tune2fs_options): Fix -j option so that it works
916 (it was missing the open_flag being set to EXT2_FLAG_RW).
917 (main): Accept "-U clear" to set a null UID.
919 2001-04-21 Theodore Tso <tytso@valinux.com>
921 * mke2fs.8.in: Manual page cleanups. Temporarily comment out the
922 documentation for the extern journal device support.
924 * mke2fs.c (usage): Remove the deprecated -s option from the usage
927 2001-04-16 Theodore Tso <tytso@valinux.com>
929 * mke2fs.c (main): Add better explanation about when the
930 filesystem will be checked after it is created.
932 * util.c (parse_journal_opts): Remove code which allowed a bare
933 number to be treated as a journal size.
935 * mke2fs.c, tune2fs.c: Add newlines to error messages so that they
938 * mke2fs.c (create_journal_dev): Call
939 ext2fs_create_journal_superblock() first, so if it's going
940 to error out, the user finds out before waiting for the
941 entire device to get zero'ed.
943 2001-03-26 Theodore Tso <tytso@valinux.com>
945 * mke2fs.8.in, tune2fs.8.in: Change man paegs to document that the
946 journal must be bewteen 1024 and 102,400 file system
949 * mke2fs.c, tune2fs.c: Change to use figure_journal_size()
951 * util.c, util.h (figure_journal_size): Change
952 journal_default_size into routine which also converts the
953 requested journal size into filesystem blocks and does
954 bounds checking to make sure the journal is sized
955 reasonably. Renamed function to journal_default_size.
956 (parse_journal_opts): Remove bounds check for the journal
957 size, since this is now done in figure_journal_size, and
958 based on the number of filesystem blocks, as opposed to
959 using the absolute size of the journal.
961 2001-02-17 Theodore Tso <tytso@valinux.com>
963 * mke2fs.c (main): Flush out the "creating journal" message.
964 Also handle the case where the default journal size
965 returns zero blocks == no journal. Print out how often
966 the filesystem will be checked.
968 2001-02-08 Theodore Tso <tytso@valinux.com>
970 * e2image.c (main): Add code to write the e2image header.
972 2001-02-07 Theodore Tso <tytso@valinux.com>
974 * tune2fs.8.in: Update man page to reflect that 2.0.39 supports
977 * dumpe2fs.c (list_desc): Fix fencepost error when calculating the
978 range of inode table blocks. Add '0x' to values printed
981 * chattr.c, lsattr.c: Define the _LARGEFILE64_SOURCE to force the
982 use of the LFS so that lstat will work on large files.
984 2001-01-17 Theodore Ts'o <tytso@valinux.com>
986 * tune2fs.c, mke2fs.c, tune2fs.8.in, mke2fs.8.in: Change user
987 interface so that -J is used to specify journal options,
988 and -j is used to request creation of a journal using
989 default values. (This is a UI change, but we haven't done
990 a formal release, and it makes things much more consistent
991 with the rest of the options out there.)
993 * tune2fs.c: Add support for removing a filesystem from an
994 external journal; we correctly remove the filesystem UUID
995 from the external journal's filesystem list.
997 * util.h, util.c (journal_default_size): New function from Andreas
998 Dilger to calculate an appropriate default journal size
999 given a filesystem size.
1001 * util.c (parse_journal_opts): Allow the creation of a journal as
1004 * dumpe2fs.c (print_journal_information): Use s_first_data_block
1005 to find the correct block to read the journal superblock.
1007 2001-01-15 Theodore Ts'o <tytso@valinux.com>
1009 * tune2fs.c: Changed the external journal code so that it simply
1010 adds a filesystem to a journal; the journal must have bene
1011 created via "mke2fs -O journal_dev /dev/XXX".
1013 * mke2fs.c: Add support for creating an external journal device by
1014 using the command "mke2fs -O journal_dev /dev/XXX". Also
1015 changed the external journal code so -j device=/dev/XXX it
1016 simply adds a filesystem to that journal; the journal must
1017 have been created via separate step.
1019 * dumpe2fs.c (print_journal_information): Add support for dumping
1020 information about an external journal device.
1022 2001-01-14 Theodore Ts'o <tytso@valinux.com>
1024 * mke2fs.c: Add new filesystem types, largefile and largefile4,
1025 for those filesystems whose average inode size is 1MB and
1026 4MB, respectively. Allow the inode ratio specified to be
1027 has high as 4MB. Make the s_max_mount_count vary between
1028 20 and 40, to avoid needing to check all of the
1029 filesystems at the same time. Add some random jitter to
1030 the s_max_mount_count value so that we avoid checking all
1031 of the filesystems at the same time when we reboot.
1033 * tune2fs.8.in: Add description of the -j option.
1035 * tune2fs.c (add_journal): Minor fixes from Andreas Dilger. Flush
1036 stdout after printing in-progress message.
1037 (main): Exit with status code 1 if we failed to determine
1038 the mount status of the device.
1040 2001-01-11 <tytso@snap.thunk.org>
1042 * e2image.c, mke2fs.c, mklost+found.c, tune2fs.c, util.c,
1043 uuidgen.c: Fix gcc -Wall complaints, including one bug in
1044 tune2fs caused by a block automatic shadowing version of
1045 the variable we really wanted to use, which broke the
1046 logic testing to see if the filesystem was mounted.
1048 * badblocks.c (flush_bufs): Use ext2fs_sync_device() to sync and
1051 * mke2fs.c: Change ino_t to ext2_ino_t.
1053 2001-01-08 <tytso@snap.thunk.org>
1055 * Makefile.in, tune2fs.c: Move e2label functionality into tune2fs,
1056 using argv[0] as a dispatch. This allows e2label to be
1057 (more) safely used on mounted filesystems.
1059 2001-01-05 <tytso@snap.thunk.org>
1061 * get_device_by_label.h (get_volume_label_by_spec): Add function
1064 * get_device_by_label.c: Use string_copy() instead of strdup() for
1065 portability's sake. Fix a few other gcc -Wall
1068 * fsck.c (string_copy): Export string_copy() extern.
1070 * badblocks.c: Fix various gcc -Wall complaints, including
1071 an incorrect reference to sync in flush_bufs().
1073 2001-01-03 <tytso@snap.thunk.org>
1075 * tune2fs.c (update_feature_set, add_journal): Moved to separate
1076 functions. Added ability to add and remove the journal
1077 while the filesystem is live. Added support for setting
1078 a time-based UUID. Removed zero-initialized static variables.
1080 * mke2fs.c, util.c, util.h (strcasecmp, proceed_question,
1081 check_plausibility, parse_journal_opts, check_mount):
1082 Moved functions to util.c so they can be used by tune2fs.
1084 * mke2fs.c (main): Change ext2fs_add_journal_fs() to
1085 ext2fs_add_journal_inode() to reflect function renaming.
1087 2001-01-01 <tytso@snap.thunk.org>
1089 * mke2fs.c, e2image.c: Removed references to struct ext2fs_sb to
1090 struct ext2_super_block.
1092 * tune2fs.c (main): Add support to allow HAS_JOURNAL flag to be
1093 cleared, but only if the filesystem is unmounted or
1094 mounted read-only. Changed struct ext2fs_sb to struct
1095 ext2_super_block, and cleaned up old code which was needed
1096 for old versions of ext2_fs.h (not needed since we're
1097 using our own version now).
1099 2000-12-31 <tytso@snap.thunk.org>
1101 * fsck.c (check_all): Call interpet_device to resolve LABEL= and
1102 UUID= right away so that the device_already_active() logic
1103 can do the right thing. Also cleaned up the the root
1104 filesystem logic checking code; fixed up a logic bug with
1105 the parallel_root option.
1107 * lsattr.1.in: Add pointer to chattr man page for definition of
1108 the file attributes.
1110 * lsattr.c (list_attributes): Minor cleanup to smooth out logic
1111 flow. Also removed static initialized variables to zero.
1113 * chattr.c (decode_arg, get_flag): Use a table-driven method for
1114 decoding the ext2 file flags character options. Add
1115 support for the journaled data flag.
1117 * chattr.1.in: Document the -j/+j/=j flag.
1119 2000-12-30 <tytso@snap.thunk.org>
1121 * mke2fs.8.in: Minor clarity edit.
1123 * mke2fs.c (usage): Document the -j option.
1124 (main): Print the number blocks used in the journal.
1126 2000-12-28 <tytso@snap.thunk.org>
1128 * base_device.c (base_device): Add support for DAC960 device
1131 * fsck.c (device_already_active): Handle the case where
1132 base_device doesn't know how to interpret the device name,
1133 instead of core dumping.
1135 2000-12-09 <tytso@snap.thunk.org>
1137 * mke2fs.c (main, parse_journal_opts): Add support for creating V1
1138 superblocks. We now pass in a journal_flags field to the
1139 journal creation routines for this purpose.
1141 * mke2fs.c: Remove zero initializers to save a few bytes from the
1142 executable image. (Are we excited yet?)
1144 * findsuper.c: And non-subtle copyright licensing restriction to
1145 get Yann to remove this program from the Debian package. :-)
1147 2000-12-03 <tytso@snap.thunk.org>
1149 * fsck.c (device_already_active): Change to use new version of
1150 base_device() which now returns dynamically allocated
1153 * base_device.c (base_device): New version moved from fsck.c which
1154 now understands ugly devfs names. (Debian bug #65181)
1156 * base_device.tst: Test case for base_device.c
1158 2000-12-02 <tytso@snap.thunk.org>
1160 * fsck.8.in: Add clarification that filesystems with a fs_passno
1161 of 0 are skipped with the -A option. (Debian wishlist/bug
1164 * fsck.c (wait_one): When we let a new fsck take control of the
1165 console to display the progress bar, set FLAG_PROGRESS to
1166 so that fsck knows not to start new processes during an
1167 fsck pass with the progress bar. (Should fix debian bug
1170 * tune2fs.8.in: Add clarifying statement about converting user and
1171 group names to uid's before storing them in the
1172 superblock. (Debian bug #67446)
1174 2000-11-16 Theodore Ts'o <tytso@valinux.com>
1176 * mke2fs.c(main): Expand the -j option so that it parses
1177 option=argument style options, and add support for
1178 creating filesystems with external journals.
1180 * mke2fs.8.in: Document new syntax for the -j option.
1182 2000-11-05 <tytso@snap.thunk.org>
1184 * e2image.c, Makefile.in: New program which saves ext2 metadata to
1185 a file for people who need a last-ditch saving throw.
1187 2000-10-24 <tytso@snap.thunk.org>
1189 * mke2fs.c (PRS): Applied Andreas Dilger's patch to make the -r -s
1190 handling a bit more sane. (Even though -s is deprecated
1193 * get_device_by_label.c: Apply fix from Erik Troan to support 16
1196 * fsck.c (device_already_active): Add a special case check for MD
1197 devices, so we don't try to check them in parallel with
1200 * mke2fs.c (PRS, main), mke2fs.8.in: Add support for the -j
1201 option, which builds an ext2/3 filesystem with an ext3
1204 2000-10-24 <tytso@valinux.com>
1206 * mke2fs.c (zap_sector): Fix really stupid typo which gcc 2.95
1209 2000-09-12 <tytso@valinux.com>
1211 * fsck.c: Add base device definitions for hd[e-h], for those
1212 systems with four IDE interfaces.
1214 2000-09-11 <tytso@valinux.com>
1216 * mke2fs.c (zap_sector): Fix error message printed when zap_sector
1219 * dumpe2fs.c (list_desc): Fixed format string bug when printing
1220 the inode table location in non-hex format.
1222 2000-08-20 <tytso@valinux.com>
1224 * get_device_by_label.c: Add call to ext2fs_find_block_device if
1225 we can't find the device using the name given by
1226 /proc/partitions. (This can happen if devfs is compiled
1227 into the kernel, but not mounted.)
1229 2000-06-27 Andreas Dilger <adilger@turbolabs.com>
1231 * dumpe2fs.c (usage): add fhx options to usage message, add -x option
1232 to print out the per-group block numbers in hex, add line for
1233 location of primary/backup superblock and group descriptors
1235 * mke2fs.c: rename max to group_blk_max avoid potential macro conflict
1237 2000-08-14 <tytso@valinux.com>
1239 * mke2fs.c (zap_sector): Change zap_bootsect to more general
1241 (main): Clear the superblock when starting mke2fs, to
1242 avoid leaving the filesystem in an inconsistent state.
1244 2000-07-26 <tytso@valinux.com>
1246 * get_device_by_label.c: Improve /proc/partitions parsing in
1247 fsck, and speed up fsck -a.
1249 2000-07-13 <tytso@valinux.com>
1251 * Release of E2fsprogs 1.19
1253 2000-07-13 <tytso@snap.thunk.org>
1255 * badblocks.8.in: Added text explaining that the -n and -w options
1256 are mutually exclusive.
1258 * badblocks.c (usage): Fix usage message to make it clear that the
1259 block count must be specified if the starting block is to
1260 be specified. (The starting block should be a option, in
1263 * badblocks.c (test_nd): Save and restore the currently_testing
1264 variable before going into the write verification loop.
1265 This avoids a loop termination problem if the last block
1266 on the disk is bad. Also, turn off the SIGALRM signal
1267 while restoring blocks after the user types ^C. The
1268 num_saved variable is now static so that it won't get
1269 clobbered by a longjmp. buf_used and bb_count are no
1270 longer static, since they aren't used by the cleanup
1273 * badblocks.c (main): Removed an unsued varaible (buf_size).
1274 Fixed bad getopt argument that didn't allow the 'b' option
1275 to take an argument. Added error checking when parsing
1276 the starting block number. Fixed lint warning in fscanf
1279 2000-07-06 Theodore Ts'o <tytso@valinux.com>
1281 * fsck.c (execute, wait_one): Treat fsck.ext3 the same as
1282 fsck.ext2 (because they are the same) for the purposes of
1283 the progress bar display logic.
1285 * tune2fs.8.in: Update manual page to document what happens if
1286 max_mount_count is negative.
1288 * tune2fs.c (main): Allow setting the maximal count value to be
1289 negative, since the kernel interprets that as forcing a
1292 * fsck.c (lookup, load_fs_info, check_all): Use lazy evaluation
1293 for calling interpret_device(), since this requires root
1294 privileges if the partitions need to be scanned.
1295 Otherwise, it's not possible to do non-proot fsck's for
1296 removeable devices such as floppies if there are any
1297 LABEL= or UUID= entries in /etc/fstab.
1299 * badblocks.c (check_mount, main): Check to see if the filesystem
1300 is mounted before doing a read/write or non-destructive
1301 test. This can be overriden using the new -f option.
1303 * badblocks.8.in: Update manual page to reflect that the
1304 blocks-count parameter is now optional. Also properly
1305 document the start-block parameter. Added documentation
1308 * badblocks.c (main): Allow the blocks-count parameter to be
1309 optional. If it's not specified, use the size of the
1310 device as a default.
1312 2000-07-05 Theodore Ts'o <tytso@valinux.com>
1314 * badblocks.c (test_nd): Significantly simplify the logic so that
1315 it's more obviously what's going on. Fixed a few
1316 potential cases which weren't handled correctly in the
1317 old, overly complicated logic.
1318 (flush_bufs): Now doesn't take a second argument, and
1319 always forces a sync; this is required before it's really
1320 safe to call BLKFLSBUF, at least for some kernels.
1322 2000-05-29 Theodore Ts'o <tytso@valinux.com>
1324 * mke2fs.c (PRS): Add a much more specific error message if the
1325 filesystem size is defaulted and get_device_size returns a
1326 size of zero. Otherwise, users get a confusing "invalid
1327 argument while passed to ext2 library" error message.
1329 2000-05-08 Theodore Ts'o <tytso@valinux.com>
1331 * fsck.c (interpret_device): Add better error messages if a UUID=
1332 or LABEL= specification is given.
1334 * mke2fs.c (main): We forcibly turn off the filetype feature if
1335 the OS is the hurd, since the hurd doesn't support it.
1336 (And since the hurd allows the transmogrification of files
1337 to special files and vice versa --- for no good reason
1338 that I can understand --- it can't support the filetype
1339 feature for the forseeable future, either.)
1341 * mke2fs.c (proceed_question): Fix reversed sense of
1342 proceed_question that was busted due to the
1343 internationalization patch. Fixed bug where if
1344 proceed_question was called twice, the input buffer wasn't
1345 cleared of the previous question's newline.
1347 Thu Apr 6 17:50:25 2000 Theodore Y. Ts'o <tytso@signal.thunk.org>
1349 * badblocks.c (flush_bufs): Use fsync() if the system doesn't
1350 support fdatasync().
1352 2000-04-03 Theodore Ts'o <tytso@valinux.com>
1354 * badblocks.c, dumpe2fs.c, e2label.c, mke2fs.c, tune2fs.c,
1355 uuidgen.c: For platforms that don't define optarg.h,
1356 manually define optarg and optind.
1358 * badblocks.8.in: Updated manual page with suggestions from David
1361 * badblocks.c (test_nd): Generalized cleanup and bug-fixes. We
1362 now explicitly clear out the signal handlers to prevent a
1363 longjmp to a deactivated stack frame.
1364 (test_rw): Fixed a signed vs. unsigned comparison error.
1366 * badblocks.8.in, chattr.1.in, dumpe2fs.8.in, lsattr.1.in,
1367 mklost+found.8.in, tune2fs.8.in: Update Remy Card's e-mail
1369 chattr.1.in: Update which attributes aren't supported.
1371 2000-02-09 Theodore Ts'o <tytso@valinux.com>
1374 * lsattr.1.in: Change "version" to "version/generation number".
1376 * chattr.1.in: Fix stupid file vs filesystem typo.
1378 * tune2fs.c Fix spelling error (spare vs sparse).
1380 * mke2fs.c (PRS): Add safety check to make sure the number of
1381 blocks doesn't exceed 32 bits on a 64 bit machine.
1383 * chattr.c: Random cleanup; file-only variables are now static.
1384 Options for setting/clearings flags put into order, and
1385 #ifdef's removed (since we now use a built-in header
1386 file). Add error message if user tries to set and reset
1389 * lsattr.c: Random cleanup; file-only variables are now static.
1390 The -l "long" listing has been changed to look nicer.
1391 Options names have been renamed to be more descriptive.
1393 2000-02-06 Theodore Ts'o <tytso@valinux.com>
1395 * badblocks.c, chattr.c, dumpe2fs.c, e2label.c, findsuper.c,
1396 fsck.c, get_device_by_label.c, lsattr.c, mke2fs.c,
1397 mklost+found.c, nls-enable.h, partinfo.c, tune2fs.c,
1398 uuidgen.c: Add Internationalization support as
1399 suggested by Marco d'Itri <md@linux.it>.
1401 * badblocks.c: Fix non-destructive read/write patches from David
1402 Beattie. Non-standard variable-length automatic arrays
1403 removed. Non-destrutive write test fixed so that logic is
1404 clearer and more provably correct. (I believe the old
1405 code had a bug where the disk data wasn't restored if it
1406 was interrupted at the wrong time.)
1408 * badblocks.8.in: Document new options in man page.
1410 2000-02-02 Theodore Ts'o <tytso@valinux.com>
1412 * fsck.c (interpret_device): If there was an attempt to interpret
1413 a device specification of the type "UUID=" or "LABEL=",
1414 and it fails, check to see if /proc/partitions is
1415 readable. If not, print a warning message about /proc
1416 perhaps not being mounted, and exit.
1418 * mke2fs.c (check_plausibility): Remove unneeded #include of
1419 linux/fs.h. Add #define of MAJOR if necessary.
1421 * partinfo.c: Remove unneeded #include of linux/fs.h
1423 2000-01-19 Theodore Ts'o <tytso@valinux.com>
1425 * tune2fs.c (usage): Update the usage message to correctly
1426 document the -s option.
1428 2000-01-18 Theodore Ts'o <tytso@valinux.com>
1430 * badblocks.c: Folded in patches David Beattie <dbeattie@usa.net>.
1431 Need to do cleanup before release: use of GCC extensions
1432 (dynamic arrays); unclean coding tricks (use of || instead
1433 of if statements, etc.). Comments from David Beattie:
1435 "I added non-destructive write-testing, and quite a few
1436 other features. The non-destructive write testing,
1437 triggered by new "-n" command-line option, will write test
1438 patterns to the disk, but only after reading data off the
1439 disk into memory. Then, comparing the test patterns gives
1440 a result as to whether or not those sectors are reliable.
1441 Finally, the original data is written back.
1443 To streamline this operation, I added another option, "-c
1444 blocks_at_once", which will give the number of disk blocks
1445 to process at one time (mnemonic--"count"). I made this
1446 default to 16 (as in the read-only testing mode), and also
1447 affect the read-only testing mode. Of course, read-only
1448 mode needs (count * block_size) amount of memory, and
1449 non-destructive read-write needs 3 times that much, so it
1450 makes sense to do the calculations and not overrun
1451 available RAM...I would have liked to implement and
1452 auto-memory-usage heuristic, but I have no idea if it's
1453 even possible to determine the amount of free memory on a
1454 Unix system except by reading /proc entries, and that
1455 didn't seem portable. I did NOT make this blocks_at_once
1456 affect the behavior of the test_rw routine, as it is
1457 processing the whole disk at once, anyway.
1459 I *think* that I got higher detection rates on my hard
1460 drive using random test data than patterned test data, so
1461 my non-destructive mode initializes its test data buffer
1464 I fixed a typo in flush_bufs that caused the ioctl
1465 BLKFLSBUF to never get compiled into the program.
1467 Also, I added an "undocumented" (I didn't put it into the
1468 usage message; you can if you think it's useful) "-h"
1469 option to specify the host device to flush--useful if you
1470 want to test out my "non-destructive" code on something
1471 other than a hard drive, such as a file on a hard drive,
1472 and want the host hard drive to flush.
1474 I provided support for an "input" file (via option "-i",
1475 similar to the "-o" option)...containing a list of
1476 already-known bad blocks; it will skip testing those
1477 blocks, thus adding speed to the bad block scan (on my
1478 computer, hitting a physically bad block causes a
1479 half-second-or-more freeze as the kernel waits for the
1480 hard drive to give up and reset itself; pretty annoying
1481 when you already know the block is bad from a previous
1484 Finally, the real killer, the persistent re-scan (option:
1485 "-p num_passes") that I created will, if desired,
1486 persistently re-scan the drive until it has completed a
1487 user-decidable number of passes in a row during which no
1488 new bad blocks are found. On my drive, I would see
1489 behavior that a certain percentage of bad blocks would be
1490 found with each pass (it was not reliable in the defective
1491 areas!), so I wanted it to check it over and over again
1492 until it didn't find any more, several times. Perhaps
1493 this will be useful to others. Defaults of course to
1494 zero, meaning it will stop after the first pass. I used
1495 "-p 2" on my drive, and it ran for 2 1/2 days...then used
1496 "-p 3" a couple days later and it ran for a few more
1497 hours, and since then the rest of my drive has been
1498 completely reliable.
1500 Implementation of these last two features, "-i" and "-p",
1501 I did using a bb_list from libext2fs. I debated whether
1502 bad blocks input through "-i" should be output into the
1503 "-o" file (or stdout, of course), and decided against it,
1504 but left the code to do so in place, commented out, just
1505 for your information.
1507 In order to maintain data integrity upon interruption of a
1508 non-destructive-write test, I created a signal handler
1509 which I install which will write back whatever original
1510 disk data is in the buffers upon any of the fatal signals
1511 (except SIGKILL, of course).
1513 Of course, ideally, the new options would be reflected in
1514 the badblocks manual page, but I am not experienced at
1515 manual page modification; if you decide my patch to
1516 badblocks should be incorporated into the distribution, I
1517 could learn how to update the manpage and other
1518 documentation, or you could do it for me after exercising
1519 your opinions, if you have any, on exactly what the
1520 command-line parameters should be called and which ones
1521 should be in the distribution."
1523 2000-01-07 Theodore Ts'o <tytso@valinux.com>
1525 * Really fix the bug where "fsck -As" will actually allow
1526 interactive fsck's. (For those people who like to do
1527 interactive fsck's in the /etc/rc scripts!?!)
1529 1999-11-23 <tytso@valinux.com>
1531 * tune2fs.8.in: Fix man page so that the sparse_super filesystem
1532 option is properly named.
1534 1999-11-22 <tytso@valinux.com>
1536 * mke2fs.c: Change log2() and log10() to int_log2() and
1537 int_log10() to avoid namespace collisions. Change #ifdef
1538 sparc to #ifdef __sparc__.
1540 1999-11-19 <tytso@valinux.com>
1542 * Makefile.in (distclean): Remove TAGS and Makefile.in.old from
1543 the source directory.
1545 1999-11-10 <tytso@valinux.com>
1547 * Release of E2fsprogs 1.18
1549 1999-11-10 <tytso@valinux.com>
1551 * mke2fs.8.in: Update manual page so that the sparse_option
1552 filesystem option is properly named.
1554 1999-11-04 <tytso@valinux.com>
1556 * fsck.c (main): Move setting of the interactive flag to before
1557 the call to check_all(), so that people who try to use
1558 fsck -As can do so interactively.
1560 1999-10-26 <tytso@valinux.com>
1562 * Release of E2fsprogs 1.17
1564 1999-10-26 <tytso@valinux.com>
1566 * fsck.c (PRS, device_already_active): Add debugging hook; if the
1567 environment variable FSCK_FORCE_ALL_PARALLEL is set, then
1568 force all fsck runs to happen in parallel.
1570 * get_device_by_label.c (has_right_label): Fixed bug where code
1571 used a strncmp to compare a binary UUID value which may
1572 contain a NULL. Fixed GCC warnings; added const to char *
1573 typed variables. Eliminated non-portable use of u_char.
1575 * mke2fs.c (PRS): Fix gcc warnings; add const to some char *
1576 variables, including in struct mke2fs_defaults.
1577 (set_fs_defaults): Changed parameter name to avoid
1580 * fsck.c (wait_one): Fix gcc warnings; add #include for ctype.h,
1581 add const to char * variables, and use NOARGS to declare
1582 functions that take no arguments. Also fix a memory leak
1583 in execute() where we weren't freeing argv[] after forking
1586 * chattr.c: Add hack to compile in a definition for S_ISLNK so we
1587 can successfully compile even with warnings turned on.
1589 1999-10-25 <tytso@valinux.com>
1591 * mke2fs.c (show_stats): Capitalized Hurd to make the GNU types
1593 (PRS): Use __u64 instead of long long for portability
1594 reasons. Also moved #include of sys/stat.h inside #ifdef
1595 HAVE_LINUX_MAJOR_H for portability reasons.
1597 * fsck.c (execute): Fix really stupid bug in the linked list
1598 management which caused fsck in parallel mode to go into
1601 1999-10-22 <tytso@valinux.com>
1603 * Release of E2fsprogs 1.16
1605 1999-10-22 <tytso@valinux.com>
1607 * tune2fs.c (main): Add a new option -O which allows the user to
1608 set and clear certain "safe" filsystem feature flags.
1609 Currently, the only ones which are supported for
1610 modification are sparse_superblock and filetype.
1612 * mke2fs.c (PRS): Add new option -O which allows the user to
1613 request filesystems with specific filesystem options. By
1614 default on 2.2 and later systems, create filesystems that
1615 have both file type information and sparse superblocks.
1617 1999-10-21 <tytso@valinux.com>
1619 * badblocks.8.in, chattr.1.in, dumpe2fs.8.in, e2label.8.in,
1620 fsck.8.in, lsattr.1.in, mke2fs.8.in, mklost+found.8.in,
1621 tune2fs.8.in, uuidgen.1.in: Update man page to use a more standard
1622 format (bold option flags and italicized variables), as
1623 suggested by Andreas Dilger (adilger@enel.ucalgary.ca)
1625 1999-10-14 <tytso@valinux.com>
1627 * tune2fs.c (main): Fix typo (double spaces) in messages regarding
1628 changing the sparse superblock option
1630 * fsck.c (wait_one): If the fsck process just started, wait a
1631 second before sending a SIGUSR1, to give it a chance
1632 to set the signal handler; otherwise, fsck will die on an
1635 1999-09-15 <tytso@valinux.com>
1637 * mke2fs.c (show_stats): Fix display bug when printing out the
1638 number of superblocks. Suggested by Yann Dirson.
1640 1999-09-08 <tytso@valinux.com>
1642 * partinfo.c: Fix minor compilation bugs pointed out by Yann
1645 * mke2fs.c: Don't turn on sparse superblocks by default on pre-2.2
1648 * mke2fs.8.in: Add the possible valid block sizes for mke2fs.
1649 Document the -n flag, and the new defaults for the -s
1652 * dumpe2fs.c, dumpe2fs.8.in: Add new options -f (force) and -h
1655 1999-08-13 <tytso@valinux.com>
1657 * mke2fs.c (PRS): Fix logic for turning on/off the sparse
1660 1999-07-18 Theodore Ts'o <tytso@valinux.com>
1662 * Release of E2fsprogs 1.15
1664 1999-07-18 <tytso@rsts-11.mit.edu>
1666 * mke2fs.c (PRS, set_fs_defaults): Add new option -T which allows
1667 the user to specify the how the filesystem is to be used.
1668 Mke2fs now chooses the filesystem parameters automatically
1669 based on the size of the filesystem and the intended use
1670 of the filesystem. Add new option -n which simply goes
1671 through the calculations to determine the parameters of
1672 the filesystem the system would make.
1674 1999-07-18 <tytso@valinux.com>
1676 * fsck.c, fsck.h: Add support for new option -C. This option will
1677 automatically manage e2fsck processes so that they will
1678 print completion/progress bars. If multiple filesystems
1679 are being checked, arrange to make sure that only one
1680 e2fsck process is displaying a progress bar at a time.
1682 1999-07-08 <tytso@valinux.com>
1684 * badblocks.c (do_test): Don't complain if the write error occurs
1685 on a non-block boundary. This is perfectly common when
1686 using blocksizes larger than 1k.
1688 1999-07-03 <tytso@valinux.com>
1690 * uuidgen.c: Add option parsing so that user can ask for either a
1691 time-based UUID or a random-based UUID.
1693 1999-07-02 <tytso@valinux.com>
1695 * fsck.c: Added support for LABEL= and UUID= specifications for
1696 the filesystem's device, to match what recent mount
1697 programs can support. Also, close stdin when doing fsck
1698 -A or when checking more than one filesystem at a time, so
1699 that e2fsck doesn't try to ask interactive questions if
1700 the filesystem appears to be mounted.
1702 * get_device_by_label.c: New file added to support LABEL=foo and
1703 UUID=bar type specifications.
1705 1999-07-01 <tytso@valinux.com>
1707 * badblocks.c: Make the "done" string include enough spaces to
1708 clear out a large block number.
1710 1999-06-29 <tytso@valinux.com>
1712 * mke2fs.c (check_mount): Allow a filesystem to be made even if it
1713 appears mounted if the force option is given.
1715 1999-06-24 <tytso@valinux.com>
1717 * mke2fs.8.in: Fix typo in man page which caused the badblocks
1718 command to not show up in the "SEE ALSO" section.
1720 1999-05-02 <tytso@rsts-11.mit.edu>
1722 * findsuper.c: Added documentation from aeb@cwi.nl; some minor
1725 1999-05-20 <tytso@rsts-11.mit.edu>
1727 * dumpe2fs.c, dumpe2fs.8.in: Added new command-line options which
1728 allow a filesystem expert to specify the superblock and
1729 blocksize when opening a filesystem. This is mainly
1730 useful when examining the remains of a toasted filesystem.
1732 1999-03-11 Andreas Dilger <adilger@enel.ucalgary.ca>
1734 * uuidgen.c, uuidgen.1.in: Created command-line utility to
1737 1999-03-14 Theodore Ts'o <tytso@rsts-11.mit.edu>
1739 * fsck.c (fsck_device, execute): Don't dereference a null pointer
1740 when checking a filesystem not in /etc/fstab.
1742 1999-02-09 Theodore Ts'o <tytso@rsts-11.mit.edu>
1744 * fsck.c (fsck_device): Print an error message if the user passes
1745 in a device or directory name which isn't found in /etc/fstab.
1746 Allow the location of /etc/fstab to be overridden by
1747 the FSTAB_FILE environment variable.
1749 1999-01-30 Theodore Ts'o <tytso@rsts-11.mit.edu>
1751 * mke2fs.c (write_inode_tables): Add kludge code so that when the
1752 MKE2FS_SYNC environment variable is set, mke2fs will sync
1753 every MKE2FS_SYNC block groups, while it is writing out
1754 the inode tables. This is to work around a VM bug in the
1755 2.0 kernel. I've heard a report that a RAID user was able
1756 to trigger it even using a 2.2 kernel.
1758 1999-01-16 Theodore Ts'o <tytso@rsts-11.mit.edu>
1760 * fsck.c (execute, wait_one): Modified routines so that they
1761 accurately create an fsck_instance even when the noexecute
1762 flag is set. This allows for accurate debugging of the
1763 fsck pass structure.
1764 (check_all): When the verbose flag is given twice, print
1765 debugging information about when fsck is waiting for jobs
1768 1999-01-09 Theodore Ts'o <tytso@rsts-11.mit.edu>
1770 * Release of E2fsprogs 1.14
1772 1999-01-09 Theodore Ts'o <tytso@rsts-11.mit.edu>
1774 * fsck.8.in: Clarified and expanded the documentation for the -A
1777 1999-01-07 Theodore Ts'o <tytso@rsts-11.mit.edu>
1779 * fsck.c (load_fs_info): If the pass number field is missing, it
1780 needs to be treated as zero.
1782 1999-01-05 Theodore Ts'o <tytso@rsts-11.mit.edu>
1784 * mke2fs.c (PRS): Add -N option to allow the user to specify
1785 exactly how many inodes he/she wishes.
1787 * chattr.c, lsattr.c: Only print the version information for the
1788 program if the -V option is given.
1790 * chattr.c: Ignore symbolic links when doing a recursive descent
1791 through a directory.
1793 1999-01-01 Theodore Ts'o <tytso@rsts-11.mit.edu>
1795 * fsck.c (load_fs_info, parse_fstab_line): Ignore fstab lines
1796 are commented out. Also allow blank lines in the
1798 (execute): In verbose mode, print the mountpount of the
1799 filesystem which we are checking (user request).
1801 1998-12-30 Theodore Ts'o <tytso@rsts-11.mit.edu>
1803 * mke2fs.c: Add definition of SCSI_BLK_MAJOR if not defined, for
1804 compatibility with Linux 1.2.13 header files.
1806 1998-12-15 Theodore Ts'o <tytso@rsts-11.mit.edu>
1808 * Release of E2fsprogs 1.13
1810 1998-12-07 Theodore Ts'o <tytso@rsts-11.mit.edu>
1812 * mke2fs.8.in: Fixed stupid typo ("Raid options are _comma_
1813 seperated", instead of common separated)
1815 1998-12-03 Theodore Ts'o <tytso@rsts-11.mit.edu>
1817 * Makefile.in: Updated dependencies.
1819 1998-11-27 Theodore Ts'o <tytso@rsts-11.mit.edu>
1821 * fsck.c (load_fs_info): Parse /etc/fstab ourselves, instead of
1822 relying on getmntent(). This has the advantage of
1823 allowing us to properly handle missing pass numbers correctly.
1825 1998-11-13 Theodore Ts'o <tytso@rsts-11.mit.edu>
1827 * tune2fs.8.in: Fix minor display bug in the nroff.
1829 * mke2fs.c (show_stats, write_inode_tables): Use the log10
1830 function to calculate the display of block numbers so that
1831 things look nice on an 80 character display.
1833 1998-10-12 Theodore Ts'o <tytso@rsts-11.mit.edu>
1835 * mke2fs.c (usage): Add the sparse-super-flag to the usage
1838 1998-07-09 Theodore Ts'o <tytso@rsts-11.mit.edu>
1840 * Release of E2fsprogs 1.12
1842 1998-07-04 Theodore Ts'o <tytso@rsts-11.mit.edu>
1844 * findsuper.c (main): Print the block group number which is now
1845 being written by e2fsprogs.
1847 1998-06-25 Theodore Ts'o <tytso@rsts-11.mit.edu>
1849 * fsck.c (ignore): Remove unused variable cp.
1851 * chattr.c (fatal_error):
1852 * tune2fs.c (usage):
1854 * dumpe2fs.c (usage):
1855 * badblocks.c (usage): Remove volatile from declaration.
1857 * fsck.c: Change use of strdup to be string_copy, since we don't
1858 trust what glibc is doing with strdup. (Whatever it is,
1861 1998-06-19 Theodore Ts'o <tytso@rsts-11.mit.edu>
1863 * mke2fs.c (PRS): Add a -V option which prints the version number
1866 1998-05-14 Theodore Ts'o <tytso@rsts-11.mit.edu>
1868 * fsck.c (ignore): Remove check for filesystems with the noauto
1871 1998-03-30 Theodore Ts'o <tytso@rsts-11.mit.edu>
1873 * Makefile.in: Change to use new installation directory variables
1874 convention. Fix uninstall rules to take $(DESTDIR) into
1875 account. Remove cat8dir and cat1dir from the installdirs
1876 target, since modern man package don't necessarily put the
1877 cat directory in /usr/man/cat?.
1879 1998-03-29 Theodore Ts'o <tytso@rsts-11.mit.edu>
1881 * e2label.8.in: New man page to document the e2label function.
1883 * e2label.c: Fix -Wall warning by making functions static.
1885 1998-03-28 Theodore Ts'o <tytso@rsts-11.mit.edu>
1887 * chattr.1.in: Document that the append-only attribute may
1888 only be set or cleared by the superuser.
1890 * Update all manual pages to that the availability section is
1893 * e2label.8.in, tune2fs.8.in: Update manual page to state that
1894 labels must be no longer than 16 characters, or they will
1897 * e2label.c (change_label), tune2fs.c (main): If the label is
1898 longer than 16 characters, print a warning message stating
1899 that the label will be truncated.
1901 * mke2fs.c (PRS): If the user specifies a filesystem size, and
1902 it's larger than the apparent size of the device, print a
1903 warning message and ask if the user wants to proceed.
1905 1998-03-21 Theodore Ts'o <tytso@rsts-11.mit.edu>
1907 * mke2fs.c (check_plausibility): Fixed spelling typo in warning
1908 message. Fixed up -Wall warnings in file.
1910 Sun Mar 8 22:21:48 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
1912 * partinfo.c (main): The ioctl BLKGETSIZE requires a long, not an
1915 Sun Feb 1 16:53:36 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
1917 * badblocks.8: Update documentation to note that output format
1918 of badblocks is suitable for use with e2fsck -l or
1921 * mke2fs.c (handle_bad_blocks): Fix bug so that all groups with
1922 bad superblock backup blocks are printed (not just the
1925 Mon Dec 1 17:01:04 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1927 * badblocks.8.in: Add documentation for the -s option.
1929 Fri Oct 24 23:37:52 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1932 * chattr.c: Remove #include of getopt.h, since it's not needed.
1936 * badblocks.c (main):
1937 * dumpe2fs.c (main):
1938 * mke2fs.c (PRS): Make the variable which getopt returns into be
1939 an int, so that it won't lose on platforms where char is
1942 Fri Oct 3 13:38:45 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1944 * mke2fs.c (parse_raid_opts): Make parse_raid_opts return a void,
1945 to fix a -Wall warning.
1947 Mon Sep 15 22:07:12 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1950 * mklost+found.c (main):
1952 * dumpe2fs.c (main):
1954 * badblocks.c (main): Declare main to return an int, as required.
1955 Make sure main always ends with an exit(0). (Some
1956 programs weren't doing this, and thus were returning a
1959 Mon Jul 14 15:27:29 1997 Theodore Y. Ts'o <tytso@mit.edu>
1961 * e2label.c: New file contributed by Andries Brouwer which
1962 provides an easy-to-use interface to modify the filesystem
1965 * Makefile.in (SPROGS): Add Makefile support to build e2label
1967 Tue Jun 17 01:33:20 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1969 * Release of E2fsprogs 1.11
1971 Mon Jun 16 23:37:54 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1973 * mke2fs.c (show_stats): Adjust the number of columns printed when
1974 displaying the superblock backups to avoid running over
1975 80 columns when making a really big disk.
1977 Thu May 8 22:22:08 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1979 * badblocks.8.in, chattr.1.in, dumpe2fs.8.in, fsck.8.in,
1980 mke2fs.8.in, tune2fs.8.in: Fix minor typos and grammer
1981 oops found by Bill Hawes (whawes@star.net).
1983 * mke2fs.c (test_disk): Pass the blocksize to the bad blocks
1984 command so that all of the filesystem gets tested in the
1985 case where the blocksize 2048 or 4096.
1987 Thu Apr 24 12:16:42 1997 Theodre Ts'o <tytso@localhost.mit.edu>
1989 * Release of E2fsprogs version 1.10
1991 Thu Apr 24 09:52:47 1997 Theodre Ts'o <tytso@localhost.mit.edu>
1993 * mke2fs.c: Added new option -R, which specifies RAID options.
1994 Currently the only supported RAID option is "stride" which
1995 specifies the stripe width in RAID filesystem. This is
1996 used to aid in the placement of the inode and block
1999 * mke2fs.8.in, tune2fs.8.in: Added warnings that the sparse
2000 superblock option isn't yet supported by most kernels.
2002 Wed Apr 23 22:42:51 1997 Theodre Ts'o <tytso@localhost.mit.edu>
2004 * mke2fs.c (PRS): Make the default filesystem revision be 0, not
2005 1. (Since some people are still worried about 1.2.13
2008 Thu Apr 17 12:23:38 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
2010 * Release of E2fsprogs version 1.09
2012 Fri Apr 11 18:57:24 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
2014 * chattr.1.in: Updated man page so that the 'A' attribute is
2015 specified everywhere.
2017 * chattr.c (usage): Added usage message for the 'A' attribute.
2019 Fri Apr 11 18:56:26 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
2021 * Release of E2fsprogs version 1.08
2023 Thu Apr 10 07:08:03 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
2025 * dumpe2fs.c (list_desc): List the offsets of the inode and block
2026 bitmaps, and the inode table. List the block boundaries
2029 Sat Apr 5 11:55:52 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
2031 * tune2fs.c (main): Implement the -s flag allows the user to
2032 set and reset the sparse superblock flag.
2034 * mke2fs.c (PRS): By default generate DYNAMIC revision
2035 filesystems. The -s flag controls whether or not the
2036 sparse superblock flag is set.
2037 (PRS): Change to allow the user to specify the true
2038 maximum number of blocks per group to reflect the
2041 Wed Mar 12 13:32:05 1997 Theodore Y. Ts'o <tytso@mit.edu>
2043 * Release of E2fsprogs version 1.07
2045 Thu Mar 6 17:15:05 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
2047 * mke2fs.c (create_root_dir): Set the root directory's i_uid and
2048 i_gid to be the real user and group id.
2050 Tue Mar 4 10:14:33 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
2052 * mke2fs.c (check_plausibility): Add more intelligent error
2053 messages when the device doesn't exist.
2055 Sat Mar 1 10:43:32 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
2057 * fsck.c (main): Fix bug where the PATH environment variable isn't
2058 set when it is unset.
2060 Tue Jan 14 12:30:45 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
2062 * mke2fs.c (write_inode_tables): Fixed bug in write_inode_tables
2063 where a loop variable was getting reused in a nested loop.
2064 This caused the inode table to not be correctly
2067 Thu Jan 2 00:00:37 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
2069 * lsattr.c, chattr.c: Include string.h, since we use memcpy().
2071 * findsuper.c: Use time_t for ctime(), not __u32.
2073 Sat Dec 28 23:39:18 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
2075 * badblocks.c: Adapted -vv modifications from Rik Faith so that
2076 they frequently update the block number field.
2078 * badblocks.8.in: Document the optional start-block parameter
2080 Mon Oct 14 11:52:58 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
2082 * mke2fs.c: Updated to use new ext2fs_allocate_tables() function.
2084 Tue Oct 8 02:02:03 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
2086 * Release of E2fsprogs version 1.06
2088 Mon Oct 7 00:56:24 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
2090 * chattr.1.in: Documented the 'A' (noatime) attribute.
2092 * dumpe2fs.c (main): Change EXT2_SWAP to EXT2_FLAG_SWAP for
2095 Sun Sep 22 16:18:47 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
2097 * chattr.c (decode_arg): Add support for the 'A' (noatime) flag.
2099 Thu Sep 12 15:23:07 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
2101 * Release of E2fsprogs version 1.05
2103 Sat Sep 7 07:34:11 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
2105 * tune2fs.c (main): Add support for new option -C, which sets the
2106 current number of mounts.
2107 (main): Allow the interval to be specified in seconds,
2108 mostly for debugging.
2110 Tue Aug 27 17:27:43 1996 Miles Bader <miles@gnu.ai.mit.edu>
2112 * Makefile.in (SMANPAGES): Use @FSCK_MAN@ instead of fsck.8.
2113 (SPROGS): Use @FSCK_PROG@ instead of fsck.
2115 Thu Aug 22 00:51:44 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
2117 * mke2fs.c (zap_bootblock): Don't do zap_bootblock on a
2120 Tue Aug 20 00:15:46 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
2122 * chattr.c (main): Fixed bug so that chattr -v works. (Bug report
2123 and fix sent by Charles Howes, chowes@eznet.ca)
2125 Fri Aug 9 11:52:42 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
2128 * tune2fs.c: Added support for the -L option which sets the volume
2129 label, the -M option which sets the last mounted
2130 directory, and the -U option which sets the filesystem UUID.
2133 * mke2fs.c: Added support for the -o option, which overrides the
2134 creator OS. Generate a UUID for the filesystem, if
2135 applicable. Added support for the -L option which sets
2136 the volume label, and the -M option which sets the last
2139 Sat Jun 22 17:43:17 1996 Remy Card <card@bbj.linux.eu.org>
2141 * chattr.c (decode_arg): Integrated Michael Nonweiler's fix to
2142 avoid a segmentation fault when the "-v" option is used
2143 and no version number is specified.
2145 Thu May 16 11:12:30 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
2147 * Release of E2fsprogs version 1.04
2149 Wed May 15 21:15:43 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
2151 * Makefile.in (fsck): fsck doesn't need to be linked with the ext2
2154 Wed Mar 27 00:33:40 1996 <tytso@rsts-11.mit.edu>
2156 * Release of E2fsprogs version 1.03
2158 Thu Mar 7 03:43:20 1996 <tytso@rsts-11.mit.edu>
2160 * mke2fs.c (PRS): Add (for development only) support to
2161 specify revision and inode size of the new filesystem.
2163 Tue Mar 5 03:51:35 1996 <tytso@rsts-11.mit.edu>
2165 * mke2fs.8.in: Fix a few minor typo's in the man page.
2167 * mke2fs.c (reserve_inodes): Add support for dynamic first inode
2170 Mon Feb 5 22:19:49 1996 <tytso@rsts-11.mit.edu>
2172 * fsck.c (check_all, PRS): Added new flag -P, which turns on the
2173 parallel root option. This allows you to check the root
2174 filesystem in parallel with the other filesystems. Note
2175 that this is not the safest thing in the world to do,
2176 since if the root filesystem is in doubt things like
2177 the e2fsck executable might be corrupted! But some
2178 sysadmins, who don't want to repartition the root
2179 filesystem to be small and compact, may really want this
2182 Wed Jan 31 11:06:08 1996 <tytso@rsts-11.mit.edu>
2184 * Release of E2fsprogs version 1.02
2186 Tue Oct 30 21:14:12 1995 <tytso@rsts-11.mit.edu>
2188 * mke2fs.c (check_plausibility): Add check to warn user if they
2189 are trying to mke2fs the whole disk. (/dev/hda
2192 Fri Dec 15 19:09:56 1995 <tytso@rsts-11.mit.edu>
2194 * fsck.c (check_all): If we break out of the loop because we are
2195 serializing and have just started at fsck we haven't
2196 finished the pass. We need to go round again in case there
2197 are more filesystems to be done in this pass. (Patch
2198 submitted by Mike Jagdis)
2200 Sat Dec 9 10:07:16 1995 <tytso@rsts-11.mit.edu>
2202 * dumpe2fs.c (in_use): test_bit() was renamed to
2205 Mon Oct 30 20:21:18 1995 <tytso@rsts-11.mit.edu>
2207 * fsck.c (fsck_device): Check fstype instead of type; this was a
2208 stupid typo which caused coredumps in some cases.
2210 Thu Oct 26 12:05:18 1995 <tytso@rsts-11.mit.edu>
2212 * Makefile.in (install): Strip programs when they are installed.
2214 Fri Aug 18 15:10:40 1995 Theodore Y. Ts'o <tytso@dcl>
2216 * mke2fs.c (PRS): Move call of check_mount() from main() to PRS(),
2217 so we do the check to see if the filesystem is mounted
2218 *before* we try to determine the size of the device.
2220 Wed Sep 6 23:34:07 1995 Remy Card <card@bbj>
2222 * fsck.c (load_fs_info): Load the informations from /etc/fstab in
2225 Thu Aug 17 22:33:09 1995 <tytso@rsts-11.mit.edu>
2227 * mke2fs.c (check_mount): Use the new ext2fs_check_if_mounted()
2228 function to determine if the device is mounted.
2230 * mke2fs.c (PRS): Change call to use the new
2231 ext2fs_get_device_size() function in order to determine
2232 the size of the filesystem. Remove get_size() and
2233 is_valid_offset(), which are no longer called.
2235 Fri Aug 11 08:26:24 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
2237 * fsck.c (fsck_device): Make sure fstype has been set by the user
2238 and that it does not begin with "no" and the user has
2239 specified exactly one type before using it as the type to
2242 Fri Aug 11 14:17:18 1995 Remy Card <card@bbj>
2251 * tune2fs.8: Updated date and version number.
2253 Thu Aug 10 14:18:36 1995 Remy Card <card@bbj>
2255 * tune2fs.c: Fixed a bug which prevented the use of user and group
2256 names with the -g and -u options. Thanks to Jean Christophe
2257 ANDRE <progfou@mycrob.cafard.freenix.fr>.
2260 * tune2fs.8: Fixed a spelling error in Ted's name :-)
2262 Wed Aug 9 20:41:54 1995 Theodore Y. Ts'o <tytso@dcl>
2264 * mke2fs.c (count_blocks): Divide the size by
2265 EXT2_BLOCK_SIZE(¶m), instead of assuming that the
2266 blocksize is always 1024 bytes.
2268 Sat Aug 5 12:00:51 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
2270 * mke2fs.c (PRS): Use malloc() instead of alloca() --- alloca() is
2271 not portable!! In any case putenv() in some systems must
2272 take a static character array or malloc()'ed memory;
2273 passing memory allocated using alloca() to putenv() is not
2276 * chattr.c (chattr_dir_proc):
2277 * lsattr.c (lsattr_dir_proc): Use malloc() instead of alloca() ---
2278 alloca is not portable!
2280 * fsck.c (fsck_device): If the filesystem type is specified by the
2281 user using the -t option, let it override the type in
2284 * fsck.c (strdup): Don't build strdup() if the system defines it.
2286 Mon Jun 12 19:15:10 1995 Theodore Y. Ts'o (tytso@dcl)
2288 * chattr.c, lsattr.c: Include <sys/types.h> for <dirent.h>'s
2291 * The $(UPROGS) go in bin, not sbin.
2293 * badblocks.c, chattr.c, dumpe2fs.c, fsck.c, lsattr.c, mke2fs.c,
2294 tune2fs.c: Don't include <getopt.h> if it doesn't exist.
2296 Mon Jun 12 16:36:04 1995 Theodore Y. Ts'o <tytso@dcl>
2298 * badblocks.c, chattr.c, dumpe2fs.c, fsck.c, lsattr.c, mke2fs.c,
2299 tune2fs.c: Only include getopt.h if HAVE_GETOPT_H is defined.
2301 Sat Jun 10 23:37:09 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
2303 * chattr.c: Include errno.h, since we use errno
2305 * fsck.c (load_fs_info): If HAVE_MNTENT_H is not defined,
2306 explicitly initialize filesys_info to be NULL.
2308 * mke2fs.c: Include the stdio.h and errno.h header files
2310 Thu Jun 8 13:25:23 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
2312 * mke2fs.c: Only include <linux/fs.h> if we can.
2313 (get_size): Don't try to use the BLKGETSIZE ioctl unless it's defined.
2314 (check_mount): Only check to see if the device is mounted if
2315 HAVE_MNTENT_H is defined (by configure).
2317 * fsck.c (load_fs_info): Only try to get info about filesystems if
2318 HAVE_MNTENT_H is defined (by configure).
2319 (main): Allocate space for a new fsck_path instead of append to a
2320 statically sized buffer.
2321 (PRS): Use alloca to allocate the new path string, instead of
2322 having a fixed size buffer (which was the wrong size anyway).
2324 * chattr.c (chattr_dir_proc): Use alloca to allocate space for a
2325 filename instead of using a fixed-size buffer.
2326 * lsattr.c (lsattr_dir_proc): Ditto.
2327 * mklost+fond.c (main): Calculate the actual needed size for the
2328 path buffer instead of using MAXPATHLEN (which not all systems have).
2330 * badblocks.c: Only include linux include files if we have them.
2331 (flush_bufs): New function to flush a block device, optionally
2332 syncing it first. This replaces other copies of this code.
2333 (test_ro): Replace calls to ioctl with flush_bufs().
2336 * Makefile.in: Rewritten to conform to GNU coding standards and
2337 support separate compilation directories.
2339 Sat Mar 11 10:59:58 1995 Theodore Y. Ts'o <tytso@localhost>
2341 * mke2fs.c (main, zap_bootblock): Added new function
2342 zap_bootblock() which clears the first 512 bytes of the
2343 filesystem. This protects the filesystem from being
2344 misidentified as a MS-DOS FAT filesystem.
2346 * badblocks.c (alarm_intr, test_ro, test_rw): Increase the space
2347 allocated for printing the block numbers, so that the
2348 display doesn't get corrupted when running badblocks on a
2349 very large partition.
2351 * badblocks.c (do_test, test_ro, test_rw): Added missing cast to
2352 ext2_loff_t, so that when checking a large device,
2353 spurious seek errors aren't reported.
2355 * mke2fs.c (count_blocks): Declare mid to be of type ext2_loff_t
2356 instead of type int, so that it works for filesystems
2357 greater than 2 GB. (Fortunately count_blocks is only
2358 called if the device does not support the BLKGETSIZE
2359 ioctl, which most do.)
2361 * fsck.c (ignore): Add check to ignore filesystems with a pass
2362 number of zero. (This check was accidentally deleted at
2363 during 0.5b development.)
2365 Sat Dec 31 00:47:16 1994 <tytso@rsx-11.mit.edu>
2367 * mke2fs.c (new_table_block, alloc_tables, PRS, main): Add a new
2368 option, -S, which only writes the superblock and group
2369 descriptors. Useful for recovering when all of the
2370 superblocks are corrupted somehow (as a last ditch
2373 Also, don't bother initializing the bitmap blocks in
2374 alloc_tables(), since they will be overwritten at the end
2375 anyway. (Should speed up mke2fs by a little.)
2377 Tue Dec 6 02:20:55 1994 <tytso@rsx-11.mit.edu>
2379 * fsck.c (main): Fix stupid typo where a null inst would be freed.
2381 * fsck.c (wait_one): Check WIFEXITED on status before trying to
2382 extract the exit status. In other cases, return
2383 FSCK_ERROR if the back end processor exited with a signal.
2385 Tue Nov 15 10:20:00 1994 Remy Card <card@bbj>
2387 * tune2fs.c (main): Fixed a bug which prevented the use of the
2389 Added the `w' (week) suffix recognition in the check interval.
2391 Sun Nov 13 15:58:48 1994 (tytso@rsx-11)
2393 * fsck.c (load_fs_info): If the user has an obviously old
2394 /etc/fstab file, issue a warning message and assume that
2395 all partitions should be checked.
2397 Sat Nov 12 00:33:18 1994 (tytso@rsx-11)
2399 * dumpe2fs.c (list_desc): Update to new inode and block bitmap
2402 * mke2fs.c (create_root_dir): Create the root directory owned by
2405 Mon Nov 7 22:04:37 1994 Remy Card <card@bbj>
2407 * tune2fs.c (main.c): Added support for new options:
2408 -r reserved_blocks_count, -g reserved_gid, -u reserved_uid.
2410 Sun Aug 21 00:57:33 1994 Theodore Y. Ts'o (tytso@rt-11)
2412 * fsck.c (ignore): If the pass number is 0, ignore the filesystem.
2414 Wed Aug 17 21:55:03 1994 Remy Card (card@bbj)
2416 * badblocks.c (test_rw): Added verbose output like in the
2419 (do_test and test_rw): Use the llseek system call if available.
2421 * chattr.c: Added support for new attributes.
2423 * lsattr.c: Added support for long format.
2425 * mke2fs.c (usage): Fixed bogus usage message.
2427 (valid_offset): Use the llseek system call if available.
2429 Wed Aug 17 10:50:57 1994 Theodore Y. Ts'o (tytso@rt-11)
2431 * mke2fs.c (handle_bad_blocks): Check to see if a bad block is
2432 where a backup superblock/group descriptor is stored. If so,
2433 print a warning message and adjust the superblock counts so that
2434 they are correct. (Otherwise, the bad block will get counted
2435 twice and the # of free blocks count will be wrong.)
2437 (alloc_tables): Removed code which calcualated the free block
2438 statistics, which was moved to lib/ext2fs/initialize.c. This
2439 allows the bad block code to adjust the group descriptor
2440 statistics if necessary.