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