]> git.wh0rd.org - dump.git/blame_incremental - CHANGES
Use sys_clone under Linux to share I/O contexts between dump processes.
[dump.git] / CHANGES
... / ...
CommitLineData
1$Id: CHANGES,v 1.300 2009/06/18 09:50:54 stelian Exp $
2
3Changes between versions 0.4b41 and 0.4b42 (released xxxxxxxxxxxxxxx)
4=====================================================================
5
61. Fix printout of the 'Connection to' message in dump/restore.
7 Thanks to Dale Wiles <dwiles@users.sourceforge.net> for the
8 bug report and its fix.
9
102. Fix dump -w/-W output for filesystems having the last backup
11 level equal to 0. Thanks to Pascal Bouchareine
12 <kalou@users.sourceforge.net> for reporting the bug.
13
143. Enable restore to handle restoring onto a different SELinux
15 policy from the dump. Thanks to Tony Nelson
16 <tony_nelson@users.sourceforge.net> for the patch.
17 (see http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=189845
18 for details)
19
204. Fix EA set failures when restoring immutable files. Thanks
21 to Andrew Kroeger for the patch.
22
235. Fix "mode file too large" errors when restoring huge backups.
24 Thanks to Kenneth Porter <shiva@sewingwitch.com> for the bug
25 report.
26
276. Add the ability to link against libtinfo library if present,
28 instead of libtermcap or libncurses libraries. Thanks to
29 Adam Tkac <atkac@redhat.com> for the patch.
30
317. When comparing a backup, do not consider to be an error the fact
32 that we encounter files created while dump was in progress.
33 Thanks to Kenneth Porter <shiva@sewingwitch.com> for the bug
34 report.
35
368. Force '-a' to be the default value when running 'restore -C'.
37 Thanks to Kenneth Porter <shiva@sewingwitch.com> for the bug
38 report.
39
409. Many improvements to the 'cron_dump_to_disk' example.
41 Thanks to Aaron S. Hawley <ashawley@users.sourceforge.net> for
42 the patch.
43
4410. Fix the QFA generation when extended attributes are backuped
45 along with the inodes. Prior to this fix, the entries for
46 some inodes may get corrupted (duplicated entries or incorrect
47 ones), making the QFA file unusable for repositionning in
48 restore. Many thanks to Kenneth Porter <shiva@sewingwitch.com>
49 for the bug report and the testing of the fix.
50
5111. Fix EA restoration in debug mode (Sourceforge bug #1986216).
52
5312. Stefan Auracher <star7@onlinehome.de> noticed that the Tower
54 of Hanoi backup strategy documented in the man page wasn't
55 actually based on the Tower of Hanoi algorithm. The man page
56 was updated accordingly.
57
5813. Fix missing level information from dump output when using
59 the default level (RedHat bug #493635). Thanks to Adam Tkac
60 <atkac@redhat.com> for the patch.
61
6214. Fix the dump man page to reflect the fact that the default
63 dump level is 0 not 9 (RedHat bug #356121). Thanks to Adam Tkac
64 <atkac@redhat.com> for the patch.
65
6615. Fixed a few spelling errors in the man pages (RedHat bug #489853).
67 Thanks to Adam Tkac <atkac@redhat.com> for the patch.
68
6916. Fixed restore man page and program usage which incorrectly stated
70 that -P and -A were both allowed in the same invocation (RedHat
71 bug #490627). Thanks to Adam Tkac <atkac@redhat.com> for the patch.
72
7317. Use sys_clone under Linux to share I/O contexts between dump
74 processes, thus drastically increasing the performance of dump
75 under CFQ (which is the default I/O scheduler used in a number of
76 distributions). Thanks to Jeff Moyer <jmoyer@redhat.com> for the
77 patch.
78
79Changes between versions 0.4b40 and 0.4b41 (released January 2, 2006)
80=====================================================================
81
821. Fix restore of dumped Access Control Lists. The previous
83 code for EA works fine, but ACLs needed conversion from the
84 ext2/3 disk format to posix_acl format before restoring.
85
862. Fix some issues with restoration of EA on big endian
87 platforms.
88
893. Fix restore when the symtab is over 2GB in size.
90
914. Made the directory hash indexing an optional feature,
92 accessible by the '-H' option of restore, and disable it
93 by default.
94
955. Fixed dump to not include extended attributes information
96 in the toc (archive) file which confused restore -t.
97
98Changes between versions 0.4b39 and 0.4b40 (released May 2, 2005)
99=================================================================
100
1011. Changed restore to emit warnings (instead of emitting a fatal
102 error) if a file (or a directory) is unavailable for a
103 comparision (if the user doesn't have the necessary permissions
104 to access it for example). Thanks to Kenneth Porter
105 <shiva@sewingwitch.com> for the bug report.
106
1072. Re-done the 'do not save directory entries to non-dumped inodes
108 (excluded from dump)' feature. The previous implementation
109 worked well for excluded directories but not for regular files.
110 Thanks to Kenneth Porter <shiva@sewingwitch.com> for the bug
111 report.
112
1133. Fixed a bug in dump where the tape size was miscalculated when
114 the user used -d/-s to specify the tape characteristics. Thanks
115 to Philip Goisman <goisman@physics.arizona.edu> for reporting
116 the bug.
117
1184. Fixed another bug introduced in restore with the hashtree
119 implementation. This one caused restore to stop saying
120 "removenode: non-empty directory" in some cases.
121
1225. Added support for dumping and restoring ext2/3 extended
123 attributes (EA), like the access control lists (ACL) or
124 the security labels used by SELinux.
125
126Changes between versions 0.4b38 and 0.4b39 (released January 21, 2005)
127======================================================================
128
1291. The newly added dump_on_cd_3 example was buggy, replace it
130 with an updated version from Andrew Basterfield
131 <bob@cemetery.homeunix.org>.
132
1332. Made restore to chdir() back into the initial directory when
134 dumping core while aborting a comparision operation. The
135 previous behaviour was to write the corefile at the root of
136 the directory being compared, which could very well be
137 read only and preventing the corefile generation. Thanks
138 to Kenneth Porter <shiva@sewingwitch.com> for the bug report.
139
1403. Silenced the failure to call fgetflags() when comparing an
141 entry which has no ext2 attributes (as in lsattr()).
142
1434. Fix a brown paper bug in restore -C which broke restore and
144 caused modifications on the filesystem being compared
145 (directories containing a file with the same name as the
146 directory get renamed to RSTTMP...). Thanks to Kenneth Porter
147 <shiva@sewingwitch.com> for finding the bug and helping me
148 reproduce it.
149
1505. Made restore -C force the -N flag (no writing allowed on
151 the disk) in order to prevent more bugs like the above one.
152
153Changes between versions 0.4b37 and 0.4b38 (released January 7, 2005)
154=====================================================================
155
1561. Fix a couple of troff syntax bugs in the man pages.
157 Thanks to Eric Raymond <esr@thyrsus.com> for the patch.
158
1592. Made restore use either libncurses or libtermcap, depending
160 on which one is available at configure time.
161
1623. Fixed restore negative size display bug when comparing a
163 dump containing files over 2GB. Thanks to Steve Bonds
164 <sbonds@users.sourceforge.net> for the bug report.
165
1664. Do not save directory entries to non-dumped inodes
167 (excluded from dump). This will eliminate the 'missing
168 file' warnings when doing 'restore -C'.
169
1705. Fix dump crash when backuping a huge (2TB) filesystem,
171 due to a bogus calculation on the inode map size.
172 Thanks to Kevin B. Haines <K.B.Haines@rl.ac.uk> for
173 submitting the bug and testing the fix.
174
1756. Fix a problem in restore where the final \0 in the symbolic
176 link names could have been lost, generating corrupt filenames.
177 Thanks to Kyle Wilson <kyle.wilson@amd.com> for reporting the
178 bug.
179
1807. Implemented a hash list for the directory names in restore.
181 The linear list used before caused problems in interactive
182 restores when dealing with directories having thousands of
183 entries. Thanks to Brian Ristuccia <bristuccia@starentnetworks.com>
184 for reporting the bug.
185
1868. Improved restore -C, this time including the directory
187 attributes into the comparision.
188
1899. Made restore understand tapes containing EA/ACLs (which will
190 be dumped by the next version of dump). In this version
191 extended attributes on the tape are ignored, for full EA/ACL
192 support wait for the next version or try the experimental EA
193 patch.
194
195Changes between versions 0.4b36 and 0.4b37 (released July 7, 2004)
196==================================================================
197
1981. Added the --enable-staticz configure option which enables
199 dump and restore to be linked with static versions of
200 libz and libbz2 (and dynamic versions of all other libraries).
201 This will make Debian users happy, because libz and libbz2
202 were the only needed libraries living in /usr, all the
203 others live in /lib. In case of system emergency, it is
204 better not to have to rely on an extra filesystem.
205 Thanks to Bdale Garbee <bdale@gag.com> for the suggestion.
206
2072. Fix compilation on (at least the Linux Debian port to) AMD64.
208 (<ext2fs/ext2_types.h> defines some types (__s64 and __u64)
209 that are also defined by <linux/types.h> (<asm/types.h>) and
210 they conflict).
211
2123. Make dump's reading of the dumpdates file a bit more robust,
213 preventing dump from crashing when the dumpdates file has
214 been modified by hand.
215
2164. Fixed some offset calculations in dump code which could
217 lead to "bread lseek errors" on large filesystems. Thanks
218 to Bruce Lowekamp <lowekamp@users.sourceforge.net> for
219 reporting this bug and debugging the issue.
220
2215. Made dump use the blkid library when searching for devices
222 by label or uuid instead of dump's own routines.
223
2246. Corrected a bug in dump where a wrong LABEL=... line in
225 /etc/fstab could prevent dump from dumping unrelated
226 filesystems. Thanks to Bruce Lowekamp
227 <lowekamp@users.sourceforge.net> for reporting the bug.
228
229Changes between versions 0.4b35 and 0.4b36 (released April 21, 2004)
230====================================================================
231
2321. Fixed dump compilation with old gcc versions. Thanks to
233 Mike Castle <dalgoda@users.sourceforge.net> for the patch.
234
2352. Fixed some warnings (howmany, roundup, powerof2 redefined)
236 when compiling against a recent glibc version.
237
2383. Fixed a bug in restore preventing the read of a dump tape
239 written with Solaris 7 ufsdump. Thanks to Patrick Higgins
240 <phiggins@transzap.com> for reporting the bug and providing
241 the test case.
242
2434. Changed dump to enable the creation of volumes of different
244 sizes in a single run (make -B accept a list of values).
245 Patch contributed by Florian Zumbiehl <florz@gmx.de>.
246
2475. Use the glibc provided minor() and major() macros instead
248 of our own bitmask implementation. This should be safe for
249 when the major/minor namespace will migrate to 32 bits.
250 Thanks to Zhang Jun <zhangjun@nanjing-fnst.com> for reporting
251 the bug.
252
2536. Made explicit in the dump man page that dump will not create
254 a remote file, it will only write to an already existing one.
255
2567. Another try at making size estimates better again.
257
2588. Put back the inconditional running of the end-of-tape
259 script which was changed in 0.434 to be run only when -M
260 or multiple -f were NOT specified. Some users rely on this
261 feature even when it is combined with -M/-f.
262
2639. Fixed restore when restoring huge backups (where rstdir...
264 temporary files are over 2GB). Thanks to
265 Raphael Jaffey <rjaffey@artic.edu> for reporting this,
266 debugging the issue and making the patch.
267
26810. Made restore understand FreeBSD UFS2 tapes. Thanks to
269 David <vrtin@users.sourceforge.net> for submitting the bug
270 and providing a test case.
271
27211. Made dump work with an arbitrary integer level (no more 10
273 levels only limitation). Thanks to Matthew
274 <msvincen@midway.uchicago.edu> for the patch.
275
276Changes between versions 0.4b34 and 0.4b35 (released December 21, 2003)
277=======================================================================
278
2791. Added a note in the dump man page saying that the default
280 blocksize can be 32 if -d is used with a high density argument.
281 Thanks to Antonios Christofides <A.Christofides@itia.ntua.gr>
282 for the patch.
283
2842. Fixed configure to correctly understand CPPFLAGS, CFLAGS,
285 LDFLAGS environment variables. Thanks to Arcady Genkin
286 <antipode@users.sourceforge.net> for reporting the bug.
287
2883. Made -e/-E options of dump accept an unlimited number of inodes
289 to be excluded, rather than a hardcoded maximum. Thanks to
290 Dietrich Rothe <d-rothe@users.sourceforge.net> for the patch.
291
2924. Updated the autoconf system to 2.50. Forced the -D_BSD_SOURCE
293 and -D_USE_BSD_SIGNAL defines in configure in order to solve
294 64bit build problems because quad_t is redifined with a
295 different signature. Thanks to Mike Harris <mharris@redhat.com>
296 for reporting this bug.
297
2985. Made restore build on Solaris, making possible to
299 restore Linux's "enhanced" tapes. Thanks to Uwe Gohlke
300 <uwe@ugsoft.de> for the patch.
301
3026. Made an extension in the dump tape format capable of saving
303 MacOSX specific inode extensions. Uwe Gohlke <uwe@ugsoft.de>
304 wrote the extension and contributed the restore code back
305 into this codebase. The same extension mechanism will be
306 used in the future to save ACLs...
307
3087. Made rmt work correctly with regard to QFA and local/remote
309 files and tapes. The remote access will however work only
310 when the dump provided rmt version is used. If you want to
311 use another rmt server, please do not use the QFA feature.
312 Thanks to Uwe Gohlke <uwe@ugsoft.de> for the patch.
313
314Changes between versions 0.4b33 and 0.4b34 (released April 18, 2003)
315====================================================================
316
3171. Fixed the INSTALL file to reflect the actual install paths.
318 Thanks to David Ronis <ronis@ronispc.chem.mcgill.ca> for
319 reporting the bug.
320
3212. Fixed the configure script to only check for headers presence
322 instead of trying to compile them. This should fix issues
323 with old build environments. Thanks to Kari Lempiainen
324 <kari@funky.pp.fi> for reporting the bug.
325
3263. Fixed restore to correctly ignore sockets when comparing
327 a dump (as socket cannot be properly restored anyway). Thanks
328 to Gunther Reiszig <gunther@mit.edu> for reporting the bug.
329
3304. Fixed restore to correctly access the archive file (-A argument)
331 even when using a remote tape. Thanks to Fabrice Bellet
332 <fabrice@bellet.info> for reporting the bug.
333
3345. Fixed (again) handling of long (largefile) seeks in rmt.
335 Thanks to Fabrice Bellet <fabrice@bellet.info> for reporting
336 the bug.
337
3386. Fixed restore corner case when dealing with large block sizes
339 dump is able to write now (-b 1024). Thanks to Fabrice Bellet
340 <fabrice@bellet.info> for reporting the bug.
341
3427. Fixed a bug preventing dump to access a filesystem having
343 a label exactly 16 bytes in length. Thanks to <minduni@ti-edu.ch>
344 for reporting the bug.
345
3468. Made dump store dump dates using explicit timezones, fixing a
347 problem with incremental dumps if the timezone is modified
348 between the dumps. Thanks to Philippe Troin <phil@fifi.org> for
349 the bug report and the patch.
350
3519. Fixed a bug encountered when dumping individual files (not full
352 filesystems or directories) and dangling symbolic links happen
353 to be in the list of files. For as far as dump is concerned,
354 dangling symbolic links are allowed, and are dumped as is.
355 Thanks to Jin-su Ahn <jsahn@ee.snu.ac.kr> for reporting the
356 bug and providing the fix.
357
35810. Fixed open and creation modes and permissions for QFA and
359 table-of-contents files in dump and restore. Thanks to
360 Philippe Troin <phil@fifi.org> for the patch.
361
36211. Fixed the archive file descriptor handling enabling it to be 0.
363 This can happen in some cases when shell redirections are used.
364 Thanks to Philippe Troin <phil@fifi.org> for the patch.
365
36612. Delayed the opening of archive file until after suid had been
367 dropped (fixing a possible security issue if dump is suid).
368 Thanks to Philippe Troin <phil@fifi.org> for the patch.
369
37013. Fixed the 'S' command handling in the rmt client part.
371 Thanks to Philippe Troin <phil@fifi.org> for the patch.
372
37314. Modified the end-of-tape script handling to print out statistics
374 (and stop the timer) before launching the eot script. Also, the eot
375 script does not get run anymore when using -M (which makes sense) or
376 when multiple tapes are listed on the command line
377 (-f tape0,tape1,tapen) (which also makes sense).
378 Thanks to Philippe Troin <phil@fifi.org> for the patch.
379
38015. Relicensed dump/restore under the 'revised' BSD license, as per
381 ftp://ftp.cs.berkeley.edu/ucb/4bsd/README.Impt.License.Change.
382
38316. Added LZO compression to dump. This new compression method has
384 the advantage of being super fast, thus not killing tape streaming
385 on slow machines. Thanks to Helmut Jarausch
386 <jarausch@igpm.rwth-aachen.de> for the patch and to
387 Markus Oberhumer <markus@oberhumer.com> for giving special permission
388 to include his miniLZO project (GPL licensed) in dump/restore.
389
39017. Some small buffer overruns fixes in rmt. Thanks to Antonomasia
391 <ant@notatla.demon.co.uk> for reporting the bugs.
392
39318. Added a special rmt version which can do encryption when writing
394 to tape. Read examples/encrypted_rmt/README for details on
395 how to enable and configure it. Thanks to Ken Lalonde
396 <ken@globalremit.com> for the patch.
397
39819. Made dump work with 2.5 kernel end of tape early warning semantics.
399 Thanks to Kai Makisara <Kai.Makisara@kolumbus.fi> for the patch.
400
40120. Fixed a bug which caused dump -w|-W not to work anymore, because
402 the fs_freq and fs_passno fields in /etc/mtab are always set
403 to 0 0. Thanks to Trent Piepho <xyzzy@speakeasy.org> for
404 reporting the bug.
405
406Changes between versions 0.4b32 and 0.4b33 (released February 10, 2003)
407=======================================================================
408
4091. Added a note in the restore man page clarifying the question
410 'set the permissions on the current directory ?' asked by
411 restore at the end of treatment in -i and -x modes.
412
4132. Fixed the endianess issues when reading compressed tapes.
414 Thanks to Dark Force <daq4th@users.sourceforge.net> for
415 reporting this bug and providing test cases.
416
4173. Fixed the "ACL won't be dumped" warning message (which showed
418 an extra, unrelated error message). Thanks to Dragan Krnic
419 <dkrnic@lycos.com> for reporting this bug.
420
4214. Made dump look first into /etc/mtab, then into /etc/fstab
422 when searching for filesystem paths. Also fixed some problems
423 caused by binding mounts or multiple block device mounts.
424 Thanks to Matus Uhlar <uhlar@fantomas.sk>, Elliott Mitchell
425 <ehem@m5p.com>, Greg Edwards <gedwards@users.sourceforge.net>,
426 Brian Hoy <brian.hoy@opus.co.nz>. (fixes Debian bugs #147086
427 and #160305, Sourceforge bugs #618699 and #679832).
428
4295. Made dump's -I option accept the value '0' meaning all the
430 read errors will be ignored. This can be useful when running
431 dump from unattended sessions (like cron jobs). Thanks to
432 John I Wang <jiwang@users.sourceforge.net> for the suggestion.
433
4346. Fixed the output of dump to indicate 'blocks' instead of
435 'tape blocks' in the various messages (blocks are always
436 1 Kilobyte, tape blocks are 1 BK * '-b' argument), and
437 made it clearly print the current blocksize at the start of
438 a dump. Thanks to Michal Szymanski <msz@astrouw.edu.pl> for
439 the suggestions.
440
4417. Made rmt understand long (largefiles) seeks.
442
4438. Fixed build with very old versions of libext2fs, where
444 EXT2_FT_* constants were undefined.
445
4469. Made dump accept the dumpdates path on the command line
447 (-D file option) instead of using only the hardcoded one.
448 Thanks to Piete Brooks <pb22@users.sourceforge.net> for the
449 suggestion.
450
45110. Enabled rmt, LFS, readline, QFA options by default in
452 ./configure. Updated the configure process (new versions
453 of config.guess, config.sub etc).
454
455Changes between versions 0.4b31 and 0.4b32 (released November 15, 2002)
456=======================================================================
457
4581. Changed dump to use fcntl(F_SETLK) style locking instead
459 of flock() when locking the dumpdates file. With the old
460 locking scheme, a local user having read rights on the
461 dumpdates file could be able to do a Denial of Service attack
462 on dump. In order to lock the dumpdates file with the new
463 scheme, the user would need to have write access on the file.
464 Thanks to Richard Johnson <Richard.Johnson3@ey.com> for
465 reporting the bug (originally a bugtraq post).
466
4672. Fixed interactive 'ls' which caused spurious errors warnings
468 about 'undefined filetypes' detected. Thanks to Jorgen Ostling
469 <jorgen_ostling@users.sourceforge.net> for reporting this
470 bug.
471
4723. Fixed dump's estimate when dealing with sparse inodes.
473
4744. Modified dump to allow setting a blocksize bigger than 32kB
475 (raised the limit to 1024kB), because newer hardware needs
476 this for proper operation. Thanks to Dirk Traenapp
477 <dtraenapp@users.sourceforge.net> for reporting this.
478
4795. Fixed a bug causing Dump to stop and report an error if an
480 inode number in the exclude file was followed by some amount
481 of whitespace. Thanks to Jeffrey Sofferin
482 <sofferin@users.sourceforge.net> for reporting this bug.
483
4846. Fixed a bug which caused restore, in some particular cases,
485 to ask some 'scary' questions and leave a bunch of RSTTMP
486 directories behind when restoring incremental tapes. Thanks
487 to Philippe Troin <phil@fifi.org> for reporting this bug and
488 providing the test cases.
489
4907. Changed the wording when inodes are excluded from dump:
491 replaced 'Added inode 7 to exclude list' with
492 'Excluding inode 7 (resize inode) from dump', as suggested
493 by Elliott Mitchell <ehem@m5p.com> in a Debian bug report.
494
495Changes between versions 0.4b30 and 0.4b31 (released July 30, 2002)
496===================================================================
497
4981. Fixed rmt open flags transmission (GNU's symbolic syntax over
499 rmt) which I broke in 0.4b29. Thanks to Eros Albertazzi
500 <eros@lamel.bo.cnr.it> for reporting the bug.
501
502Changes between versions 0.4b29 and 0.4b30 (released July 25, 2002)
503===================================================================
504
5051. Made dump print out the ext2 logical block number in case of a read
506 error, which can be given as an argument to debugfs' ncheck command,
507 in order to find out the affected inode. Added note about this
508 usage in dump's man page.
509
5102. Fixed a problem in restore when reading tapes written on big
511 endian machines with very old versions of dump. The patch was
512 contributed by George Helffrich <george@geology.bristol.ac.uk>.
513
5143. Fixed the tape length calculation when using large tapes
515 and compression. Thanks to Georg Lippold
516 <g_lippold@sourceforge.net> for reporting the bug.
517
5184. Added a new set of examples in dump_on_cd_2 directory, based
519 on dump_on_cd examples but somewhat enhanced, supporting DVD
520 media, and localized in english and german. Thanks to
521 Georg Lippold <g_lippold@sourceforge.net> for the new scripts.
522
5235. Made dump save 32 bit UID/GID. Internally, this was achieved
524 by switching from the old BSD inode format to the new BSD
525 inode format, which means that the tape format was changed.
526 However, since all restore versions out there should
527 transparently support both inode formats, the change should
528 have no side effects. Thanks to John Yu <jky@cs.bu.edu> for
529 reporting the bug.
530
5316. Fixed a lot of warnings in the code shown when compiling
532 with 'gcc -W'. Thanks to Matthias Andree
533 <matthias.andree@stud.uni-dortmund.de> for reporting this.
534
5357. Fixed a small markup bug in the dump man page. Thanks to
536 Eric S. Raymond <esr@minx.thyrsus.com> for submitting the
537 patch.
538
5398. Rewrote entirely the man pages using the tmac.an macro
540 package (Linux man page format) instead of the original BSD
541 format. They should be now cleaner and easier to modify.
542
543Changes between versions 0.4b28 and 0.4b29 (released June 8, 2002)
544==================================================================
545
5461. Fixed a problem in the rmt ioctl command, where ioctl's issued from
547 non Linux clients were misinterpreted. The description of the problem
548 (incompatible numbering in Linux mtio opcodes) is documented at
549 ftp://ftp.fokus.gmd.de/pub/unix/star/README.mtio . Thanks to
550