Whamcloud - gitweb
ChangeLog, chattr.c, lsattr.c:
[tools/e2fsprogs.git] / misc / ChangeLog
index a78c55b..1d02bf5 100644 (file)
@@ -1,3 +1,452 @@
+2001-02-07  Theodore Tso  <tytso@valinux.com>
+
+       * chattr.c, lsattr.c: Define the _LARGEFILE64_SOURCE to force the
+               use of the LFS so that lstat will work on large files.
+
+2001-01-17  Theodore Ts'o  <tytso@valinux.com>
+
+       * tune2fs.c, mke2fs.c, tune2fs.8.in, mke2fs.8.in: Change user
+               interface so that -J is used to specify journal options,
+               and -j is used to request creation of a journal using
+               default values.  (This is a UI change, but we haven't done
+               a formal release, and it makes things much more consistent
+               with the rest of the options out there.) 
+
+       * tune2fs.c: Add support for removing a filesystem from an
+               external journal; we correctly remove the filesystem UUID
+               from the external journal's filesystem list.
+
+       * util.h, util.c (journal_default_size): New function from Andreas
+               Dilger to calculate an appropriate default journal size
+               given a filesystem size.
+
+       * util.c (parse_journal_opts): Allow the creation of a journal as
+               small as 1MB.
+
+       * dumpe2fs.c (print_journal_information): Use s_first_data_block
+               to find the correct block to read the journal superblock.
+
+2001-01-15  Theodore Ts'o  <tytso@valinux.com>
+
+       * tune2fs.c: Changed the external journal code so that it simply
+               adds a filesystem to a journal; the journal must have bene
+               created via "mke2fs -O journal_dev /dev/XXX".
+
+       * mke2fs.c: Add support for creating an external journal device by
+               using the command "mke2fs -O journal_dev /dev/XXX".  Also
+               changed the external journal code so -j device=/dev/XXX it
+               simply adds a filesystem to that journal; the journal must
+               have been created via separate step.
+
+       * dumpe2fs.c (print_journal_information): Add support for dumping
+               information about an external journal device.
+
+2001-01-14  Theodore Ts'o  <tytso@valinux.com>
+
+       * mke2fs.c: Add new filesystem types, largefile and largefile4,
+               for those filesystems whose average inode size is 1MB and
+               4MB, respectively.  Allow the inode ratio specified to be
+               has high as 4MB.   Make the s_max_mount_count vary between
+               20 and 40, to avoid needing to check all of the
+               filesystems at the same time.  Add some random jitter to
+               the s_max_mount_count value so that we avoid checking all
+               of the filesystems at the same time when we reboot.
+
+       * tune2fs.8.in: Add description of the -j option.
+
+       * tune2fs.c (add_journal): Minor fixes from Andreas Dilger. Flush
+               stdout after printing in-progress message.  
+               (main): Exit with status code 1 if we failed to determine
+               the mount status of the device.
+
+2001-01-11    <tytso@snap.thunk.org>
+
+       * e2image.c, mke2fs.c, mklost+found.c, tune2fs.c, util.c,
+               uuidgen.c: Fix gcc -Wall complaints, including one bug in
+               tune2fs caused by a block automatic shadowing version of
+               the variable we really wanted to use, which broke the
+               logic testing to see if the filesystem was mounted.
+
+       * badblocks.c (flush_bufs): Use ext2fs_sync_device() to sync and
+               flush the device.
+
+       * mke2fs.c: Change ino_t to ext2_ino_t.
+
+2001-01-08    <tytso@snap.thunk.org>
+
+       * Makefile.in, tune2fs.c: Move e2label functionality into tune2fs,
+               using argv[0] as a dispatch.  This allows e2label to be
+               (more) safely used on mounted filesystems.
+
+2001-01-05    <tytso@snap.thunk.org>
+
+       * get_device_by_label.h (get_volume_label_by_spec): Add function
+               prototype.
+
+       * get_device_by_label.c: Use string_copy() instead of strdup() for
+               portability's sake.  Fix a few other gcc -Wall
+               complaints. 
+
+       * fsck.c (string_copy): Export string_copy() extern.
+
+       * badblocks.c: Fix various gcc -Wall complaints, including
+               an incorrect reference to sync in flush_bufs().
+
+2001-01-03    <tytso@snap.thunk.org>
+
+       * tune2fs.c (update_feature_set, add_journal): Moved to separate
+               functions.  Added ability to add and remove the journal
+               while the filesystem is live.  Added support for setting
+               a time-based UUID.  Removed zero-initialized static variables.
+
+       * mke2fs.c, util.c, util.h (strcasecmp, proceed_question,
+               check_plausibility, parse_journal_opts, check_mount):
+               Moved functions to util.c so they can be used by tune2fs.
+
+       * mke2fs.c (main): Change ext2fs_add_journal_fs() to 
+               ext2fs_add_journal_inode() to reflect function renaming.
+
+2001-01-01    <tytso@snap.thunk.org>
+
+       * mke2fs.c, e2image.c: Removed references to struct ext2fs_sb to
+               struct ext2_super_block.
+
+       * tune2fs.c (main): Add support to allow HAS_JOURNAL flag to be
+               cleared, but only if the filesystem is unmounted or
+               mounted read-only.  Changed struct ext2fs_sb to struct
+               ext2_super_block, and cleaned up old code which was needed
+               for old versions of ext2_fs.h (not needed since we're
+               using our own version now).
+
+2000-12-31    <tytso@snap.thunk.org>
+
+       * fsck.c (check_all): Call interpet_device to resolve LABEL= and
+               UUID= right away so that the device_already_active() logic
+               can do the right thing.  Also cleaned up the the root
+               filesystem logic checking code; fixed up a logic bug with
+               the parallel_root option.
+
+       * lsattr.1.in: Add pointer to chattr man page for definition of
+               the file attributes.
+
+       * lsattr.c (list_attributes): Minor cleanup to smooth out logic
+               flow.  Also removed static initialized variables to zero.
+
+       * chattr.c (decode_arg, get_flag): Use a table-driven method for
+               decoding the ext2 file flags character options.  Add
+               support for the journaled data flag.
+
+       * chattr.1.in: Document the -j/+j/=j flag.
+
+2000-12-30    <tytso@snap.thunk.org>
+
+       * mke2fs.8.in: Minor clarity edit.
+
+       * mke2fs.c (usage): Document the -j option.
+               (main): Print the number blocks used in the journal.
+
+2000-12-28    <tytso@snap.thunk.org>
+
+       * base_device.c (base_device): Add support for DAC960 device
+               names.
+
+       * fsck.c (device_already_active): Handle the case where
+               base_device doesn't know how to interpret the device name,
+               instead of core dumping.
+
+2000-12-09    <tytso@snap.thunk.org>
+
+       * mke2fs.c (main, parse_journal_opts): Add support for creating V1
+               superblocks.  We now pass in a journal_flags field to the
+               journal creation routines for this purpose.
+
+       * mke2fs.c: Remove zero initializers to save a few bytes from the
+               executable image.  (Are we excited yet?)
+
+       * findsuper.c: And non-subtle copyright licensing restriction to
+               get Yann to remove this program from the Debian package.  :-) 
+
+2000-12-03    <tytso@snap.thunk.org>
+
+       * fsck.c (device_already_active): Change to use new version of
+               base_device() which now returns dynamically allocated
+               memory.
+
+       * base_device.c (base_device): New version moved from fsck.c which
+               now understands ugly devfs names.  (Debian bug #65181)
+
+       * base_device.tst: Test case for base_device.c
+
+2000-12-02    <tytso@snap.thunk.org>
+
+       * fsck.8.in: Add clarification that filesystems with a fs_passno
+               of 0 are skipped with the -A option.  (Debian wishlist/bug
+               #63442)
+       
+       * fsck.c (wait_one): When we let a new fsck take control of the
+               console to display the progress bar, set FLAG_PROGRESS to
+               so that fsck knows not to start new processes during an
+               fsck pass with the progress bar. (Should fix debian bug
+               #65267)
+
+       * tune2fs.8.in: Add clarifying statement about converting user and
+               group names to uid's before storing them in the
+               superblock.  (Debian bug #67446)
+
+2000-11-16  Theodore Ts'o  <tytso@valinux.com>
+
+       * mke2fs.c(main): Expand the -j option so that it parses
+               option=argument style options, and add support for
+               creating filesystems with external journals.
+
+       * mke2fs.8.in: Document new syntax for the -j option.
+
+2000-11-05    <tytso@snap.thunk.org>
+
+       * e2image.c, Makefile.in: New program which saves ext2 metadata to
+               a file for people who need a last-ditch saving throw.
+
+2000-10-24    <tytso@snap.thunk.org>
+
+       * mke2fs.c (PRS): Applied Andreas Dilger's patch to make the -r -s
+               handling a bit more sane.  (Even though -s is deprecated
+               at this point.)
+
+       * get_device_by_label.c: Apply fix from Erik Troan to support 16
+               character labels.
+
+       * fsck.c (device_already_active): Add a special case check for MD
+               devices, so we don't try to check them in parallel with
+               other devices.
+
+       * mke2fs.c (PRS, main), mke2fs.8.in: Add support for the -j
+               option, which builds an ext2/3 filesystem with an ext3
+               journal.
+
+2000-10-24    <tytso@valinux.com>
+
+       * mke2fs.c (zap_sector): Fix really stupid typo which gcc 2.95
+               didn't catch.
+
+2000-09-12    <tytso@valinux.com>
+
+       * fsck.c: Add base device definitions for hd[e-h], for those
+               systems with four IDE interfaces.
+
+2000-09-11    <tytso@valinux.com>
+
+       * mke2fs.c (zap_sector): Fix error message printed when zap_sector
+               fails. 
+
+       * dumpe2fs.c (list_desc): Fixed format string bug when printing
+               the inode table location in non-hex format.
+
+2000-08-20    <tytso@valinux.com>
+
+       * get_device_by_label.c: Add call to ext2fs_find_block_device if
+               we can't find the device using the name given by
+               /proc/partitions.  (This can happen if devfs is compiled
+               into the kernel, but not mounted.)
+
+2000-06-27  Andreas Dilger <adilger@turbolabs.com>
+
+       * dumpe2fs.c (usage): add fhx options to usage message, add -x option
+               to print out the per-group block numbers in hex, add line for
+               location of primary/backup superblock and group descriptors
+
+       * mke2fs.c: rename max to group_blk_max avoid potential macro conflict
+
+2000-08-14    <tytso@valinux.com>
+
+       * mke2fs.c (zap_sector): Change zap_bootsect to more general
+               zap_sect.
+               (main): Clear the superblock when starting mke2fs, to
+               avoid leaving the filesystem in an inconsistent state.
+
+2000-07-26    <tytso@valinux.com>
+
+       * get_device_by_label.c: Improve /proc/partitions parsing in
+               fsck, and speed up fsck -a.
+
+2000-07-13    <tytso@valinux.com>
+
+       * Release of E2fsprogs 1.19
+
+2000-07-13    <tytso@snap.thunk.org>
+
+       * badblocks.8.in: Added text explaining that the -n and -w options
+               are mutually exclusive.
+
+       * badblocks.c (usage): Fix usage message to make it clear that the
+               block count must be specified if the starting block is to
+               be specified.  (The starting block should be a option, in
+               the long run.)
+
+       * badblocks.c (test_nd): Save and restore the currently_testing
+               variable before going into the write verification loop.
+               This avoids a loop termination problem if the last block
+               on the disk is bad.  Also, turn off the SIGALRM signal
+               while restoring blocks after the user types ^C.  The
+               num_saved variable is now static so that it won't get
+               clobbered by a longjmp.  buf_used and bb_count are no
+               longer static, since they aren't used by the cleanup
+               routines anymore.
+
+       * badblocks.c (main): Removed an unsued varaible (buf_size).
+               Fixed bad getopt argument that didn't allow the 'b' option
+               to take an argument.  Added error checking when parsing
+               the starting block number.  Fixed lint warning in fscanf
+               format string.
+
+2000-07-06  Theodore Ts'o  <tytso@valinux.com>
+
+       * fsck.c (execute, wait_one): Treat fsck.ext3 the same as
+               fsck.ext2 (because they are the same) for the purposes of
+               the progress bar display logic.
+
+       * tune2fs.8.in: Update manual page to document what happens if
+               max_mount_count is negative.
+
+       * tune2fs.c (main): Allow setting the maximal count value to be
+               negative, since the kernel interprets that as forcing a
+               check. 
+
+       * fsck.c (lookup, load_fs_info, check_all): Use lazy evaluation
+               for calling interpret_device(), since this requires root
+               privileges if the partitions need to be scanned.
+               Otherwise, it's not possible to do non-proot fsck's for
+               removeable devices such as floppies if there are any
+               LABEL= or UUID= entries in /etc/fstab.
+
+       * badblocks.c (check_mount, main): Check to see if the filesystem
+               is mounted before doing a read/write or non-destructive
+               test.  This can be overriden using the new -f option.
+
+       * badblocks.8.in: Update manual page to reflect that the
+               blocks-count parameter is now optional.  Also properly
+               document the start-block parameter.  Added documentation
+               for the -f option.
+
+       * badblocks.c (main): Allow the blocks-count parameter to be
+               optional.   If it's not specified, use the size of the
+               device as a default.
+
+2000-07-05  Theodore Ts'o  <tytso@valinux.com>
+
+       * badblocks.c (test_nd): Significantly simplify the logic so that
+               it's more obviously what's going on.  Fixed a few
+               potential cases which weren't handled correctly in the
+               old, overly complicated logic.
+               (flush_bufs): Now doesn't take a second argument, and
+               always forces a sync; this is required before it's really
+               safe to call BLKFLSBUF, at least for some kernels.
+
+2000-05-29  Theodore Ts'o  <tytso@valinux.com>
+
+       * mke2fs.c (PRS): Add a much more specific error message if the
+               filesystem size is defaulted and get_device_size returns a
+               size of zero.  Otherwise, users get a confusing "invalid
+               argument while passed to ext2 library" error message.
+
+2000-05-08  Theodore Ts'o  <tytso@valinux.com>
+
+       * fsck.c (interpret_device): Add better error messages if a UUID=
+               or LABEL= specification is given.
+
+       * mke2fs.c (main): We forcibly turn off the filetype feature if
+               the OS is the hurd, since the hurd doesn't support it.
+               (And since the hurd allows the transmogrification of files
+               to special files and vice versa --- for no good reason
+               that I can understand --- it can't support the filetype
+               feature for the forseeable future, either.)
+
+       * mke2fs.c (proceed_question): Fix reversed sense of
+               proceed_question that was busted due to the
+               internationalization patch.  Fixed bug where if
+               proceed_question was called twice, the input buffer wasn't
+               cleared of the previous question's newline.
+       
+Thu Apr  6 17:50:25 2000  Theodore Y. Ts'o  <tytso@signal.thunk.org>
+
+       * badblocks.c (flush_bufs): Use fsync() if the system doesn't
+               support fdatasync().
+
+2000-04-03  Theodore Ts'o  <tytso@valinux.com>
+
+       * badblocks.c, dumpe2fs.c, e2label.c, mke2fs.c, tune2fs.c,
+               uuidgen.c: For platforms that don't define optarg.h,
+               manually define optarg and optind.
+
+       * badblocks.8.in: Updated manual page with suggestions from David
+               Beattie.
+
+       * badblocks.c (test_nd): Generalized cleanup and bug-fixes.   We
+               now explicitly clear out the signal handlers to prevent a
+               longjmp to a deactivated stack frame.  
+               (test_rw): Fixed a signed vs. unsigned comparison error.
+
+       * badblocks.8.in, chattr.1.in, dumpe2fs.8.in, lsattr.1.in,
+               mklost+found.8.in, tune2fs.8.in: Update Remy Card's e-mail
+               address.  
+               chattr.1.in: Update which attributes aren't supported.
+
+2000-02-09  Theodore Ts'o  <tytso@valinux.com>
+
+       * chattr.1.in: 
+       * lsattr.1.in: Change "version" to "version/generation number".
+
+       * chattr.1.in: Fix stupid file vs filesystem typo.
+
+       * tune2fs.c Fix spelling error (spare vs sparse).
+
+       * mke2fs.c (PRS): Add safety check to make sure the number of
+               blocks doesn't exceed 32 bits on a 64 bit machine.
+
+       * chattr.c: Random cleanup; file-only variables are now static.
+               Options for setting/clearings flags put into order, and
+               #ifdef's removed (since we now use a built-in header
+               file).  Add error message if user tries to set and reset
+               the same flag.
+
+       * lsattr.c: Random cleanup; file-only variables are now static.
+               The -l "long" listing has been changed to look nicer.
+               Options names have been renamed to be more descriptive.
+       
+2000-02-06  Theodore Ts'o  <tytso@valinux.com>
+
+       * badblocks.c, chattr.c, dumpe2fs.c, e2label.c, findsuper.c,
+               fsck.c, get_device_by_label.c, lsattr.c, mke2fs.c, 
+               mklost+found.c, nls-enable.h, partinfo.c, tune2fs.c,
+               uuidgen.c: Add Internationalization support as 
+               suggested by Marco d'Itri <md@linux.it>.
+
+       * badblocks.c: Fix non-destructive read/write patches from David
+               Beattie.  Non-standard variable-length automatic arrays
+               removed.  Non-destrutive write test fixed so that logic is
+               clearer and more provably correct.  (I believe the old
+               code had a bug where the disk data wasn't restored if it
+               was interrupted at the wrong time.)
+
+       * badblocks.8.in: Document new options in man page.
+
+2000-02-02  Theodore Ts'o  <tytso@valinux.com>
+
+       * fsck.c (interpret_device): If there was an attempt to interpret
+               a device specification of the type "UUID=" or "LABEL=",
+               and it fails, check to see if /proc/partitions is
+               readable.  If not, print a warning message about /proc
+               perhaps not being mounted, and exit.
+
+       * mke2fs.c (check_plausibility): Remove unneeded #include of
+               linux/fs.h.  Add #define of MAJOR if necessary.
+
+       * partinfo.c: Remove unneeded #include of linux/fs.h
+
+2000-01-19  Theodore Ts'o  <tytso@valinux.com>
+
+       * tune2fs.c (usage): Update the usage message to correctly
+               document the -s option.
+
 2000-01-18  Theodore Ts'o  <tytso@valinux.com>
 
        * badblocks.c: Folded in patches David Beattie <dbeattie@usa.net>.