|
|
1.1 ! root 1: .TH DUMP 5 ! 2: .UC 4 ! 3: .SH NAME ! 4: dump, ddate \- incremental dump format ! 5: .SH SYNOPSIS ! 6: .B #include <sys/types.h> ! 7: .br ! 8: .B #include <sys/ino.h> ! 9: .br ! 10: .B #include <dumprestor.h> ! 11: .SH DESCRIPTION ! 12: Tapes used by ! 13: .I dump ! 14: and ! 15: .IR restor (1) ! 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: .I NTREC ! 71: is the number of 1024 byte records in a physical ! 72: tape block. ! 73: .I MLEN ! 74: is the number of bits in a bit map word. ! 75: .I MSIZ ! 76: is the number of bit map words. ! 77: .PP ! 78: The ! 79: .I TS_ ! 80: entries are used in the ! 81: .I c_type ! 82: field to indicate what sort of header ! 83: this is. ! 84: The types and their meanings are as follows: ! 85: .TP 13 ! 86: TS_TAPE ! 87: Tape volume label ! 88: .PD 0 ! 89: .TP ! 90: TS_INODE ! 91: A file or directory follows. ! 92: The ! 93: .I c_dinode ! 94: field is a copy of the disk inode and contains ! 95: bits telling what sort of file this is. ! 96: .TP ! 97: TS_BITS ! 98: A bit map follows. ! 99: This bit map has a one bit ! 100: for each inode that was dumped. ! 101: .TP ! 102: TS_ADDR ! 103: A subrecord of a file description. ! 104: See ! 105: .I c_addr ! 106: below. ! 107: .TP ! 108: TS_END ! 109: End of tape record. ! 110: .TP ! 111: TS_CLRI ! 112: A bit map follows. ! 113: This bit map contains a zero bit for ! 114: all inodes that were empty on the file system when dumped. ! 115: .TP ! 116: MAGIC ! 117: All header records have this number in ! 118: .I c_magic. ! 119: .TP ! 120: CHECKSUM ! 121: Header records checksum to this value. ! 122: .PD ! 123: .PP ! 124: The fields of the header structure are as follows: ! 125: .TP 13 ! 126: c_type ! 127: The type of the header. ! 128: .PD 0 ! 129: .TP ! 130: c_date ! 131: The date the dump was taken. ! 132: .TP ! 133: c_ddate ! 134: The date the file system was dumped from. ! 135: .TP ! 136: c_volume ! 137: The current volume number of the dump. ! 138: .TP ! 139: c_tapea ! 140: The current number of this (1024-byte) record. ! 141: .TP ! 142: c_inumber ! 143: The number of the inode being dumped if this ! 144: is of type ! 145: .I TS_INODE. ! 146: .TP ! 147: c_magic ! 148: This contains the value ! 149: .I MAGIC ! 150: above, truncated as needed. ! 151: .TP ! 152: c_checksum ! 153: This contains whatever value is needed to ! 154: make the record sum to ! 155: .I CHECKSUM. ! 156: .TP ! 157: c_dinode ! 158: This is a copy of the inode as it appears on the ! 159: file system; see ! 160: .IR filsys (5). ! 161: .TP ! 162: c_count ! 163: The count of characters in ! 164: .I c_addr. ! 165: .TP ! 166: c_addr ! 167: An array of characters describing the blocks of the ! 168: dumped file. ! 169: A character is zero if the block associated with that character was not ! 170: present on the file system, otherwise the character is non-zero. ! 171: If the block was not present on the file system, no block was dumped; ! 172: the block will be restored as a hole in the file. ! 173: If there is not sufficient space in this record to describe ! 174: all of the blocks in a file, ! 175: .I TS_ADDR ! 176: records will be scattered through the file, each one ! 177: picking up where the last left off. ! 178: .PD ! 179: .PP ! 180: Each volume except the last ends with a tapemark (read as an end ! 181: of file). ! 182: The last volume ends with a ! 183: .I TS_END ! 184: record and then the tapemark. ! 185: .PP ! 186: The structure ! 187: .I idates ! 188: describes an entry of the file ! 189: .I /etc/ddate ! 190: where dump history is kept. ! 191: The fields of the structure are: ! 192: .TP \w'TS_INODE\ 'u ! 193: id_name ! 194: The dumped filesystem is ! 195: .RI `/dev/ id_nam'. ! 196: .PD 0 ! 197: .TP ! 198: id_incno ! 199: The level number of the dump tape; ! 200: see ! 201: .IR dump (1). ! 202: .TP ! 203: id_ddate ! 204: The date of the incremental dump in system format ! 205: see ! 206: .IR types (5). ! 207: .PD ! 208: .SH FILES ! 209: /etc/ddate ! 210: .SH "SEE ALSO" ! 211: dump(8), dumpdir(8), restor(8), filsys(5), types(5)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.