dump(5)
NAME
dump, ddate − incremental dump format
SYNTAX
#include <sys/types.h>
#include <sys/ino.h>
#include <dumprestor.h>
DESCRIPTION
Tapes used by both the dump and restor commands contain:
•Header record
•Two groups of bit map records
•Group of records describing directories
•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:
#if UCB_NKB == 1
#ifdef REST_512 * if for 512restor keep the old value *
#define NTREC 20
#define OBSIZE 512
#else
#define NTREC 10
#endif REST_512
#endif UCB_NKB
#ifndef UCB_NKB
#define NTREC 20
#endif
#define MLEN 16
#ifdef RESTOR40
#define MSIZ 3072
#else
#define MSIZ 4096
#endif
#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;
#ifdef REST_512
char c_addr[OBSIZE];
#else
char c_addr[BSIZE];
#endif
} spcl;
struct idates
{
char id_name[16];
char id_incno;
time_t id_ddate;
};
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 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.
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. For further information, see filsys(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 structure idates describes an entry of the file /etc/ddate 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 dump(8).
id_ddate The date of the incremental dump in system format. For further information, see types(5).
FILES
/etc/ddate