DUMP(5) — FILE FORMATS
NAME
dump, dumpdates − incremental dump format
SYNOPSIS
#include <sys/types.h>
#include <sys/inode.h>
#include <protocols/dumprestore.h>
DESCRIPTION
Tapes used by dump and restore(8) 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 <protocols/dumprestore.h> is:
#define TP_BSIZE1024
#define NTREC10
#define HIGHDENSITYTREC 32
#define CARTRIDGETREC63
#define TP_NINDIR(TP_BSIZE/2)
#define TS_TAPE1
#define TS_INODE2
#define TS_BITS3
#define TS_ADDR4
#define TS_END5
#define TS_CLRI6
#define OFS_MAGIC(int)60011
#define NFS_MAGIC(int)60012
#define CHECKSUM(int)84446
union u_spcl {
char dummy[TP_BSIZE];
structs_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[TP_NINDIR];
} s_spcl;
} u_spcl;
#define spcl u_spcl.s_spcl
#defineDUMPOUTFMT "%-16s %c %s" /∗ for printf ∗/
/∗ name, incno, ctime(date) ∗/
#defineDUMPINFMT "%16s %c %[^\n]\n" /∗ inverse for scanf ∗/
TP_BSIZE Size of file blocks on the dump tapes. Note: TP_BSIZE must be a multiple of DEV_BSIZE.
NTREC Default number of TP_BSIZE byte records in a physical tape block, changeable by the b option to dump.
HIGHDENSITYNTREC
Default number of TP_BSIZE byte records in a physical tape block on 6250 BPI or higher density tapes.
CARTRIDGETREC
Default number of TP_BSIZE records in a physical tape block on cartridge tapes.
TP_NINDIR Number of indirect pointers in a TS_INODE or TS_ADDR record. It must be a power of two.
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 bit for each inode that was dumped.
TS_ADDR A subrecord of a file description. See c_addr below.
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.
NFS_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 system; see fs(5).
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, otherwise the character is non-zero. 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 tapemark.
The dump history is kept in the file /etc/dumpdates. It is an ASCII file with three fields separated by white space:
The name of the device on which the dumped file system resides.
The level number of the dump tape; see dump(8).
The date of the incremental dump in the format generated by ctime(3V).
DUMPOUTFMT is the format to use when using printf(3S) to write an entry to /etc/dumpdates; DUMPINFMT is the format to use when using scanf(3S) to read an entry from /etc/dumpdates.
FILES
/etc/dumpdates
SEE ALSO
fs(5), types(5), dump(8), restore(8)
Solbourne Computer, Inc. — 19 October 1988