cvs commit: src/sbin/dump dump.8 dump.h main.c tape.csrc/sbin/restore extern.h main.c restore.8 tape.c

Bruce Evans bde at zeta.org.au
Fri Apr 16 08:31:57 PDT 2004


On Fri, 16 Apr 2004, David O'Brien wrote:

> On Mon, Apr 12, 2004 at 07:58:07PM -0700, Brian Feldman wrote:
> > green       2004/04/12 19:58:07 PDT
> >
> >   FreeBSD src repository
> >
> >   Modified files:
> >     sbin/dump            dump.8 dump.h main.c tape.c
> >     sbin/restore         extern.h main.c restore.8 tape.c
> >   Log:
> >   Add -P arguments for dump(8) and restore(8) which allow the user to
> >   use backup methods other than files and tapes.  The -P argument is
> >   a normal sh(1) pipeline with either $DUMP_VOLUME or $RESTORE_VOLUME
> >   defined in the environment, respectively.
>
> Why do you need an option for this?  Can't you just use 'dump ... |' and
> '... | restore'?

A simple pipeline can't handle media-change stuff well.

Minix has a "vol" command which handles media changes for piped data.
The media size is fixed and specified on the command line (typical usage
was "tar ... | vol 360 /dev/fd0" for 360K floppies (remember them?)).
This could be generalized to take a -P option much like dump now does
(tar ... | vol -P ...).  I don't know if dump needs to know more about
media boundaries than can be handled in this way.  A robust backup
format would involve metadata at the start of each volume, and that is
another thing that can'r be handled by a simple pipeline with the
main generator of the data not knowing that it is writing to a fake
large volume that actually consists of multiple volumes concatenated
externally.

Bruce


More information about the cvs-src mailing list