]> git.wh0rd.org - dump.git/blob - CHANGES
Enabled rmt, LFS, readline, QFA options by default in ./configure.
[dump.git] / CHANGES
1 $Id: CHANGES,v 1.209 2003/01/24 11:01:43 stelian Exp $
2
3 Changes between versions 0.4b32 and 0.4b33 (released ?????????????????)
4 =======================================================================
5
6 1. Added a note in the restore man page clarifying the question
7 'set the permissions on the current directory ?' asked by
8 restore at the end of treatment in -i and -x modes.
9
10 2. Fixed the endianess issues when reading compressed tapes.
11 Thanks to Dark Force <daq4th@users.sourceforge.net> for
12 reporting this bug and providing test cases.
13
14 3. Fixed the "ACL won't be dumped" warning message (which showed
15 an extra, unrelated error message). Thanks to Dragan Krnic
16 <dkrnic@lycos.com> for reporting this bug.
17
18 4. Made dump look first into /etc/fstab, then into /etc/mtab
19 when searching for filesystem paths. Also fixed some problems
20 caused by binding mounts or multiple block device mounts.
21 Thanks to Matus Uhlar <uhlar@fantomas.sk>, Elliott Mitchell
22 <ehem@m5p.com>, Greg Edwards <gedwards@users.sourceforge.net>.
23 (fixes Debian bugs #147086 and #160305, Sourceforge bug #618699)
24
25 5. Made dump's -I option accept the value '0' meaning all the
26 read errors will be ignored. This can be useful when running
27 dump from unattended sessions (like cron jobs). Thanks to
28 John I Wang <jiwang@users.sourceforge.net> for the suggestion.
29
30 6. Fixed the output of dump to indicate 'blocks' instead of
31 'tape blocks' in the various messages (blocks are always
32 1 Kilobyte, tape blocks are 1 BK * '-b' argument), and
33 made it clearly print the current blocksize at the start of
34 a dump. Thanks to Michal Szymanski <msz@astrouw.edu.pl> for
35 the suggestions.
36
37 7. Made rmt understand long (largefiles) seeks.
38
39 8. Fixed build with very old versions of libext2fs, where
40 EXT2_FT_* constants were undefined.
41
42 9. Made dump accept the dumpdates path on the command line
43 (-D file option) instead of using only the hardcoded one.
44 Thanks to Piete Brooks <pb22@users.sourceforge.net> for the
45 suggestion.
46
47 10. Enabled rmt, LFS, readline, QFA options by default in
48 ./configure. Updated the configure process (new versions
49 of config.guess, config.sub etc).
50
51 Changes between versions 0.4b31 and 0.4b32 (released November 15, 2002)
52 =======================================================================
53
54 1. Changed dump to use fcntl(F_SETLK) style locking instead
55 of flock() when locking the dumpdates file. With the old
56 locking scheme, a local user having read rights on the
57 dumpdates file could be able to do a Denial of Service attack
58 on dump. In order to lock the dumpdates file with the new
59 scheme, the user would need to have write access on the file.
60 Thanks to Richard Johnson <Richard.Johnson3@ey.com> for
61 reporting the bug (originally a bugtraq post).
62
63 2. Fixed interactive 'ls' which caused spurious errors warnings
64 about 'undefined filetypes' detected. Thanks to Jorgen Ostling
65 <jorgen_ostling@users.sourceforge.net> for reporting this
66 bug.
67
68 3. Fixed dump's estimate when dealing with sparse inodes.
69
70 4. Modified dump to allow setting a blocksize bigger than 32kB
71 (raised the limit to 1024kB), because newer hardware needs
72 this for proper operation. Thanks to Dirk Traenapp
73 <dtraenapp@users.sourceforge.net> for reporting this.
74
75 5. Fixed a bug causing Dump to stop and report an error if an
76 inode number in the exclude file was followed by some amount
77 of whitespace. Thanks to Jeffrey Sofferin
78 <sofferin@users.sourceforge.net> for reporting this bug.
79
80 6. Fixed a bug which caused restore, in some particular cases,
81 to ask some 'scary' questions and leave a bunch of RSTTMP
82 directories behind when restoring incremental tapes. Thanks
83 to Philippe Troin <phil@fifi.org> for reporting this bug and
84 providing the test cases.
85
86 7. Changed the wording when inodes are excluded from dump:
87 replaced 'Added inode 7 to exclude list' with
88 'Excluding inode 7 (resize inode) from dump', as suggested
89 by Elliott Mitchell <ehem@m5p.com> in a Debian bug report.
90
91 Changes between versions 0.4b30 and 0.4b31 (released July 30, 2002)
92 ===================================================================
93
94 1. Fixed rmt open flags transmission (GNU's symbolic syntax over
95 rmt) which I broke in 0.4b29. Thanks to Eros Albertazzi
96 <eros@lamel.bo.cnr.it> for reporting the bug.
97
98 Changes between versions 0.4b29 and 0.4b30 (released July 25, 2002)
99 ===================================================================
100
101 1. Made dump print out the ext2 logical block number in case of a read
102 error, which can be given as an argument to debugfs' ncheck command,
103 in order to find out the affected inode. Added note about this
104 usage in dump's man page.
105
106 2. Fixed a problem in restore when reading tapes written on big
107 endian machines with very old versions of dump. The patch was
108 contributed by George Helffrich <george@geology.bristol.ac.uk>.
109
110 3. Fixed the tape length calculation when using large tapes
111 and compression. Thanks to Georg Lippold
112 <g_lippold@sourceforge.net> for reporting the bug.
113
114 4. Added a new set of examples in dump_on_cd_2 directory, based
115 on dump_on_cd examples but somewhat enhanced, supporting DVD
116 media, and localized in english and german. Thanks to
117 Georg Lippold <g_lippold@sourceforge.net> for the new scripts.
118
119 5. Made dump save 32 bit UID/GID. Internally, this was achieved
120 by switching from the old BSD inode format to the new BSD
121 inode format, which means that the tape format was changed.
122 However, since all restore versions out there should
123 transparently support both inode formats, the change should
124 have no side effects. Thanks to John Yu <jky@cs.bu.edu> for
125 reporting the bug.
126
127 6. Fixed a lot of warnings in the code shown when compiling
128 with 'gcc -W'. Thanks to Matthias Andree
129 <matthias.andree@stud.uni-dortmund.de> for reporting this.
130
131 7. Fixed a small markup bug in the dump man page. Thanks to
132 Eric S. Raymond <esr@minx.thyrsus.com> for submitting the
133 patch.
134
135 8. Rewrote entirely the man pages using the tmac.an macro
136 package (Linux man page format) instead of the original BSD
137 format. They should be now cleaner and easier to modify.
138
139 Changes between versions 0.4b28 and 0.4b29 (released June 8, 2002)
140 ==================================================================
141
142 1. Fixed a problem in the rmt ioctl command, where ioctl's issued from
143 non Linux clients were misinterpreted. The description of the problem
144 (incompatible numbering in Linux mtio opcodes) is documented at
145 ftp://ftp.fokus.gmd.de/pub/unix/star/README.mtio . Thanks to
146 Jörg Schilling <schilling@fokus.gmd.de> for reporting this bug and
147 providing an excellent, cross-platform replacement for rmt in his
148 star package.
149
150 2. Fixed a bug reported by Andy Mentges <amentges@jumpline.com>
151 which caused restore to fail when the inode maps were not entirely
152 contained on the first volume (when using really small volumes or
153 when dumping a huge number of inodes).
154
155 3. Fixed a problem in dump, where files in subdirectories of directories
156 that have the nodump flag set (or being excluded with -e/-E) were
157 sometimes incorrectly dumped (instead of being excluded). The original
158 fix is from David C Lawrence <tale@dd.org> in the FreeBSD version
159 of dump: http://www.FreeBSD.org/cgi/query-pr.cgi?pr=32414
160 Thanks to Ted Grzesik <tedgyz@roostme.com> for reporting the bug and
161 help testing the patch.
162
163 4. Added some example scripts from Gerd Bavendiek <bav@epost.de>
164 which makes one able to pipe the output of dump, by the net, to
165 a remote CD-burner server.
166
167 5. Made dump use O_CREAT|O_TRUNC both locally and remotely (over rmt),
168 and use GNU's symbolic syntax over rmt instead of numerical values
169 to assure multiple platform compatibility.
170
171 6. Documented the -d option in restore.
172
173 7. Added a -v (verbose) mode to dump. For now it just prints the number
174 of the inode being dumped, but this could evolve in future versions
175 to include interesting debugging output.
176
177 8. Added a -o flag to restore, which automatically restores the current
178 directory permissions in -i or -x mode, without asking the operator
179 whether to do so. Patch submitted by Tony Clayton <tonyc@e-smith.com>
180 and Peter Samuel <peters@e-smith.com>.
181
182 Changes between versions 0.4b27 and 0.4b28 (released April 12, 2002)
183 ====================================================================
184
185 1. Fixed a bug in the QFA feature which could have caused
186 a bad tape positionning on restore (causing extra delays in
187 restore). Credits go to Uwe Gohlke <uwe@ugsoft.de>.
188
189 2. Added a small note in the dump man page specifying that
190 there should be no white space between the option letter and
191 the -j or -z parameter, thanks to Kenneth Porter <shiva@well.com>
192
193 3. Made restore work with older versions of the readline library,
194 by checking in configure for several extended symbols. Restore
195 can now be compiled with a readline as old as the 2.0 release
196 (though it may be a good idea to upgrade it to a more recent
197 version...). Thanks to Andrew Donkin <ard@waikato.ac.nz> for
198 reporting the build failures.
199
200 4. Fixed a performance problem with the QFA file creation in
201 dump, which made unnecessary seeks on the tape slowing down
202 the dump. Thanks to Andrew Donkin <ard@waikato.ac.nz> for
203 reporting this issue.
204
205 5. Removed the inclusion of some kernel headers in the dump
206 source, which prevented the compile in some kernel/glibc
207 headers/architecture combination. Thanks to Bdale Garbee
208 <bdale@gag.com> for reporting the bug.
209
210 6. Added the appropriate error message when dump fails to
211 open the output file for writing. Thanks to Amith Varghese
212 <amithv@yahoo.com> for reporting this bug.
213
214 7. Made restore able to understand large Solaris ufsdump tapes
215 (containing inodes bigger than 4194304). Sun have introduced
216 an "extension" to the dump tape format when dealing with
217 those inodes, which was uncorrectly handled by Linux restore.
218 Thanks to Uwe Gohlke <uwe@ugsoft.de> for reporting the bug and
219 providing a test case.
220
221 8. Added the -m parameter to dump which optimises the output for
222 inodes having been changed but not modified since the last dump
223 ('changed' and 'modified' have the meaning defined in stat(2)).
224 For those inodes, dump will save only the metadata, instead of
225 saving the entire inode contents. Inodes which are either
226 directories or have been modified since the last dump are saved
227 in a regular way. Uses of this flag must be consistent, meaning
228 that either every dump in an incremental dump set have the flag,
229 or no one has it.
230
231 Changes between versions 0.4b26 and 0.4b27 (released February 15, 2002)
232 =======================================================================
233
234 1. Fixed behaviour of dump when exceeding resource limits
235 (SIGXFSZ treatment).
236
237 2. Added the -L flag to restore to allow the user to specify a
238 maximal allowed number of miscompares when using restore
239 with the -C option to check the backup.
240
241 3. Detailed the manual entry for the -N option of restore.
242
243 4. Added the -a flag to restore to make able doing unattended
244 restores in -i or -x mode (automatically walks through the
245 multiple dump volumes).
246
247 5. Extended the QFA mode to work with local files and/or
248 remote tapes and files. This way, restore can know in advance
249 the tape number and the offset for the inodes to extract and
250 can minimize the extraction time by seeking directly to the
251 good tape/offset.
252
253 6. Added the -A <archive> option to both dump and restore,
254 which makes dump to archive a dump table-of-contents in
255 the specified file to be used by restore to determine
256 whether a file is in the dump file that is being restored.
257 (the archive file syntax is also compatible with the
258 Solaris ufsdump generated one).
259
260 7. Small fix in restore making it able to read some (broken ?)
261 Solaris ufsdump tapes.
262
263 8. Fixed dump to correctly recognise the root filesystem when using
264 ext2 disk labels (LABEL=/). Thanks to John Yu <jky@it.bu.edu>
265 for reporting this bug.
266
267 9. Added the -P <file> option to restore to create a
268 Quick File Access file from an already made dump. Patch
269 contributed by Uwe Gohlke <uwe@ugsoft.de>.
270
271 10. Made restore compile and run on Solaris, making it a
272 possible replacement for the standard ufsrestore. Port was
273 contributed by Uwe Gohlke <uwe@ugsoft.de>.
274
275 Changes between versions 0.4b25 and 0.4b26 (released January 7, 2002)
276 =====================================================================
277
278 1. Added a set of backup scripts from Eugenio Diaz
279 <getnito@yahoo.com> in the examples section. It features
280 automatic (cron based) full and incremental dumping of
281 several filesystems on a separate filesystem.
282
283 2. Fixed a off-by-one miscalculation which disabled dumping
284 a one letter subdirectory. Thanks to Chris Siebenmann
285 <cks@utcc.utoronto.ca> for reporting the bug.
286
287 3. Fixed several restore bugs occuring when trying to
288 restore some missing files on the tape. Thanks to Chris
289 Siebenmann <cks@utcc.utoronto.ca> for reporting the bug.
290
291 4. Fixed --with-ldopts configure argument passing, installing from
292 a separate object directory, makefile cleanups contributed
293 by <splite@purdue.edu>.
294
295 5. Fix a bug which could caused, in some conditions, the highest
296 number inode of a filesystem, to not be dumped. Many thanks
297 to Chris Siebenmann <cks@utcc.utoronto.ca> for helping me
298 chase this bug.
299
300 Changes between versions 0.4b24 and 0.4b25 (released November 17, 2001)
301 =======================================================================
302
303 1. Added a mini howto from Patrick Walsh in the examples
304 directory.
305
306 2. Minor man pages syntax corrections. Thanks to
307 Chris Danis <screechco@home.com> for reporting the bugs.
308
309 3. Added a script from David B. Peterson <dave@toppledwagon.com>
310 to the examples section. It features dumping several
311 filesystems to a remote tape drive upon ssh.
312
313 4. Added a patch provided by Richard Jones <rich@annexia.org>
314 which allows BRADEMAX (number of read errors tolerated by
315 dump) to be adjusted using the -I option.
316
317 5. Fixed a bug which disabled doing "restore -C -f -". Thanks
318 to Clemens Stiglechner <a9401816@unet.univie.ac.at> for the
319 patch.
320
321 6. Add the -l option to restore to specify if, when doing a
322 remote restore, the file used to access the backup is a
323 regular file (the defaults being a tape drive). Restore needs
324 to know this information when reading a remote compressed
325 dump. Previously, this information was autodetected, but
326 the autodetection code fails (with ioctl: Inappropriate ioctl
327 for device) when using a non Linux remote box. Thanks to
328 many users and especially to Eros Albertazzi
329 <eros@lamel.bo.cnr.it> for reporting this.
330
331 7. Found a workaroung for the dump deadlock problem (3 childs
332 stuck in pause(), father in read()). The workaround seems
333 to work for me and several beta-testers. If it doesn't work
334 for you, please report back.
335
336 8. Updated the RPM spec file (BuildPrereq, URL etc).
337
338 Changes between versions 0.4b23 and 0.4b24 (released September 12, 2001)
339 ========================================================================
340
341 1. Fixed the permissions of a newly created QFA file by dump.
342
343 2. Cleaned up the source of dump (the external variables
344 definition was a complete mess, making possible to have
345 objects overlap).
346
347 3. Fixed restore to use the full tape volume path when doing
348 a compare (since it changes the working directory to the
349 filesystem being compared in the process).
350
351 4. Added the -q option to dump which makes dump abort
352 whenever it needs operator attention. It should be
353 easier to use dump in scripts with this option.
354
355 5. Detect the use of incompatible options to dump and
356 refuse them (like -a and -B options together).
357
358 6. Added bzip2 compression to dump/restore (use option -j level
359 to select it). Note that you will need a restore version
360 >= 0.4b24 in order to restore a bzip2 compressed dump.
361 The same warning as for the zlib compression applies:
362 the tape format of a bzip2 dump is not compatible with the
363 original BSD tape format.
364
365 7. Fixed a overflow problem in dump corrupting the dump when
366 very large files were encountered. Thanks to Vladimir Nadvornik
367 for the bug report.
368
369 8. Added a ioctl(BLKFLSBUF) in dump which should flush the
370 kernel buffer/page cache before starting the dump, helping
371 a bit those who use dump on mounted filesystems. Thanks to
372 John Yu <jky@it.bu.edu> and to Theodore T'so <tytso@mit.edu>
373 for this suggestion.
374
375 9. Updated the RPM spec file following the RedHat changes
376 (dynamically linked binaries now in /usr/sbin etc).
377
378 10. Added a patch from Helmut Jarausch <jarausch@igpm.rwth-aachen.de>
379 which enables restore to recognise multi volume compressed dumps
380 done on CD. Included his scripts for dump (which pipe the dump
381 output directly into cdrecord) and restore. There is now
382 possible to to backups to CD on the fly!
383
384 Changes between versions 0.4b22 and 0.4b23 (released July 20, 2001)
385 ===================================================================
386
387 1. Fixed a buffer overflow in restore/tape.c. Patch provided by
388 Marcus Meissner (Caldera International Security Dept.).
389
390 2. Implement the Sun rmt extended protocol. Patch submitted
391 by Ian Gordon <iangordon@users.sourceforge.net>.
392
393 3. Check for the e2fsprogs header <ext2fs/ext2_fs.h> instead of
394 the linux kernel header. This ensures that dump always has the
395 latest version of this file. Patch submitted by
396 Andreas Dilger <adilger@turbolinux.com>.
397
398 4. Report any filesystem present in either /etc/fstab with a
399 positive passno or /etc/dumpdates in dump -w output.
400 Patch submitted by Andreas Dilger <adilger@turbolinux.com>.
401
402 5. Fixed the looping problem in dump introduced in the
403 previous version.
404
405 6. Changed the -B option of dump to limit the size of
406 _compressed_ output per volume if compression is on.
407 Patch contributed by Helmut Jarausch
408 <jarausch@igpm.rwth-aachen.de>. Note however that, since
409 it is impossible to predict the size of the compressed
410 data before doing the compression, the -B limit is a bit
411 conservative.
412
413 7. Fixed a bug in reading the operator typed file/tape path for
414 the next volume in restore.
415
416 8. Implemented a "-F script" option to restore which permits the
417 user to specify a script which will be launched at the
418 beginning of each tape, useful for automatic programming of
419 tape changers for example. See the restore man page for the
420 script parameters and return codes.
421
422 9. Small fix for the QFA routines provided by Uwe Gohlke
423 <uwe@ugsoft.de>, and some recommendations for QFA uses in
424 the man pages.
425
426 10. Fixed the multivolume restoring where making a mistake
427 to the 'Mount next tape' prompt caused several blocks to
428 be lost.
429
430 11. Enhanced the -e option of dump to take as a parameter a
431 comma separated list of inode numbers.
432
433 12. Added the -E option to dump which specify a file containing
434 inode numbers to exclude from the dump.
435
436 13. Fixed the compressed multi-volume dump + restore.
437
438 Changes between versions 0.4b21 and 0.4b22 (released May 12, 2001)
439 ==================================================================
440
441 1. Made dump report the number of blocks dumped per volume.
442 Thanks to Kenneth Porter <shiva@well.com> for the suggestion.
443
444 2. Fix a bug in dump where waiting too much at the 'change volumes'
445 question caused the volume to be rewritten. Thanks to
446 Graham Reed <greed@users.sourceforge.net> for reporting the
447 bug and providing a patch.
448
449 3. Added a compression option to dump, contributed by Jerry
450 Peters <gapeters@worldnet.att.net>.
451
452 WARNING: the compression works only on files/pipes and
453 drives supporting variable block size.
454
455 WARNING2: tapes created using the compression feature are
456 incompatible with the standard dump tape format, and a
457 version of restore >= 0.4b22 will be needed for extraction.
458
459 4. Fixed some compilation problems for glibc 2.2.2 and 64 bit
460 architectures. Thanks to Paul Slootman <paul@debian.org> for
461 the patch and to Bdale Garbee <bdale@gag.com> for forwarding
462 it upstream.
463
464 5. Many cleanups (CPP defines, const char warnings, check of
465 ext2fs COMPAT flags, time_t cleanups, added libext2 version
466 in dump usage text) by Andreas Dilger <adilger@turbolinux.com>.
467
468 6. Made --prefix option work in configure. All the install path
469 are now based on the configure parameters.
470
471 7. Added the Quick File Access mode in dump/restore, contributed
472 by Uwe Gohlke <uwe@ugsoft.de>. In this mode, dump stores in
473 a file tape position for each inode, and this file is used by
474 restore (if called with parameter Q and the filename)
475 to directly position the tape at the file restore is currently
476 working on. This saves hours when restoring single files from
477 large backups, saves the tapes and the drive's head. Use
478 --enable-qfa option of configure to compile in the QFA support.
479
480 8. Added the possibility to dump several files and directories
481 in a single invocation of dump. Thanks to Uwe Gohlke
482 <uwe@ugsoft.de> for implementing this option.
483
484 9. Fixed the dumping and restoring of files with holes
485 (files ending with holes didn't get dumped or restored
486 correctly).
487
488 10. Fixed a socket descriptor leak in dump, which leaved opened
489 3 file descriptors per dump process (and there is one dump
490 process per tape).
491
492 11. Fixed dump large file system support, by explicit use of
493 open64/lseek64/etc functions (explicit use needed because
494 e2fsprogs libraries don't behave well when compiled with
495 FILE_OFFSET_BITS=64).
496
497 Changes between versions 0.4b20 and 0.4b21 (released January 13, 2001)
498 ======================================================================
499
500 1. Fixed some bugs in the dump -w|-W logic introduced by
501 the previous version. Thanks to Andreas Dilger
502 <adilger@turbolinux.com> for his help on this one.
503
504 2. Fixed again a compilation problem when using old e2fs
505 headers (filesystem label related). Thanks to many users
506 who reported this stupid error.
507
508 3. Fixed a build problem on old lib5 based systems dealing with
509 _PATH_MNTTAB being undefined. Thanks to John Adams
510 <johna@onevista.com> for reporting the bug.
511
512 4. Improved the error detection in restore when creating
513 the temporary files in TMPDIR. Now restore will corectly
514 report a 'no space left on device' error instead of
515 strange errors which could imply an archive corruption.
516 Thanks to Gabriel Somlo <somlo@cs.colostate.edu> and
517 bgjenero <bgjenero@sympatico.ca> for reporting the bug.
518
519 5. Added the throughput information in dump's progression
520 messages. Thanks to Andreas Dilger <adilger@turbolinux.com>
521 for the patch.
522
523 6. Use libext2fs's inode scanning routines, which are particularly
524 robust when dealing with errors (especially when having some
525 bad blocks on the filesystem). Many thanks to Colin
526 <colin@horizon.com> for reporting the bug, investigating
527 the issues, finding a workaround, writing the patch and
528 fully testing it... (of course, if this patch will break
529 anything, he is to blame for :-)).
530
531 7. Made dump and restore LFS aware. Dump can dump a filesystem
532 containing large files, generate a large file on output and
533 restore can restore them. This feature is not enabled by
534 default, use --enable-largefile option of configure to enable
535 it (you need to have a LFS aware glibc though). Thanks to
536 Andrea Arcangeli <andrea@suse.de> for submitting the patch,
537 and to Theodore T'so <tytso@valinux.com> for his always
538 useful thoughts.
539
540 8. Made dump ask upon a tape write error if it should rewrite
541 the current volume (assume this is a bad tape) or if it should
542 assume an end-of-tape condition (useful for tape drives which
543 behaves badly at the end of the tape). Thanks to Andreas
544 Dilger <adilger@turbolinux.com> for the suggestion.
545
546 Changes between versions 0.4b19 and 0.4b20 (released November 10, 2000)
547 =======================================================================
548
549 1. Fixed a small compilation problem due to a change
550 in the definintion of the struct sigaction in
551 glibc 2.0 / libc5. Thanks to Gunther Schlegel
552 <schlegel@riege.de> for reporting the bug and to
553 Dave Platt <dplatt@snulbug.mtview.ca.us> for suggesting
554 a fix.
555
556 2. Modified the label and uuid analysis in order to be
557 self-contained (independant of kernel/libc headers). This
558 should fix the compile with older kernel/libc headers and
559 will preserve the functionality. Thanks to Bernhard Erdmann
560 <bernhard.erdmann@gmx.de> for reporting the bug.
561
562 3. The 'exclude inode' option, if applied to a directory
563 inode, excludes now correctly all the leaves of this
564 directory. Thanks to John R. Dennison
565 <gerdesas@users.sourceforge.net> for reporting the bug.
566
567 4. Fixed the '-e' option to disable the possibility
568 to exclude the root inode (which causes the dumps to
569 be unreadable by restore). Prevented array overflow
570 when multiple -e options are used.
571
572 5. Fixed dump to correctly interpret a filesystem argument
573 which is a mountpoint and it is not an absolute path
574 (as specified in the fstab). Thanks to Bernhard R. Erdmann
575 <be@berdmann.de> for reporting the bug.
576
577 6. Made dump able to backup files larger than 2 GB. Note that
578 dump still doesn't cope with files larger than 4 GB.
579
580 7. Restore the real uid and gid before invoking an external
581 RSH program (big hole when dump or restore is suid root!).
582
583 8. Get the values for the default tape device and the location
584 of fstab file from the system headers. Thanks to
585 Andreas Dilger <adilger@turbolinux.com> for the patch.
586
587 9. Made dump -w|-W report all recognized filesystems
588 present in either /etc/fstab or /etc/dumpdates, and present
589 the list in the same order as in fstab file. Thanks
590 to Andreas Dilger <adilger@turbolinux.com> for the patch.
591
592 10. Made dump's -a (automatic end of tape detection) the
593 default. Specifying one of -B, -c, -d or -s options will
594 override the EOM detection. Thanks to Andreas Dilger
595 <adilger@turbolinux.com> for the patch.
596
597 11. Save the ext2 filesystem label into the dump volume label.
598 Specifying a volume label on the command line (-L option)
599 will override this feature. Thanks to Andreas Dilger
600 <adilger@turbolinux.com> for the patch.
601
602 Changes between versions 0.4b18 and 0.4b19 (released August 20, 2000)
603 =====================================================================
604
605 1. Fixed the signal handling in dump (which I broke in 0.4b17)
606 which was causing several strange dump failures (dump
607 hanged or segmentation faults etc).
608
609 2. Specified the default blocksize in the dump man page.
610
611 3. Changed two info messages of restore to be written on stdout
612 instead of stderr in order to leave stderr only for errors
613 or warnings. Thanks to Stephen Atwell
614 <satwell@urbana.css.mot.com> for the suggestion.
615
616 4. Corrected an off by one calculation which prevented
617 dumping a directory having a 1 character name length.
618 Thanks to Bernhard Erdmann <bernhard.erdmann@gmx.de>
619 for reporting the bug.
620
621 5. Reinforce dump in order to allow only level 0 and no
622 -u option when dumping a subdirectory, and document
623 this in the man page. Thanks to Bernhard Erdmann
624 <bernhard.erdmann@gmx.de> for reporting the bug.
625
626 6. Fixed a small harmless bug in restore which caused
627 in some conditions hard links to be restored several
628 times (therefore generation some warning messages).
629 Thanks to Kenneth Porter <shiva@well.com> for
630 reporting the bug.
631
632 7. Updated the RPM spec file to the latest RedHat version,
633 providing FHS packaging and other cosmetic changes.
634 You will need RPM version >= 3.0.5 in order to build the RPM.
635
636 8. Updated the configure script to check for libtermcap
637 before checking for libreadline, because we need this
638 library in order to compile the readline support.
639
640 9. Made dump understand the LABEL= and UUID= notation
641 both in /etc/fstab and on the command line. Note that
642 you will need the /proc filesystem in order to use
643 these notations. Thanks to Erik Troan <ewt@redhat.com>
644 for providing the patch.
645
646 Changes between versions 0.4b17 and 0.4b18 (released June 30, 2000)
647 ===================================================================
648
649 1. Fixed a potential buffer overflow in restore. Thanks
650 to Stan Bubrouski <satan@fastdial.net> for reporting
651 the bug.
652
653 2. Fixed a readline-related bug which prevented
654 'cat DUMPFILE | restore -i -f -' from working. Thanks
655 to Charles Karney <karney@users.sourceforge.net>
656 for the bug report.
657
658 3. Changed a few "panic" into "exit", causing restore to
659 be more stable against some attacks (like the last one
660 reported on Bugtraq, although the last version of restore
661 was not vulnerable - just dumped core). Thanks to
662 Andreas Hasenack <andreas@conectiva.com.br> for reporting
663 the bugs to me.
664
665 4. Removed the suid-root bit on dump and restore in the
666 default build (and generated RPMs). It should be safer
667 now. Users who need the suid-root capabilities in order
668 to make network backups should read first the man page
669 of dump and enable the suid bit manually.
670
671 5. Added -ltermcap to the compile parameters for restore
672 when using readline support, in order to make the compile
673 process work on some systems (SuSE ?). Thanks to
674 Patrik Schindler <poc@pocnet.net> for reporting the bug.
675
676 Changes between versions 0.4b16 and 0.4b17 (released June 1st, 2000)
677 ====================================================================
678
679 1. The -F script is called now *only* at the end of a tape,
680 not at the end of the dump. Thanks to Christian Haul
681 <haul@informatik.tu-darmstadt.de> for the bug report.
682
683 Normally, the device name and the current volume number
684 are passed on the command line of the script. However,
685 if you want the old style script (with no arguments
686 passed on the command line), you can enable it in
687 configure with the --enable-oldstylefscript.
688
689 2. Use posix signal handling to preserve dump functionality
690 with libc5. Thanks to Jeff Johnson <jbj@redhat.com> for
691 the patch.
692
693 3. Made the exit code of restore in case of a 'C'ompare
694 command reflect the result of the compare. An exit status
695 of 0 means the dump archive is correct, 1 means tape errors,
696 2 means that some files were modified. Thanks to Kenneth Porter
697 <shiva@well.com> for the suggestion.
698
699 4. Made (finally) quotes work in interactive restore.
700
701 5. Small fixes in order to allow dump to compile with a
702 really old e2fsprogs version. Thanks to Ian Zimmerman
703 <itz@speakeasy.org> for the bug report.
704
705 6. Add GNU readline capabilities to interactive restore.
706 Use configure's --enable-readline flag to enable this feature.
707 Thanks to Patrik Schindler <poc@pocnet.net> for the
708 suggestion.
709
710 7. Do the compare on the fly in restore 'C' mode (this will
711 allow not to exhaust the available /tmp space when
712 ccmparing large files). Thanks to Kenneth Porter
713 <shiva@well.com> for the suggestion.
714
715 Changes between versions 0.4b15 and 0.4b16 (released March 11, 2000)
716 ====================================================================
717
718 1. Fixed some several duplicate 'DUMP: DUMP:' in the
719 output of dump.
720
721 2. Corrected the estimation of blocks to dump. Note that
722 this is still wrong for large directory inodes, due
723 to the size of a BSD directory entry on the tape
724 (estimation is based on the size of the ext2 directory,
725 which is smaller because it doesn't contain the null
726 character at the end).
727
728 3. Made dump report the total number of MB written to
729 tape at the end of run. Thanks to W. Reilly Cooley
730 <wcooley@nakedape.cc> for the patch.
731
732 4. Added the -X option to restore giving the possibility
733 to read the names of the files to be extracted/listed
734 from a text file (in addition of the command line).
735 Thanks to Dejan Muhamedagic <dejan@quant-x.com> for the
736 patch.
737
738 5. Added the device name and the current volume number
739 as arguments to the end of tape script (dump -F option).
740
741 6. Made the multi-volume dump work again (after having
742 broken it in 0.4b15).
743
744 Changes between versions 0.4b14 and 0.4b15 (released March 2, 2000)
745 ===================================================================
746
747 1. Added a prompt command in interactive restore mode. Thanks
748 to Andreas Dilger <adilger@home.com> for the patch.
749
750 2. Fixed a buffer overflow problem in dump (caused by
751 not checking the size of the filesystem parameter).
752 Thanks to Kim Yong-jun <loveyou@hackerslab.org> for
753 reporting this on Bugtraq (and to several dump users
754 who forwarded me his mail).
755
756 3. Added the '-F script' option to dump in order to
757 launch a script at the end of each tape (to be used
758 with a tape changer, or to notify the sysadmin by
759 pager etc.).
760
761 4. Fixed a bug in restore compare code caused by the changes
762 I made in 0.4b14.
763
764 5. Fixed the treatment of options using the old BSD syntax
765 in both dump and restore.
766
767 Changes between versions 0.4b13 and 0.4b14 (released February 10, 2000)
768 =======================================================================
769
770 1. Fixed a bug in dump which may have caused invalid deleted
771 directories to be dumped out if they were deleted after the
772 mapping pass. This could occure on active filesystem and lead
773 to heap corruption (causing dump malfunction in many possible ways).
774 Thanks to Jan Sanislo <oystr@cs.washington.edu> for finding this
775 bug and submitting the patch.
776
777 2. Fixed the handling of the filesystem parameter in dump. A
778 '/mnt/disk' parameter caused the disk contents to be dumped,
779 but a '/mnt/disk/' parameter caused the mountpoint directory
780 to be dumped (generally an empty directory).
781
782 3. Improved the output of dump in order to tell which directory
783 it is currently dumping (when dumping a subtree).
784
785 4. Added the '-e' exclude inode option to dump. Thanks to
786 Isaac Chuang <ike@isl.stanford.edu> for contributing with the patch.
787
788 5. Added a REPORTING-BUGS file in order to provide a guide
789 on how to correctly report a bug in dump/restore.
790
791 6. Fixed a restore problem when restoring a hard link to an inode
792 having the immutable or append-only attribute set. Thanks to
793 Ambrose Li <acli@mingpaoxpress.com> for submitting the patch.
794
795 7. Fixed a compatibility problem between dumps made on little
796 endian machines (the format was correct) and big endian
797 machines (the format was incorrect). This fix break the
798 compatibility with the older dumps made on big endian
799 machines (sparc, m86k, ppc etc). For the first time in
800 linux dump's history (I believe), the dumps made by *BSD,
801 Linux/alpha, Linux/sparc and Linux/x86 are compatible,
802 so interchangeable. Thanks to Rob Cermak
803 <cermak@ahab.rutgers.edu> for submitting the bug and
804 helping me test the fix.
805
806 8. Fixed the way dump reports the remaining percent/time, if
807 the number of blocks actually dumped exceeds the estimated
808 number of blocks. Thanks to Jean-Paul van der Jagt
809 <jeanpaul@dutepp0.et.tudelft.nl> for reporting the bug.
810
811 Changes between versions 0.4b12 and 0.4b13 (released January 21, 2000)
812 ======================================================================
813
814 1. Small Y2K fix in the man pages :). Thanks to Bernhard Sadlowski
815 <sadlowsk@Mathematik.Uni-Bielefeld.DE> for reporting the bug.
816
817 2. Removed the requirement to build the RPM as root from the
818 spec file. Thanks to Christian Weisgerber
819 <naddy@mips.rhein-neckar.de> for submitting this.
820
821 3. Fixed a bug in dump related to the 'filetype' feature of ext2fs,
822 causing dump to block when dumping really huge filesystems.
823 Many thanks to Patrik Schindler <poc@pocnet.net> for
824 helping me find this bug.
825
826 4. Fixed the treatment for an interrupt signal when dump access
827 the remote tape through RSH. Thanks to Christian Weisgerber
828 <naddy@mips.rhein-neckar.de> for providing the patch.
829
830 5. Fixed a bug which was causing dump/restore to display
831 garbage characters instead of the remote host name.
832
833 Changes between versions 0.4b11 and 0.4b12 (released January 8, 2000)
834 =====================================================================
835
836 1. Small fix in the dump man page. Thanks to Thorsten Kukuk
837 <kukuk@suse.de> for submitting the patch.
838
839 2. Fix for the exit code when using the size estimate option of
840 dump. Thanks to Matti Taskinen <mkt@rni.helsinki.fi> for
841 submitting the patch.
842
843 3. Handle EINTR in atomical reads/writes in dump, which was causing
844 dump to fail on some systems. Thanks to Eric Jergensen
845 <eric@dvns.com> for reporting the bug and submitting the patch.
846
847 4. Handle more than 16 characters for the device names in dumpdates.
848 (up to 255 now). Thanks to Rainer Clasen <bj@ncc.cicely.de> for
849 tracking down the problem and proposing the solution.
850
851 5. Fixed a bug in dump which prevented the creation of the
852 dumpdates file when doing a 0-level dump without already
853 having a dumpdates file. Thanks to Patrik Schindler
854 <poc@pocnet.net> for reporting the bug.
855
856 6. Changed the way dump 'S' flag reports the size estimate
857 from number of blocks into bytes (making it compatible
858 with the Solaris version, and simplifying things for
859 amanda users). Thanks to Jason L Tibbitts III
860 <tibbs@math.uh.edu> for reporting the bug.
861
862 7. Fixed a compatibility problem in linux/alpha dump tape format.
863 Now the linux/alpha dump are (again) compatible with the
864 other dump formats. But this breaks compatibility with
865 older dumps made on alpha. Thanks to Mike Tibor
866 <tibor@lib.uaa.alaska.edu> for helping me in finding this bug.
867
868 Changes between versions 0.4b10 and 0.4b11 (released December 5, 1999)
869 ======================================================================
870
871 1. Added a '--enable-kerberos' to configure.
872
873 2. Added a 'S' option to dump which determines the amount of space
874 that is needed to perform the dump without actually doing it, similar
875 to the Sun's ufsdump 'S' option. Patch contributed by Rob Cermak
876 <cermak@ahab.rutgers.edu>.
877
878 3. Added a 'M' multi-volume option to dump and restore which enables
879 dumping to multiple files (useful when dumping to an ext2
880 partition to make several dump files in order to bypass the 2GB
881 file size limitation). The 'f' argument is treated as a prefix and
882 the output files will be named <prefix>001, <prefix>002 etc. With
883 the 'M' flag, restore automatically selects the right file without
884 asking to enter a new tape each time.
885
886 4. Fixed a memory leak which was causing dump to grow very big
887 (270MB when dumping a 10GB filesystem...). Thanks to Jason
888 Fearon <jasonf@netrider.org.au> for reporting the bug.
889
890 Changes between versions 0.4b9 and 0.4b10 (released November 21, 1999)
891 ======================================================================
892
893 1. Make configure test if the system glob routines support
894 extended syntax (ALTDIRFUNC). If not, use the internal glob
895 routines instead of system ones. Thanks to Bernhard Sadlowski
896 <sadlowsk@Mathematik.Uni-Bielefeld.DE> for reporting the bug
897 and helping me resolve this and other minor libc5 compiling
898 glitches.
899
900 2. Fix a problem when dumping a ext2fs with the 'filetype'
901 feature enabled. Thanks to Patrick J. LoPresti
902 <patl@cag.lcs.mit.edu> for reporting the bug and to
903 Theodore Y. Ts'o <tytso@mit.edu> for providing the patch.
904
905 3. Made the nodump flag work on directories. A directory which
906 has the nodump flag gets never dumped, regardless of its
907 contents.
908
909 4. Integrate a patch from Jeremy Fitzhardinge <jeremy@goop.org>
910 which allows dump on an active ext3 filesystem. However, this
911 is a "quick and dirty" patch which enables backup of an ext3
912 filesystem through the ext2 compatibility (by ignoring the
913 NEEDS_RECOVERY bit). The journal file is not recognized and
914 it is dumped (it should not).
915
916 5. Test the superblock compatibility flags when dumping, in order
917 to be sure that we know how to deal with specific features.
918
919 Changes between versions 0.4b8 and 0.4b9 (released November 5, 1999)
920 ====================================================================
921
922 1. Use lchown instead of chown, fixing a possible security problem
923 when restoring symlinks (a malicious user could use this
924 to deliberately corrupt the ownership of important system files).
925 Thanks to Chris Siebenmann <cks@utcc.utoronto.ca> for detecting
926 this and providing the patch.
927
928 Changes between versions 0.4b7 and 0.4b8 (released November 3, 1999)
929 ====================================================================
930
931 1. Put dump sources under CVS, added Id tags in all files so
932 one can use 'ident' on binary files.
933
934 2. Added the dump/restore version in the usage text so one can
935 easily verify the version he is using.
936
937 3. Small patch from Nuno Oliveira <nuno@eq.uc.pt> which fixes
938 a va_start/va_end problem on linux-ppc (always call va_start
939 va_end in pairs each time we use a vararg function).
940
941 4. Added again the DT_* constants because old libc does not
942 contain them :(. Thanks to Eric Maisonobe <virnet@nat.fr>
943 for submitting the bug report.
944
945 5. Use ext2fs_llseek instead of llseek. With recent e2fsprogs
946 this should enable dumping big (huge) filesystems.
947
948 6. Added the RSH environment variable in order to be able to
949 use a rsh replacement like ssh when doing remote backups (and
950 bypass the security limitations of rcmd). Now you can do remote
951 backups without being root (or making dump setuid root).
952
953 7. Modified again the way dumpdates works. For incremental dumps,
954 we need to read dumpdates even if we are not using 'u' option.
955 Thanks to Bdale Garbee <bdale@gag.com> for his ideas on how
956 this should work.
957
958 Changes between versions 0.4b6 and 0.4b7 (released October 8, 1999)
959 ===================================================================
960
961 1. Removed the 'k' flag from the restore 'about' text if kerberos
962 was not compiled in.
963
964 2. Prototyped (f)setflags from e2fsprogs and corrected the calls
965 to them (fsetflags takes a char*, setflags an open fd!).
966
967 3. (f)setflags is called only if the flags aren't empty. If the
968 file is a special file, a warning is printed, because changing
969 flags implies opening the device. Normally, a special file
970 should not have any flag... (Debian bug #29775, patch provided
971 by Abhijit Dasgupta <abhijit@ans.net>).
972
973 4. Made possible to dump a file system not mentioned in /etc/fstab.
974 (Debian bug #11904, patch provided by Eirik Fuller <eirik@netcom.com>).
975
976 5. Changed the default behaviour to not create dumpdates
977 unless 'u' option is specified. Removed the old "debian-patch"
978 which provided the same thing. (Debian bug #38136, #33818).
979
980 6. Removed all those dump*announce, since they were getting old...
981
982 7. Added warning messages if dumpdates does not exist and
983 when an inferior level dump does not exist (except for a level 0
984 dump).
985
986 8. Debugged the glob calls in interactive mode: restore used a
987 dirent struct which was different from the /usr/include/dirent.h
988 one (this used to work, is it a glibc2 change?), so none of the
989 compat glob (which used /usr/include/dirent.h) or the system glob
990 worked. Restore use now the system dirent (and the system
991 DT_* constants), which are compatible with BSD ones.
992
993 9. Added a configure flag (--with-dumpdatespath) to specify
994 the location of dumpdates file. By default, it is
995 /etc/dumpdates.
996
997 10. Added the "AUTHOR" and "AVAILABILITY" sections and
998 included the current date/version in man pages.
999
1000 11. Corrected the estimation of remaining time when
1001 the operator doesn't change the tapes quickly enough. This
1002 was an old bug, I thought I corrected it, and discovered
1003 that in fact it was corrected in two different places, so
1004 the results canceled each other...
1005
1006 Changes between versions 0.4b5 and 0.4b6 (released October 1, 1999)
1007 ===================================================================
1008
1009 1. Integrated multiple patches from RedHat, Debian and SuSE:
1010
1011 - tweak dump/itime.c to not try to read dumpdates if the 'u' option
1012 isn't specified.
1013 - several fixes in the man pages.
1014 - update the default tape device to /dev/st0.
1015 - many updates for Linux Alpha (byte ordering, size_t etc).
1016 - buffer overruns.
1017 - use environment variable for TMPDIR (instead of /tmp).
1018 - use sigjmp_buf instead of jmp_buf (RedHat bug #3260).
1019 - workaround egcs bug (RedHat bugs #4281 and #2989).
1020 - wire $(OPT) throughout Makefile's.
1021
1022 2. Upgrade the dump revision to 1, making possible to dump filesystems
1023 made with e2fsprogs-1.15 or newer. Nothing seems to break...
1024
1025 3. Fix some compile warnings, prototype all functions.
1026
1027 4. Use glibc err/glob instead of internal compatibility
1028 routines (only if available).
1029
1030 5. Fix a compile error on Linux 2.2.7 / libc5 (5.4.44) (patch provided
1031 by Bernhard Sadlowski <sadlowsk@mathematik.uni-bielefeld.de>).
1032
1033 Changes between versions 0.4b4 and 0.4b5 (released September 22, 1999)
1034 ======================================================================
1035
1036 1. Integrated the changes from FreeBSD-3.1-RELEASE
1037 (mostly bug fixes, buffer overruns, dump has now an "automatic
1038 tape length calculation" flag, dump/restore can use kerberos now
1039 (this is NOT tested), use environment variables for TAPE and
1040 RMT etc.).
1041
1042 2. Integrated three RedHat patches ("glibc", "kernel" and "bread" patches)
1043
1044 3. Corrected a bug in restore when using 'C' option with multi-volumes
1045 tapes (files splited accros two tapes give "size changed" errors
1046 when comparing).
1047
1048 4. Corrected the long standing bug when dumping multiple tapes.
1049 This works for me, needs further testing.
1050
1051 Changes between versions 0.4b3 and 0.4b4 (released January 17, 1997)
1052 ====================================================================
1053
1054 1. Dump now runs correctly on kernels 2.1.x
1055 Fix made by Gerald Peters <gapeters@worldnet.att.net>
1056
1057 Changes between versions 0.4b2 and 0.4b3
1058 ========================================
1059
1060 1. Use realpath() if available
1061
1062 2. Report statistics
1063
1064 Changes between versions 0.4b1 and 0.4b2
1065 ========================================
1066
1067 1. Fixed the bug fix from Greg Lutz (I had made a mistake when integrating
1068 the patch)
1069
1070 2. Fixed restore to make it able to read FreeBSD 2.x dumps again
1071
1072 3. Fixed configure.in to correctly handle --enable-rmt
1073
1074 Changes between versions 0.3 and 0.4b1
1075 ======================================
1076
1077 1. Integrated the changes from 4.4BSD-Lite2
1078
1079 2. Integrated the patches from Debian and Red Hat
1080
1081 3. Portability changes: use the __u32, __u16, __s32, and __s16 types
1082
1083 4. Changed dump to use the Ext2fs library to get block addresses. This
1084 should solve the endianness problem on SparcLinux.
1085
1086 5. Created a configure.in file (shamelessly stolen from the e2fsprogs
1087 distribution's one) to use autoconf
1088
1089 6. Fixed a few minor bugs
1090
1091 Changes between versions 0.2e and 0.2f
1092 ======================================
1093
1094 1. Added the creation of named pipes (fifos) in restore.
1095
1096 2. Added the -N flag in the restore manual page.
1097
1098 3. Added the file kernel.patch which contains the llseek() optimization
1099 patch for 1.2.x kernels.
1100
1101 4. Fixed a bug in the restoration of symbolic links: owner and group were
1102 not restored.
1103
1104 5. Integrated some changes from FreeBSD 2.2.
1105
1106 6. Added a call to ftruncate() after restoring each file to restore
1107 correctly files ending by a hole.
1108
1109 Changes between versions 0.2d and 0.2e
1110 ======================================
1111
1112 1. Fixed a bug in the "set owner/mode" process. Every file was restored
1113 with owner = root (0) and group = root/wheel/whatever (0).
1114
1115 Changes between versions 0.2c and 0.2d
1116 ======================================
1117
1118 1. Dump is now able to backup 2GB+ filesystems.
1119
1120 2. Dump and restore can now be linked as static binaries.
1121
1122 Changes between versions 0.2b and 0.2c
1123 ======================================
1124
1125 1. Fixed a bug when dumping ``slow'' (i.e. normal) symbolic links.
1126
1127 Changes between versions 0.2a and 0.2b
1128 ======================================
1129
1130 1. Really fixed the bug that I should have corrected in 0.2a.
1131
1132 2. Enabled optimization again.
1133
1134 Changes between versions 0.2 and 0.2a
1135 =====================================
1136
1137 1. Disabled the optimization during compilation.
1138
1139 Changes between versions 0.1 and 0.2
1140 ====================================
1141
1142 1. Fixed a bug in fstab.c which caused a null pointer to be stored in
1143 the fs_type field (actually, I modified the file fstab.c to make it
1144 use the mntent functions).
1145
1146 2. Dump and restore now use a 4.3 BSD compatible dump format. Backups
1147 made by dump should be readable by the BSD restore and backups made
1148 by the BSD dump should be readable by restore. Unfortunately, this
1149 means that the dump format has changed between version 0.1 and version
1150 0.2 :-(
1151
1152 3. Dump is now able to backup a subtree, it is no longer limited to whole
1153 filesystems like the BSD version.
1154
1155 4. Dump now uses ext2_llseek() so it is able to backup filesystems bigger
1156 than 2 GB.
1157
1158 Changes between versions 0.0 and 0.1
1159 ====================================
1160
1161 1. Now create links rdump and rrestore during the `make install' step.
1162
1163 2. Linux port specific bugs added to the manual pages
1164
1165 3. Incorrect estimation of the number of tapes blocks fixed when doing
1166 incremental backups.
1167
1168 4. Better ls-like format in restore in interactive mode.