NAME
dump, ddate - incremental dump format
SYNOPSIS
#include <sys/types.h>
#include <sys/ino.h>
# include <dumprestor.h>
DESCRIPTION
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:
- 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 (512-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 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; see dump(1).
- id_ddate
- The date of the incremental dump in system format see types(5).
FILES
/etc/ddate
SEE ALSO
dump(1), dumpdir(1), restor(1), filsys(5), types(5)