-$Id: CHANGES,v 1.97 2000/12/05 16:57:37 stelian Exp $
+$Id: CHANGES,v 1.203 2002/12/12 11:49:35 stelian Exp $
-Changes between versions 0.4b20 and 0.4b21 (released ?????????????????)
+Changes between versions 0.4b32 and 0.4b33 (released ?????????????????)
=======================================================================
+1. Added a note in the restore man page clarifying the question
+ 'set the permissions on the current directory ?' asked by
+ restore at the end of treatment in -i and -x modes.
+
+2. Fixed the endianess issues when reading compressed tapes.
+ Thanks to Dark Force <daq4th@users.sourceforge.net> for
+ reporting this bug and providing test cases.
+
+3. Fixed the "ACL won't be dumped" warning message (which showed
+ an extra, unrelated error message). Thanks to Dragan Krnic
+ <dkrnic@lycos.com> for reporting this bug.
+
+4. Made dump look first into /etc/fstab, then into /etc/mtab
+ when searching for filesystem paths. Also fixed some problems
+ caused by binding mounts or multiple block device mounts.
+ Thanks to Matus Uhlar <uhlar@fantomas.sk>, Elliott Mitchell
+ <ehem@m5p.com>, Greg Edwards <gedwards@users.sourceforge.net>.
+ (fixes Debian bugs #147086 and #160305, Sourceforge bug #618699)
+
+Changes between versions 0.4b31 and 0.4b32 (released November 15, 2002)
+=======================================================================
+
+1. Changed dump to use fcntl(F_SETLK) style locking instead
+ of flock() when locking the dumpdates file. With the old
+ locking scheme, a local user having read rights on the
+ dumpdates file could be able to do a Denial of Service attack
+ on dump. In order to lock the dumpdates file with the new
+ scheme, the user would need to have write access on the file.
+ Thanks to Richard Johnson <Richard.Johnson3@ey.com> for
+ reporting the bug (originally a bugtraq post).
+
+2. Fixed interactive 'ls' which caused spurious errors warnings
+ about 'undefined filetypes' detected. Thanks to Jorgen Ostling
+ <jorgen_ostling@users.sourceforge.net> for reporting this
+ bug.
+
+3. Fixed dump's estimate when dealing with sparse inodes.
+
+4. Modified dump to allow setting a blocksize bigger than 32kB
+ (raised the limit to 1024kB), because newer hardware needs
+ this for proper operation. Thanks to Dirk Traenapp
+ <dtraenapp@users.sourceforge.net> for reporting this.
+
+5. Fixed a bug causing Dump to stop and report an error if an
+ inode number in the exclude file was followed by some amount
+ of whitespace. Thanks to Jeffrey Sofferin
+ <sofferin@users.sourceforge.net> for reporting this bug.
+
+6. Fixed a bug which caused restore, in some particular cases,
+ to ask some 'scary' questions and leave a bunch of RSTTMP
+ directories behind when restoring incremental tapes. Thanks
+ to Philippe Troin <phil@fifi.org> for reporting this bug and
+ providing the test cases.
+
+7. Changed the wording when inodes are excluded from dump:
+ replaced 'Added inode 7 to exclude list' with
+ 'Excluding inode 7 (resize inode) from dump', as suggested
+ by Elliott Mitchell <ehem@m5p.com> in a Debian bug report.
+
+Changes between versions 0.4b30 and 0.4b31 (released July 30, 2002)
+===================================================================
+
+1. Fixed rmt open flags transmission (GNU's symbolic syntax over
+ rmt) which I broke in 0.4b29. Thanks to Eros Albertazzi
+ <eros@lamel.bo.cnr.it> for reporting the bug.
+
+Changes between versions 0.4b29 and 0.4b30 (released July 25, 2002)
+===================================================================
+
+1. Made dump print out the ext2 logical block number in case of a read
+ error, which can be given as an argument to debugfs' ncheck command,
+ in order to find out the affected inode. Added note about this
+ usage in dump's man page.
+
+2. Fixed a problem in restore when reading tapes written on big
+ endian machines with very old versions of dump. The patch was
+ contributed by George Helffrich <george@geology.bristol.ac.uk>.
+
+3. Fixed the tape length calculation when using large tapes
+ and compression. Thanks to Georg Lippold
+ <g_lippold@sourceforge.net> for reporting the bug.
+
+4. Added a new set of examples in dump_on_cd_2 directory, based
+ on dump_on_cd examples but somewhat enhanced, supporting DVD
+ media, and localized in english and german. Thanks to
+ Georg Lippold <g_lippold@sourceforge.net> for the new scripts.
+
+5. Made dump save 32 bit UID/GID. Internally, this was achieved
+ by switching from the old BSD inode format to the new BSD
+ inode format, which means that the tape format was changed.
+ However, since all restore versions out there should
+ transparently support both inode formats, the change should
+ have no side effects. Thanks to John Yu <jky@cs.bu.edu> for
+ reporting the bug.
+
+6. Fixed a lot of warnings in the code shown when compiling
+ with 'gcc -W'. Thanks to Matthias Andree
+ <matthias.andree@stud.uni-dortmund.de> for reporting this.
+
+7. Fixed a small markup bug in the dump man page. Thanks to
+ Eric S. Raymond <esr@minx.thyrsus.com> for submitting the
+ patch.
+
+8. Rewrote entirely the man pages using the tmac.an macro
+ package (Linux man page format) instead of the original BSD
+ format. They should be now cleaner and easier to modify.
+
+Changes between versions 0.4b28 and 0.4b29 (released June 8, 2002)
+==================================================================
+
+1. Fixed a problem in the rmt ioctl command, where ioctl's issued from
+ non Linux clients were misinterpreted. The description of the problem
+ (incompatible numbering in Linux mtio opcodes) is documented at
+ ftp://ftp.fokus.gmd.de/pub/unix/star/README.mtio . Thanks to
+ Jörg Schilling <schilling@fokus.gmd.de> for reporting this bug and
+ providing an excellent, cross-platform replacement for rmt in his
+ star package.
+
+2. Fixed a bug reported by Andy Mentges <amentges@jumpline.com>
+ which caused restore to fail when the inode maps were not entirely
+ contained on the first volume (when using really small volumes or
+ when dumping a huge number of inodes).
+
+3. Fixed a problem in dump, where files in subdirectories of directories
+ that have the nodump flag set (or being excluded with -e/-E) were
+ sometimes incorrectly dumped (instead of being excluded). The original
+ fix is from David C Lawrence <tale@dd.org> in the FreeBSD version
+ of dump: http://www.FreeBSD.org/cgi/query-pr.cgi?pr=32414
+ Thanks to Ted Grzesik <tedgyz@roostme.com> for reporting the bug and
+ help testing the patch.
+
+4. Added some example scripts from Gerd Bavendiek <bav@epost.de>
+ which makes one able to pipe the output of dump, by the net, to
+ a remote CD-burner server.
+
+5. Made dump use O_CREAT|O_TRUNC both locally and remotely (over rmt),
+ and use GNU's symbolic syntax over rmt instead of numerical values
+ to assure multiple platform compatibility.
+
+6. Documented the -d option in restore.
+
+7. Added a -v (verbose) mode to dump. For now it just prints the number
+ of the inode being dumped, but this could evolve in future versions
+ to include interesting debugging output.
+
+8. Added a -o flag to restore, which automatically restores the current
+ directory permissions in -i or -x mode, without asking the operator
+ whether to do so. Patch submitted by Tony Clayton <tonyc@e-smith.com>
+ and Peter Samuel <peters@e-smith.com>.
+
+Changes between versions 0.4b27 and 0.4b28 (released April 12, 2002)
+====================================================================
+
+1. Fixed a bug in the QFA feature which could have caused
+ a bad tape positionning on restore (causing extra delays in
+ restore). Credits go to Uwe Gohlke <uwe@ugsoft.de>.
+
+2. Added a small note in the dump man page specifying that
+ there should be no white space between the option letter and
+ the -j or -z parameter, thanks to Kenneth Porter <shiva@well.com>
+
+3. Made restore work with older versions of the readline library,
+ by checking in configure for several extended symbols. Restore
+ can now be compiled with a readline as old as the 2.0 release
+ (though it may be a good idea to upgrade it to a more recent
+ version...). Thanks to Andrew Donkin <ard@waikato.ac.nz> for
+ reporting the build failures.
+
+4. Fixed a performance problem with the QFA file creation in
+ dump, which made unnecessary seeks on the tape slowing down
+ the dump. Thanks to Andrew Donkin <ard@waikato.ac.nz> for
+ reporting this issue.
+
+5. Removed the inclusion of some kernel headers in the dump
+ source, which prevented the compile in some kernel/glibc
+ headers/architecture combination. Thanks to Bdale Garbee
+ <bdale@gag.com> for reporting the bug.
+
+6. Added the appropriate error message when dump fails to
+ open the output file for writing. Thanks to Amith Varghese
+ <amithv@yahoo.com> for reporting this bug.
+
+7. Made restore able to understand large Solaris ufsdump tapes
+ (containing inodes bigger than 4194304). Sun have introduced
+ an "extension" to the dump tape format when dealing with
+ those inodes, which was uncorrectly handled by Linux restore.
+ Thanks to Uwe Gohlke <uwe@ugsoft.de> for reporting the bug and
+ providing a test case.
+
+8. Added the -m parameter to dump which optimises the output for
+ inodes having been changed but not modified since the last dump
+ ('changed' and 'modified' have the meaning defined in stat(2)).
+ For those inodes, dump will save only the metadata, instead of
+ saving the entire inode contents. Inodes which are either
+ directories or have been modified since the last dump are saved
+ in a regular way. Uses of this flag must be consistent, meaning
+ that either every dump in an incremental dump set have the flag,
+ or no one has it.
+
+Changes between versions 0.4b26 and 0.4b27 (released February 15, 2002)
+=======================================================================
+
+1. Fixed behaviour of dump when exceeding resource limits
+ (SIGXFSZ treatment).
+
+2. Added the -L flag to restore to allow the user to specify a
+ maximal allowed number of miscompares when using restore
+ with the -C option to check the backup.
+
+3. Detailed the manual entry for the -N option of restore.
+
+4. Added the -a flag to restore to make able doing unattended
+ restores in -i or -x mode (automatically walks through the
+ multiple dump volumes).
+
+5. Extended the QFA mode to work with local files and/or
+ remote tapes and files. This way, restore can know in advance
+ the tape number and the offset for the inodes to extract and
+ can minimize the extraction time by seeking directly to the
+ good tape/offset.
+
+6. Added the -A <archive> option to both dump and restore,
+ which makes dump to archive a dump table-of-contents in
+ the specified file to be used by restore to determine
+ whether a file is in the dump file that is being restored.
+ (the archive file syntax is also compatible with the
+ Solaris ufsdump generated one).
+
+7. Small fix in restore making it able to read some (broken ?)
+ Solaris ufsdump tapes.
+
+8. Fixed dump to correctly recognise the root filesystem when using
+ ext2 disk labels (LABEL=/). Thanks to John Yu <jky@it.bu.edu>
+ for reporting this bug.
+
+9. Added the -P <file> option to restore to create a
+ Quick File Access file from an already made dump. Patch
+ contributed by Uwe Gohlke <uwe@ugsoft.de>.
+
+10. Made restore compile and run on Solaris, making it a
+ possible replacement for the standard ufsrestore. Port was
+ contributed by Uwe Gohlke <uwe@ugsoft.de>.
+
+Changes between versions 0.4b25 and 0.4b26 (released January 7, 2002)
+=====================================================================
+
+1. Added a set of backup scripts from Eugenio Diaz
+ <getnito@yahoo.com> in the examples section. It features
+ automatic (cron based) full and incremental dumping of
+ several filesystems on a separate filesystem.
+
+2. Fixed a off-by-one miscalculation which disabled dumping
+ a one letter subdirectory. Thanks to Chris Siebenmann
+ <cks@utcc.utoronto.ca> for reporting the bug.
+
+3. Fixed several restore bugs occuring when trying to
+ restore some missing files on the tape. Thanks to Chris
+ Siebenmann <cks@utcc.utoronto.ca> for reporting the bug.
+
+4. Fixed --with-ldopts configure argument passing, installing from
+ a separate object directory, makefile cleanups contributed
+ by <splite@purdue.edu>.
+
+5. Fix a bug which could caused, in some conditions, the highest
+ number inode of a filesystem, to not be dumped. Many thanks
+ to Chris Siebenmann <cks@utcc.utoronto.ca> for helping me
+ chase this bug.
+
+Changes between versions 0.4b24 and 0.4b25 (released November 17, 2001)
+=======================================================================
+
+1. Added a mini howto from Patrick Walsh in the examples
+ directory.
+
+2. Minor man pages syntax corrections. Thanks to
+ Chris Danis <screechco@home.com> for reporting the bugs.
+
+3. Added a script from David B. Peterson <dave@toppledwagon.com>
+ to the examples section. It features dumping several
+ filesystems to a remote tape drive upon ssh.
+
+4. Added a patch provided by Richard Jones <rich@annexia.org>
+ which allows BRADEMAX (number of read errors tolerated by
+ dump) to be adjusted using the -I option.
+
+5. Fixed a bug which disabled doing "restore -C -f -". Thanks
+ to Clemens Stiglechner <a9401816@unet.univie.ac.at> for the
+ patch.
+
+6. Add the -l option to restore to specify if, when doing a
+ remote restore, the file used to access the backup is a
+ regular file (the defaults being a tape drive). Restore needs
+ to know this information when reading a remote compressed
+ dump. Previously, this information was autodetected, but
+ the autodetection code fails (with ioctl: Inappropriate ioctl
+ for device) when using a non Linux remote box. Thanks to
+ many users and especially to Eros Albertazzi
+ <eros@lamel.bo.cnr.it> for reporting this.
+
+7. Found a workaroung for the dump deadlock problem (3 childs
+ stuck in pause(), father in read()). The workaround seems
+ to work for me and several beta-testers. If it doesn't work
+ for you, please report back.
+
+8. Updated the RPM spec file (BuildPrereq, URL etc).
+
+Changes between versions 0.4b23 and 0.4b24 (released September 12, 2001)
+========================================================================
+
+1. Fixed the permissions of a newly created QFA file by dump.
+
+2. Cleaned up the source of dump (the external variables
+ definition was a complete mess, making possible to have
+ objects overlap).
+
+3. Fixed restore to use the full tape volume path when doing
+ a compare (since it changes the working directory to the
+ filesystem being compared in the process).
+
+4. Added the -q option to dump which makes dump abort
+ whenever it needs operator attention. It should be
+ easier to use dump in scripts with this option.
+
+5. Detect the use of incompatible options to dump and
+ refuse them (like -a and -B options together).
+
+6. Added bzip2 compression to dump/restore (use option -j level
+ to select it). Note that you will need a restore version
+ >= 0.4b24 in order to restore a bzip2 compressed dump.
+ The same warning as for the zlib compression applies:
+ the tape format of a bzip2 dump is not compatible with the
+ original BSD tape format.
+
+7. Fixed a overflow problem in dump corrupting the dump when
+ very large files were encountered. Thanks to Vladimir Nadvornik
+ for the bug report.
+
+8. Added a ioctl(BLKFLSBUF) in dump which should flush the
+ kernel buffer/page cache before starting the dump, helping
+ a bit those who use dump on mounted filesystems. Thanks to
+ John Yu <jky@it.bu.edu> and to Theodore T'so <tytso@mit.edu>
+ for this suggestion.
+
+9. Updated the RPM spec file following the RedHat changes
+ (dynamically linked binaries now in /usr/sbin etc).
+
+10. Added a patch from Helmut Jarausch <jarausch@igpm.rwth-aachen.de>
+ which enables restore to recognise multi volume compressed dumps
+ done on CD. Included his scripts for dump (which pipe the dump
+ output directly into cdrecord) and restore. There is now
+ possible to to backups to CD on the fly!
+
+Changes between versions 0.4b22 and 0.4b23 (released July 20, 2001)
+===================================================================
+
+1. Fixed a buffer overflow in restore/tape.c. Patch provided by
+ Marcus Meissner (Caldera International Security Dept.).
+
+2. Implement the Sun rmt extended protocol. Patch submitted
+ by Ian Gordon <iangordon@users.sourceforge.net>.
+
+3. Check for the e2fsprogs header <ext2fs/ext2_fs.h> instead of
+ the linux kernel header. This ensures that dump always has the
+ latest version of this file. Patch submitted by
+ Andreas Dilger <adilger@turbolinux.com>.
+
+4. Report any filesystem present in either /etc/fstab with a
+ positive passno or /etc/dumpdates in dump -w output.
+ Patch submitted by Andreas Dilger <adilger@turbolinux.com>.
+
+5. Fixed the looping problem in dump introduced in the
+ previous version.
+
+6. Changed the -B option of dump to limit the size of
+ _compressed_ output per volume if compression is on.
+ Patch contributed by Helmut Jarausch
+ <jarausch@igpm.rwth-aachen.de>. Note however that, since
+ it is impossible to predict the size of the compressed
+ data before doing the compression, the -B limit is a bit
+ conservative.
+
+7. Fixed a bug in reading the operator typed file/tape path for
+ the next volume in restore.
+
+8. Implemented a "-F script" option to restore which permits the
+ user to specify a script which will be launched at the
+ beginning of each tape, useful for automatic programming of
+ tape changers for example. See the restore man page for the
+ script parameters and return codes.
+
+9. Small fix for the QFA routines provided by Uwe Gohlke
+ <uwe@ugsoft.de>, and some recommendations for QFA uses in
+ the man pages.
+
+10. Fixed the multivolume restoring where making a mistake
+ to the 'Mount next tape' prompt caused several blocks to
+ be lost.
+
+11. Enhanced the -e option of dump to take as a parameter a
+ comma separated list of inode numbers.
+
+12. Added the -E option to dump which specify a file containing
+ inode numbers to exclude from the dump.
+
+13. Fixed the compressed multi-volume dump + restore.
+
+Changes between versions 0.4b21 and 0.4b22 (released May 12, 2001)
+==================================================================
+
+1. Made dump report the number of blocks dumped per volume.
+ Thanks to Kenneth Porter <shiva@well.com> for the suggestion.
+
+2. Fix a bug in dump where waiting too much at the 'change volumes'
+ question caused the volume to be rewritten. Thanks to
+ Graham Reed <greed@users.sourceforge.net> for reporting the
+ bug and providing a patch.
+
+3. Added a compression option to dump, contributed by Jerry
+ Peters <gapeters@worldnet.att.net>.
+
+ WARNING: the compression works only on files/pipes and
+ drives supporting variable block size.
+
+ WARNING2: tapes created using the compression feature are
+ incompatible with the standard dump tape format, and a
+ version of restore >= 0.4b22 will be needed for extraction.
+
+4. Fixed some compilation problems for glibc 2.2.2 and 64 bit
+ architectures. Thanks to Paul Slootman <paul@debian.org> for
+ the patch and to Bdale Garbee <bdale@gag.com> for forwarding
+ it upstream.
+
+5. Many cleanups (CPP defines, const char warnings, check of
+ ext2fs COMPAT flags, time_t cleanups, added libext2 version
+ in dump usage text) by Andreas Dilger <adilger@turbolinux.com>.
+
+6. Made --prefix option work in configure. All the install path
+ are now based on the configure parameters.
+
+7. Added the Quick File Access mode in dump/restore, contributed
+ by Uwe Gohlke <uwe@ugsoft.de>. In this mode, dump stores in
+ a file tape position for each inode, and this file is used by
+ restore (if called with parameter Q and the filename)
+ to directly position the tape at the file restore is currently
+ working on. This saves hours when restoring single files from
+ large backups, saves the tapes and the drive's head. Use
+ --enable-qfa option of configure to compile in the QFA support.
+
+8. Added the possibility to dump several files and directories
+ in a single invocation of dump. Thanks to Uwe Gohlke
+ <uwe@ugsoft.de> for implementing this option.
+
+9. Fixed the dumping and restoring of files with holes
+ (files ending with holes didn't get dumped or restored
+ correctly).
+
+10. Fixed a socket descriptor leak in dump, which leaved opened
+ 3 file descriptors per dump process (and there is one dump
+ process per tape).
+
+11. Fixed dump large file system support, by explicit use of
+ open64/lseek64/etc functions (explicit use needed because
+ e2fsprogs libraries don't behave well when compiled with
+ FILE_OFFSET_BITS=64).
+
+Changes between versions 0.4b20 and 0.4b21 (released January 13, 2001)
+======================================================================
+
1. Fixed some bugs in the dump -w|-W logic introduced by
the previous version. Thanks to Andreas Dilger
<adilger@turbolinux.com> for his help on this one.
fully testing it... (of course, if this patch will break
anything, he is to blame for :-)).
+7. Made dump and restore LFS aware. Dump can dump a filesystem
+ containing large files, generate a large file on output and
+ restore can restore them. This feature is not enabled by
+ default, use --enable-largefile option of configure to enable
+ it (you need to have a LFS aware glibc though). Thanks to
+ Andrea Arcangeli <andrea@suse.de> for submitting the patch,
+ and to Theodore T'so <tytso@valinux.com> for his always
+ useful thoughts.
+
+8. Made dump ask upon a tape write error if it should rewrite
+ the current volume (assume this is a bad tape) or if it should
+ assume an end-of-tape condition (useful for tape drives which
+ behaves badly at the end of the tape). Thanks to Andreas
+ Dilger <adilger@turbolinux.com> for the suggestion.
+
Changes between versions 0.4b19 and 0.4b20 (released November 10, 2000)
=======================================================================