DUMP(5) 1985 DUMP(5) NNAAMMEE dump, dumpdates - incremental dump format SSYYNNOOPPSSIISS ##iinncclluuddee <> ##iinncclluuddee <> ##iinncclluuddee <> DDEESSCCRRIIPPTTIIOONN Tapes used by _d_u_m_p and _r_e_s_t_o_r_e(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 <_p_r_o_t_o_c_o_l_s/_d_u_m_p_r_e_s_t_o_r_e._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; }; Printed 7/27/90 June 1 DUMP(5) 1985 DUMP(5) #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__t_y_p_e 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__d_i_n_o_d_e 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__a_d_d_r 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__m_a_g_i_c. 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 _f_s(5). c_count The count of characters in _c__a_d_d_r. 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 char- acter 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 Printed 7/27/90 June 2 DUMP(5) 1985 DUMP(5) 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 _i_d_a_t_e_s describes an entry in the file /_e_t_c/_d_u_m_p_d_a_t_e_s where dump history is kept. The fields of the structure are: id_name The dumped filesystem is `/dev/_i_d__n_a_m'. id_incno The level number of the dump tape; see _d_u_m_p(8). id_ddate The date of the incremental dump in system format see _t_y_p_e_s(5). FFIILLEESS /etc/dumpdates SSEEEE AALLSSOO dump(8), restore(8), fs(5), types(5) Printed 7/27/90 June 3