|
|
1.1 root 1: .pa 1
2: .he 'SALV (VIII)'1/20/73'SALV (VIII)'
3: .ti 0
4: NAME salv -- file system salvage
5: .sp
6: .ti 0
7: SYNOPSIS /etc/salv_________ filesystem [ -akfs_____ ]
8: .sp
9: .ti 0
10: DESCRIPTION
11: .br
12: .in 8
13: salv____
14: will place a given file system
15: in a consistent state with
16: almost no loss of information.
17: This is the first step in putting things
18: together after a bad crash.
19: Salv performs the following functions:
20: .sp
21: .in +3
22: A valid free list is constructed.
23:
24: .in -3
25: The previous step is always performed; the following steps
26: are performed only if the "a" option is given.
27: If the file system's only defect is missing blocks,
28: "a" should not be specified.
29: .in +3
30: .sp
31: All bad pointers in the file system are zeroed.
32: .sp
33: All duplicate pointers to the same block
34: are resolved by changing one of the pointers
35: to point at a new block containing a copy of the data.
36: .sp
37: Inodes (not directory entries) for special files
38: are generated (mode 16).
39:
40: Files whose size is too large for the number of
41: blocks they contain (after bad pointers are zeroed)
42: have their size revised downward.
43:
44: .in -3
45: The file system should be unmounted while it is
46: being salvaged.
47: In cases of extreme need the permanently mounted
48: file system may be salvaged; in such a case
49: the system must be rebooted before it
50: has a chance to write out the old, bad super-block.
51:
52: The "k", "f", and "s" options
53: tell salv what magic numbers to use to generate
54: the size of the free list and the i-node map.
55: "k" is default (RK disk); "f" is RF; "s" is RK with
56: swap space on it.
57: If salv is to be used away
58: from the mother system its code should be cheked
59: to verify the numbers.
60: .sp
61: After a salv, files may be safely created
62: and removed without causing
63: more trouble.
64: If the "a" option had to be used,
65: a dcheck (VIII) should be done to find the degree
66: of the damage to the hierarchy.
67: .sp
68: .in 16
69: .ti 0
70: FILES /dev/rk0
71: .sp
72: .ti 0
73: SEE ALSO check(I), ds(I)
74: .sp
75: .ti 0
76: DIAGNOSTICS --
77: .sp
78: .ti 0
79: BUGS In
80: only one (known) way does salv____ destroy information:
81: if some random block appears to be an indirect block
82: for a file,
83: all "bad pointers" (for example, ASCII text) in it
84: will be zeroed. If
85: the block also appears in another file, it may be
86: scribbled on before it is copied.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.