|
|
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.