From ae8f9aea1f0be13ba938ff745b7b3257b333c2bc Mon Sep 17 00:00:00 2001 From: Ken Thompson Date: Fri, 28 Sep 1973 10:55:13 -0500 Subject: [PATCH] Research V4 development Work on file man/manx/salv.8 Co-Authored-By: Dennis Ritchie Synthesized-from: v4 --- man/manx/salv.8 | 81 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 man/manx/salv.8 diff --git a/man/manx/salv.8 b/man/manx/salv.8 new file mode 100644 index 0000000000..3b7356bde2 --- /dev/null +++ b/man/manx/salv.8 @@ -0,0 +1,81 @@ +.pa 1 +.he 'SALV (VIII)'1/20/73'SALV (VIII)' +.ti 0 +NAME salv -- file system salvage +.sp +.ti 0 +SYNOPSIS /etc/salv_________ filesystem [ -akfs_____ ] +.sp +.ti 0 +DESCRIPTION +.br +.in 8 +salv____ +will place a given file system +in a consistent state with +almost no loss of information. +This is the first step in putting things +together after a bad crash. +Salv performs the following functions: +.sp +.in +3 +A valid free list is constructed. + +.in -3 +The previous step is always performed; the following steps +are performed only if the "a" option is given. +If the file system's only defect is missing blocks, +"a" should not be specified. +.in +3 +.sp +All bad pointers in the file system are zeroed. +.sp +All duplicate pointers to the same block +are resolved by changing one of the pointers +to point at a new block containing a copy of the data. +.sp +Inodes (not directory entries) for special files +are generated (mode 16). + +Files whose size is too large for the number of +blocks they contain (after bad pointers are zeroed) +have their size revised downward. + +.in -3 +The file system should be unmounted while it is +being salvaged. +In cases of extreme need the permanently mounted +file system may be salvaged; in such a case +the system must be rebooted before it +has a chance to write out the old, bad super-block. + +The "k", "f", and "s" options +tell salv what magic numbers to use to generate +the size of the free list and the i-node map. +"k" is default (RK disk); "f" is RF; "s" is RK with +swap space on it. +If salv is to be used away +from the mother system its code should be checked +to verify the numbers. +.sp +After a salv, files may be safely created +and removed without causing +more trouble. +If the "a" option had to be used, +a dcheck (VIII) should be done to find the degree +of the damage to the hierarchy. +.sp +.ti 0 +SEE ALSO check(VIII), dcheck(VIII) +.sp +.ti 0 +BUGS In +only one (known) way does salv____ destroy information: +if some random block appears to be an indirect block +for a file, +all "bad pointers" (for example, ASCII text) in it +will be zeroed. If +the block also appears in another file, it may be +scribbled on before it is copied. +.br +.in 16 -- 2.20.1