dump(5)dump(5)Name
dumprestor, dumpdates - incremental dump format
Syntax
#include <sys/types.h>
#include <sys/inode.h>
#include <dumprestor.h>
Description
Tapes used by and contain:
A header record
Two groups of bit map records
A group of records describing directories
A group of records describing files
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 MLEN 16
#define MSIZ 4096
#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 dinode c_dinode;
int c_count;
char c_addr[BSIZE];
} spcl;
struct idates {
char id_name[16];
char id_incno;
time_t id_ddate;
};
#define DUMPOUTFMT "%-16s %c %s" /* for printf */
/* name, incno, ctime(date) */
#define DUMPINFMT "%16s %c %[^\n]\n" /* inverse for scanf */
NTREC is the number of 1024-byte records in a physical tape block.
MLEN is the number of bits in a bit map word. MSIZ is the number of
bit map words.
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:
TS_TAPE Tape volume label.
TS_INODE 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.
TS_BITS A bit map follows. This bit map has a one (1) bit for
each inode that was dumped.
TS_ADDR A subrecord of a file description. See c_addr described
in the next list.
TS_END End of tape record.
TS_CLRI A bit map follows. This bit map contains a zero bit for
all inodes that were empty on the file system when dumped.
MAGIC All header records have this number in c_magic.
CHECKSUM Header records checksum to this value.
The fields of the header structure are as follows:
c_type The type of the header.
c_date The date the dump was taken.
c_ddate The date the file system was dumped from.
c_volume The current volume number of the dump.
c_tapea The current number of this (1024-byte) record.
c_inumber The number of the inode being dumped if this is of type
TS_INODE.
c_magic This contains the value MAGIC above, truncated as needed.
c_checksum This contains whatever value is needed to make the record
sum to CHECKSUM.
c_dinode This is a copy of the inode as it appears on the file sys‐
tem. For further information, see
c_count The count of characters in c_addr.
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; other‐
wise 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.
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 tape‐
mark.
The structure idates describes an entry in the file where dump history
is kept. The fields of the structure are:
id_name The dumped filesystem is `/dev/id_nam'.
id_incno The level number of the dump tape. For further information,
see
id_ddate The date of the incremental dump in system format. For fur‐
ther information, see
FilesSee Alsofs(5), types(5), dump(8), restore(8)dump(5)