|
|
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 checked ! 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: .ti 0 ! 69: SEE ALSO check(VIII), dcheck(VIII) ! 70: .sp ! 71: .ti 0 ! 72: BUGS In ! 73: only one (known) way does salv____ destroy information: ! 74: if some random block appears to be an indirect block ! 75: for a file, ! 76: all "bad pointers" (for example, ASCII text) in it ! 77: will be zeroed. If ! 78: the block also appears in another file, it may be ! 79: scribbled on before it is copied. ! 80: .br ! 81: .in 16
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.