dumprestor, dumpdates - Incremental dump format
#include <sys/types.h> #include <ufs/inode.h>
Tapes used by dump and restore contain:
The format of the header record and of the first record of
each description as given in the include file
<dumprestor.h> is:
#define NTREC 10
#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 NFS_MAGIC (int) 60012
#define CHECKSUM (int) 84446
#define TP_BSIZE 1024
#define TP_NINDIR (TP_BSIZE/2)
#define LBLSIZE 16
#define NAMELEN 64
struct s_spcl {
long c_type;
time_t c_date;
time_t c_ddate;
long c_volume;
daddr_t c_tapea;
ino_t c_inumber;
long c_magic;
long c_checksum;
struct dinode c_dinode;
long c_count;
char c_addr[TP_NINDIR];
char c_label[LBLSIZE];
long c_level;
char c_filesys[NAMELEN];
char c_dev[NAMELEN];
char c_host[NAMELEN];
long c_flags;
} s_spcl;
struct idates
{
char id_name[NAME_MAX + 3];
char id_incno;
time_t id_ddate;
};
#define DUMPOUTFMT "%-16s %c %s" /* for printf */
/* name, incno,
ctime(date) */
#define DUMPINFMT "%16s %c %[^00 /* inverse for
scanf */
NTREC is the number of TP_BSIZE-byte records in a physical
tape block.
The TS_ entries are used in the c_type field to indicate
what sort of header this is. The types and their meanings
are as follows: Tape volume label. A file or directory
follows. The c_dinode field is a copy of the disk inode
and contains bits telling what sort of file this is. A
bit map follows. This bit map has a one (1) bit for each
inode that was dumped. A subrecord of a file description.
See c_addr described in the next list. End of tape
record. A bit map follows. This bit map contains a zero
bit for all inodes that were empty on the file system when
dumped. All header records have this number in c_magic.
Header records checksum to this value.
The fields of the header structure are as follows: The
type of the header. The date of the dump. The date of
the previous dump to the file system. The current volume
number of the dump. The current number of this
(1024-byte) record. The number of the inode being dumped
if this is of type TS_INODE. This contains the value
MAGIC above, truncated as needed. This contains whatever
value is needed to make the record sum to CHECKSUM. This
is a copy of the inode as it appears on the file system.
For further information, see fs(4). The count of characters
in 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 file system; otherwise the character is nonzero. If
the block was not present on the file system, 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. The label of the dump. The level number
of the dump. The name of the file system. The name
of the device. The name of the host. Additional information
such as whether the dump uses the format tape header
described here.
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.
The structure idates describes an entry in the file
/etc/dumpdates where dump history is kept. The fields of
the structure are: The dumped filesystem is
`/dev/?/id_nam' where ? indicates a device class subdirectory
such as /dev/disk. The level number of the dump
tape. For further information, see dump(8). The date of
the incremental dump in system format.
/etc/dumpdates
fs(4), dump(8), restore(8) delim off
dump(4)
[ Back ] |