man.bsd.lv manual page server

Manual Page Search Parameters
DUMP(5) File Formats Manual DUMP(5)

dump, ddate - incremental dump format

#include <sys/types.h>
#include <sys/ino.h>
# include <dumprestor.h>

Tapes used by dump and restor(1) 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   	20
#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;
};

NTREC is the number of 512 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:

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 bit for each inode that was dumped.
A subrecord of a file description. See c_addr below.
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 the dump was taken.
The date the file system was dumped from.
The current volume number of the dump.
The current number of this (512-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; see filsys(5).
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 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:

The dumped filesystem is `/dev/id_nam'.
The level number of the dump tape; see dump(1).
The date of the incremental dump in system format see types(5).

/etc/ddate

dump(1), dumpdir(1), restor(1), filsys(5), types(5)

UNIX-7