|
|
1.1 ! root 1: .TH DUMP 5 "18 July 1983" ! 2: .UC 4 ! 3: .SH NAME ! 4: dump, dumpdates \- incremental dump format ! 5: .SH SYNOPSIS ! 6: .B #include <sys/types.h> ! 7: .br ! 8: .B #include <sys/inode.h> ! 9: .br ! 10: .B #include <dumprestor.h> ! 11: .SH DESCRIPTION ! 12: Tapes used by ! 13: .I dump ! 14: and ! 15: .IR restore (8) ! 16: contain: ! 17: .nf ! 18: .IP "" ! 19: a header record ! 20: two groups of bit map records ! 21: a group of records describing directories ! 22: a group of records describing files ! 23: .fi ! 24: .PP ! 25: The format of the header record and of the first ! 26: record of each description as given in the ! 27: include file ! 28: .I <dumprestor.h> ! 29: is: ! 30: .PP ! 31: .nf ! 32: #define NTREC 10 ! 33: #define MLEN 16 ! 34: #define MSIZ 4096 ! 35: ! 36: #define TS_TAPE 1 ! 37: #define TS_INODE 2 ! 38: #define TS_BITS 3 ! 39: #define TS_ADDR 4 ! 40: #define TS_END 5 ! 41: #define TS_CLRI 6 ! 42: #define MAGIC (int) 60011 ! 43: #define CHECKSUM (int) 84446 ! 44: ! 45: struct spcl { ! 46: int c_type; ! 47: time_t c_date; ! 48: time_t c_ddate; ! 49: int c_volume; ! 50: daddr_t c_tapea; ! 51: ino_t c_inumber; ! 52: int c_magic; ! 53: int c_checksum; ! 54: struct dinode c_dinode; ! 55: int c_count; ! 56: char c_addr[BSIZE]; ! 57: } spcl; ! 58: ! 59: struct idates { ! 60: char id_name[16]; ! 61: char id_incno; ! 62: time_t id_ddate; ! 63: }; ! 64: ! 65: #define DUMPOUTFMT "%-16s %c %s" /* for printf */ ! 66: /* name, incno, ctime(date) */ ! 67: #define DUMPINFMT "%16s %c %[^\en]\en" /* inverse for scanf */ ! 68: .fi ! 69: .PP ! 70: NTREC is the number of 1024 byte records in a physical ! 71: tape block. ! 72: MLEN is the number of bits in a bit map word. ! 73: MSIZ is the number of bit map words. ! 74: .PP ! 75: The ! 76: TS_ entries are used in the ! 77: .I c_type ! 78: field to indicate what sort of header ! 79: this is. ! 80: The types and their meanings are as follows: ! 81: .TP 13 ! 82: TS_TAPE ! 83: Tape volume label ! 84: .PD 0 ! 85: .TP ! 86: TS_INODE ! 87: A file or directory follows. ! 88: The ! 89: .I c_dinode ! 90: field is a copy of the disk inode and contains ! 91: bits telling what sort of file this is. ! 92: .TP ! 93: TS_BITS ! 94: A bit map follows. ! 95: This bit map has a one bit ! 96: for each inode that was dumped. ! 97: .TP ! 98: TS_ADDR ! 99: A subrecord of a file description. ! 100: See ! 101: .I c_addr ! 102: below. ! 103: .TP ! 104: TS_END ! 105: End of tape record. ! 106: .TP ! 107: TS_CLRI ! 108: A bit map follows. ! 109: This bit map contains a zero bit for ! 110: all inodes that were empty on the file system when dumped. ! 111: .TP ! 112: MAGIC ! 113: All header records have this number in ! 114: .I c_magic. ! 115: .TP ! 116: CHECKSUM ! 117: Header records checksum to this value. ! 118: .PD ! 119: .PP ! 120: The fields of the header structure are as follows: ! 121: .TP 13 ! 122: c_type ! 123: The type of the header. ! 124: .PD 0 ! 125: .TP ! 126: c_date ! 127: The date the dump was taken. ! 128: .TP ! 129: c_ddate ! 130: The date the file system was dumped from. ! 131: .TP ! 132: c_volume ! 133: The current volume number of the dump. ! 134: .TP ! 135: c_tapea ! 136: The current number of this (1024-byte) record. ! 137: .TP ! 138: c_inumber ! 139: The number of the inode being dumped if this ! 140: is of type TS_INODE. ! 141: .TP ! 142: c_magic ! 143: This contains the value MAGIC ! 144: above, truncated as needed. ! 145: .TP ! 146: c_checksum ! 147: This contains whatever value is needed to ! 148: make the record sum to CHECKSUM. ! 149: .TP ! 150: c_dinode ! 151: This is a copy of the inode as it appears on the ! 152: file system; see ! 153: .IR fs (5). ! 154: .TP ! 155: c_count ! 156: The count of characters in ! 157: .I c_addr. ! 158: .TP ! 159: c_addr ! 160: An array of characters describing the blocks of the ! 161: dumped file. ! 162: A character is zero if the block associated with that character was not ! 163: present on the file system, otherwise the character is non-zero. ! 164: If the block was not present on the file system, no block was dumped; ! 165: the block will be restored as a hole in the file. ! 166: If there is not sufficient space in this record to describe ! 167: all of the blocks in a file, TS_ADDR ! 168: records will be scattered through the file, each one ! 169: picking up where the last left off. ! 170: .PD ! 171: .PP ! 172: Each volume except the last ends with a tapemark (read as an end ! 173: of file). ! 174: The last volume ends with a TS_END ! 175: record and then the tapemark. ! 176: .PP ! 177: The structure ! 178: .I idates ! 179: describes an entry in the file ! 180: .I /etc/dumpdates ! 181: where dump history is kept. ! 182: The fields of the structure are: ! 183: .TP \w'TS_INODE\ 'u ! 184: id_name ! 185: The dumped filesystem is ! 186: .RI `/dev/ id_nam'. ! 187: .PD 0 ! 188: .TP ! 189: id_incno ! 190: The level number of the dump tape; ! 191: see ! 192: .IR dump (8). ! 193: .TP ! 194: id_ddate ! 195: The date of the incremental dump in system format ! 196: see ! 197: .IR types (5). ! 198: .PD ! 199: .SH FILES ! 200: /etc/dumpdates ! 201: .SH "SEE ALSO" ! 202: dump(8), ! 203: restore(8), ! 204: fs(5), ! 205: types(5)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.