240 lines
4.9 KiB
Groff
240 lines
4.9 KiB
Groff
.\" Copyright (c) 1980 Regents of the University of California.
|
|
.\" All rights reserved. The Berkeley software License Agreement
|
|
.\" specifies the terms and conditions for redistribution.
|
|
.\"
|
|
.\" @(#)dump.5 6.2 (Berkeley) 6/18/85
|
|
.\"
|
|
.TH dump 5 "June 18, 1985"
|
|
.SH NAME
|
|
dump, dumpdates \- incremental dump format
|
|
.SH SYNOPSIS
|
|
.nf
|
|
\f3#include <sys/types.h>\f1
|
|
\f3#include <protocols/dumprestore.h>\f1
|
|
.fi
|
|
.SH DESCRIPTION
|
|
Tapes used by
|
|
.I dump
|
|
and
|
|
.IR restore (1M)
|
|
contain:
|
|
.IP ""
|
|
.nf
|
|
a header record
|
|
two groups of bit map records
|
|
a group of records describing directories
|
|
a group of records describing files
|
|
.fi
|
|
.PP
|
|
The format of the header record and of the first
|
|
record of each description as given in the
|
|
include file
|
|
.I <protocols/dumprestore.h>
|
|
is:
|
|
.Ex
|
|
#define TP_BSIZE 1024
|
|
#define NTREC 10
|
|
#define LBLSIZE 16
|
|
#define NAMELEN 64
|
|
|
|
#define TS_TAPE 1
|
|
#define TS_INODE 2
|
|
#define TS_BITS 3
|
|
#define TS_ADDR 4
|
|
#define TS_END 5
|
|
#define TS_CLRI 6
|
|
#define MAGIC (int) 60011
|
|
#define CHECKSUM (int) 84446
|
|
|
|
struct spcl {
|
|
int c_type;
|
|
time_t c_date;
|
|
time_t c_ddate;
|
|
int c_volume;
|
|
daddr_t c_tapea;
|
|
ino_t c_inumber;
|
|
int c_magic;
|
|
int c_checksum;
|
|
struct bsd_dinode c_dinode;
|
|
int c_count;
|
|
char c_addr[TP_BSIZE/2];
|
|
char c_label[LBLSIZE];
|
|
long c_level;
|
|
char c_filesys[NAMELEN];
|
|
char c_dev[NAMELEN];
|
|
long c_flags;
|
|
} spcl;
|
|
|
|
struct idates {
|
|
char id_name[255];
|
|
char id_incno;
|
|
time_t id_ddate;
|
|
};
|
|
|
|
#define DUMPOUTFMT "%-16s %c %s"
|
|
#define DUMPINFMT "%[^ ] %c %[^\en]\en"
|
|
.Ee
|
|
.PP
|
|
TP_BSIZE is the size of file blocks on the
|
|
dump tapes.
|
|
NTREC is the default number of 1024 byte records in a physical
|
|
tape block (blocking factor).
|
|
.PP
|
|
The
|
|
TS_ entries are used in the
|
|
.I c_type
|
|
field to indicate what sort of header
|
|
this is.
|
|
The types and their meanings are as follows:
|
|
.TP 13
|
|
TS_TAPE
|
|
Tape volume label
|
|
.PD 0
|
|
.TP
|
|
TS_INODE
|
|
A file or directory follows.
|
|
The
|
|
.I c_dinode
|
|
field is a copy of the disk inode and contains
|
|
bits indicating the type of the file.
|
|
.TP
|
|
TS_BITS
|
|
A bit map follows.
|
|
This bit map has a one bit
|
|
for each inode that was dumped.
|
|
.TP
|
|
TS_ADDR
|
|
A subrecord of a file description.
|
|
See
|
|
.I c_addr
|
|
below.
|
|
.TP
|
|
TS_END
|
|
End of tape record.
|
|
.TP
|
|
TS_CLRI
|
|
A bit map follows.
|
|
This bit map contains a zero bit for
|
|
all inodes that were empty on the filesystem when dumped.
|
|
.TP
|
|
MAGIC
|
|
All header records have this number in
|
|
.I c_magic.
|
|
.TP
|
|
CHECKSUM
|
|
Header records checksum to this value.
|
|
.PD
|
|
.PP
|
|
The fields of the header structure are as follows:
|
|
.TP 13
|
|
c_type
|
|
The type of the header.
|
|
.PD 0
|
|
.TP
|
|
c_date
|
|
The date the dump was taken.
|
|
.TP
|
|
c_ddate
|
|
The date the filesystem was dumped from.
|
|
.TP
|
|
c_volume
|
|
The current volume number of the dump.
|
|
.TP
|
|
c_tapea
|
|
The current number of this (1024-byte) record.
|
|
.TP
|
|
c_inumber
|
|
The number of the inode being dumped if this
|
|
is of type TS_INODE.
|
|
.TP
|
|
c_magic
|
|
This contains the value MAGIC
|
|
above, truncated as needed.
|
|
.TP
|
|
c_checksum
|
|
This contains whatever value is needed to
|
|
make the record sum to CHECKSUM.
|
|
.TP
|
|
c_dinode
|
|
This is a copy of the inode as it appears on the
|
|
filesystem.
|
|
Extent File System (see
|
|
.IR fs (4))
|
|
disk inodes differ from the Berkeley Fast File System inode format.
|
|
Dump converts EFS disk inodes to Berkeley's format, before dumping them on
|
|
tape.
|
|
.TP
|
|
c_count
|
|
The count of characters in
|
|
.I c_addr.
|
|
.TP
|
|
c_addr
|
|
An array of characters describing the blocks of the
|
|
dumped file.
|
|
A character is zero if the block associated with that character was not
|
|
present on the filesystem, otherwise the character is non-zero.
|
|
If the block was not present on the filesystem, no block was dumped;
|
|
the block will be restored as a hole in the file.
|
|
If there is not sufficient space in this record to describe
|
|
all of the blocks in a file, TS_ADDR
|
|
records will be scattered through the file, each one
|
|
picking up where the last left off.
|
|
.TP
|
|
c_label
|
|
Dump label.
|
|
.TP
|
|
c_level
|
|
Level of this dump.
|
|
See
|
|
.IR dump (1M).
|
|
.TP
|
|
c_filesys
|
|
Name of the dumpped filesystem.
|
|
.TP
|
|
c_dev
|
|
Name of the dump device.
|
|
.TP
|
|
c_host
|
|
Name of the dumpped host.
|
|
.TP
|
|
c_flags
|
|
Additional information.
|
|
.PD
|
|
.PP
|
|
Each volume except the last ends with a tapemark (read as an end
|
|
of file).
|
|
The last volume ends with a TS_END
|
|
record and then the tapemark.
|
|
.PP
|
|
The structure
|
|
.I idates
|
|
describes an entry in the file
|
|
.I /etc/dumpdates
|
|
where dump history is kept.
|
|
The fields of the structure are:
|
|
.TP \w'TS_INODE\ 'u
|
|
id_name
|
|
The dumped filesystem is
|
|
.RI `/dev/ id_nam'.
|
|
.PD 0
|
|
.TP
|
|
id_incno
|
|
The level number of the dump tape;
|
|
see
|
|
.IR dump (1M).
|
|
.TP
|
|
id_ddate
|
|
The date of the incremental dump in system format
|
|
see
|
|
.IR types (5).
|
|
.PD
|
|
.SH FILES
|
|
.nf
|
|
/etc/dumpdates
|
|
.fi
|
|
.SH "SEE ALSO"
|
|
dump(1M),
|
|
restore(1M),
|
|
fs(4),
|
|
types(5)
|