Commit | Line | Data |
---|---|---|
a38b2411 KM |
1 | .\" Copyright (c) 1982 Regents of the University of California. |
2 | .\" All rights reserved. The Berkeley software License Agreement | |
3 | .\" specifies the terms and conditions for redistribution. | |
4 | .\" | |
5e9a893c | 5 | .\" @(#)4.t 4.5 (Berkeley) %G% |
a38b2411 KM |
6 | .\" |
7 | .ds RH Appendix A \- Fsck Error Conditions | |
8 | .NH | |
9 | Appendix A \- Fsck Error Conditions | |
10 | .NH 2 | |
11 | Conventions | |
12 | .PP | |
13 | .I Fsck | |
14 | is | |
15 | a multi-pass file system check program. | |
16 | Each file system pass invokes a different Phase of the | |
17 | .I fsck | |
18 | program. | |
19 | After the initial setup, | |
20 | .I fsck | |
21 | performs successive Phases over each file system, | |
22 | checking blocks and sizes, | |
23 | path-names, | |
24 | connectivity, | |
25 | reference counts, | |
26 | and the map of free blocks, | |
27 | (possibly rebuilding it), | |
28 | and performs some cleanup. | |
29 | .LP | |
30 | Normally | |
31 | .I fsck | |
32 | is run non-interactively to | |
33 | .I preen | |
34 | the file systems after an unclean halt. | |
35 | While preen'ing a file system, | |
36 | it will only fix corruptions that are expected | |
37 | to occur from an unclean halt. | |
38 | These actions are a proper subset of the actions that | |
39 | .I fsck | |
40 | will take when it is running interactively. | |
41 | Throughout this appendix many errors have several options | |
42 | that the operator can take. | |
43 | When an inconsistency is detected, | |
44 | .I fsck | |
45 | reports the error condition to the operator. | |
46 | If a response is required, | |
47 | .I fsck | |
48 | prints a prompt message and | |
49 | waits for a response. | |
50 | When preen'ing most errors are fatal. | |
51 | For those that are expected, | |
52 | the response taken is noted. | |
53 | This appendix explains the meaning of each error condition, | |
54 | the possible responses, and the related error conditions. | |
55 | .LP | |
56 | The error conditions are organized by the | |
57 | .I Phase | |
58 | of the | |
59 | .I fsck | |
60 | program in which they can occur. | |
61 | The error conditions that may occur | |
62 | in more than one Phase | |
63 | will be discussed in initialization. | |
64 | .NH 2 | |
65 | Initialization | |
66 | .PP | |
67 | Before a file system check can be performed, certain | |
68 | tables have to be set up and certain files opened. | |
69 | This section concerns itself with the opening of files and | |
70 | the initialization of tables. | |
71 | This section lists error conditions resulting from | |
72 | command line options, | |
73 | memory requests, | |
74 | opening of files, | |
75 | status of files, | |
76 | file system size checks, | |
77 | and creation of the scratch file. | |
6a1194d8 | 78 | All the initialization errors are fatal |
a38b2411 KM |
79 | when the file system is being preen'ed. |
80 | .sp | |
81 | .LP | |
82 | .B "\fIC\fP option?" | |
83 | .br | |
84 | \fIC\fP is not a legal option to | |
85 | .I fsck ; | |
5e9a893c | 86 | legal options are \-b, \-c, \-y, \-n, and \-p. |
a38b2411 KM |
87 | .I Fsck |
88 | terminates on this error condition. | |
89 | See the | |
90 | .I fsck (8) | |
91 | manual entry for further detail. | |
92 | .sp | |
93 | .LP | |
94 | .B "cannot alloc NNN bytes for blockmap" | |
95 | .br | |
96 | .B "cannot alloc NNN bytes for freemap" | |
97 | .br | |
98 | .B "cannot alloc NNN bytes for statemap" | |
99 | .br | |
100 | .B "cannot alloc NNN bytes for lncntp" | |
101 | .br | |
102 | .I Fsck 's | |
103 | request for memory for its virtual | |
104 | memory tables failed. | |
105 | This should never happen. | |
106 | .I Fsck | |
107 | terminates on this error condition. | |
108 | See a guru. | |
109 | .sp | |
110 | .LP | |
111 | .B "Can't open checklist file: \fIF\fP" | |
112 | .br | |
113 | The file system checklist file | |
114 | \fIF\fP (usually | |
115 | .I /etc/fstab ) | |
116 | can not be opened for reading. | |
117 | .I Fsck | |
118 | terminates on this error condition. | |
119 | Check access modes of \fIF\fP. | |
120 | .sp | |
121 | .LP | |
122 | .B "Can't stat root" | |
123 | .br | |
124 | .I Fsck 's | |
125 | request for statistics about the root directory ``/'' failed. | |
126 | This should never happen. | |
127 | .I Fsck | |
128 | terminates on this error condition. | |
129 | See a guru. | |
130 | .sp | |
131 | .LP | |
132 | .B "Can't stat \fIF\fP" | |
133 | .br | |
134 | .B "Can't make sense out of name \fIF\fP" | |
135 | .br | |
136 | .I Fsck 's | |
137 | request for statistics about the file system \fIF\fP failed. | |
138 | When running manually, | |
139 | it ignores this file system | |
140 | and continues checking the next file system given. | |
141 | Check access modes of \fIF\fP. | |
142 | .sp | |
143 | .LP | |
144 | .B "Can't open \fIF\fP" | |
145 | .br | |
146 | .I Fsck 's | |
147 | request attempt to open the file system \fIF\fP failed. | |
148 | When running manually, it ignores this file system | |
149 | and continues checking the next file system given. | |
150 | Check access modes of \fIF\fP. | |
151 | .sp | |
152 | .LP | |
153 | .B "\fIF\fP: (NO WRITE)" | |
154 | .br | |
155 | Either the \-n flag was specified or | |
156 | .I fsck 's | |
157 | attempt to open the file system \fIF\fP for writing failed. | |
158 | When running manually, | |
159 | all the diagnostics are printed out, | |
160 | but no modifications are attempted to fix them. | |
161 | .sp | |
162 | .LP | |
163 | .B "file is not a block or character device; OK" | |
164 | .br | |
165 | You have given | |
166 | .I fsck | |
167 | a regular file name by mistake. | |
168 | Check the type of the file specified. | |
169 | .LP | |
170 | Possible responses to the OK prompt are: | |
171 | .IP YES | |
6a1194d8 | 172 | ignore this error condition. |
a38b2411 KM |
173 | .IP NO |
174 | ignore this file system and continues checking | |
175 | the next file system given. | |
176 | .sp | |
177 | .LP | |
d9f38d60 KM |
178 | .B "UNDEFINED OPTIMIZATION IN SUPERBLOCK (SET TO DEFAULT)" |
179 | .br | |
180 | The superblock optimization parameter is neither OPT_TIME | |
181 | nor OPT_SPACE. | |
182 | .LP | |
183 | Possible responses to the SET TO DEFAULT prompt are: | |
184 | .IP YES | |
185 | The superblock is set to request optimization to minimize | |
186 | running time of the system. | |
187 | (If optimization to minimize disk space utilization is | |
188 | desired, it can be set using \fItunefs\fP(8).) | |
189 | .IP NO | |
190 | ignore this error condition. | |
191 | .sp | |
192 | .LP | |
193 | .B "IMPOSSIBLE MINFREE=\fID\fP IN SUPERBLOCK (SET TO DEFAULT)" | |
194 | .br | |
195 | The superblock minimum space percentage is greater than 99% | |
196 | or less then 0%. | |
197 | .LP | |
198 | Possible responses to the SET TO DEFAULT prompt are: | |
199 | .IP YES | |
200 | The minfree parameter is set to 10%. | |
201 | (If some other percentage is desired, | |
202 | it can be set using \fItunefs\fP(8).) | |
203 | .IP NO | |
204 | ignore this error condition. | |
205 | .sp | |
206 | .LP | |
5e9a893c KM |
207 | .B "IMPOSSIBLE INTERLEAVE=\fID\fP IN SUPERBLOCK (SET TO DEFAULT)" |
208 | .br | |
209 | The file system interleave is less than or equal to zero. | |
210 | .LP | |
211 | Possible responses to the SET TO DEFAULT prompt are: | |
212 | .IP YES | |
213 | The interleave parameter is set to 1. | |
214 | .IP NO | |
215 | ignore this error condition. | |
216 | .sp | |
217 | .LP | |
218 | .B "IMPOSSIBLE NPSECT=\fID\fP IN SUPERBLOCK (SET TO DEFAULT)" | |
219 | .br | |
220 | The number of physical sectors per track is less than the number | |
221 | of usable sectors per track. | |
222 | .LP | |
223 | Possible responses to the SET TO DEFAULT prompt are: | |
224 | .IP YES | |
225 | The npsect parameter is set to the number of usable sectors per track. | |
226 | .IP NO | |
227 | ignore this error condition. | |
228 | .sp | |
229 | .LP | |
a38b2411 KM |
230 | One of the following messages will appear: |
231 | .br | |
232 | .B "MAGIC NUMBER WRONG" | |
233 | .br | |
234 | .B "NCG OUT OF RANGE" | |
235 | .br | |
236 | .B "CPG OUT OF RANGE" | |
237 | .br | |
238 | .B "NCYL DOES NOT JIVE WITH NCG*CPG" | |
239 | .br | |
240 | .B "SIZE PREPOSTEROUSLY LARGE" | |
241 | .br | |
242 | .B "TRASHED VALUES IN SUPER BLOCK" | |
6a1194d8 | 243 | .br |
a38b2411 KM |
244 | and will be followed by the message: |
245 | .br | |
246 | .B "\fIF\fP: BAD SUPER BLOCK: \fIB\fP" | |
247 | .br | |
248 | .B "USE -b OPTION TO FSCK TO SPECIFY LOCATION OF AN ALTERNATE" | |
249 | .br | |
250 | .B "SUPER-BLOCK TO SUPPLY NEEDED INFORMATION; SEE fsck(8)." | |
251 | .br | |
252 | The super block has been corrupted. | |
253 | An alternative super block must be selected from among those | |
254 | listed by | |
255 | .I newfs | |
256 | (8) when the file system was created. | |
257 | For file systems with a blocksize less than 32K, | |
258 | specifying \-b 32 is a good first choice. | |
259 | .sp | |
260 | .LP | |
261 | .B "INTERNAL INCONSISTENCY: \fIM\fP" | |
262 | .br | |
263 | .I Fsck 's | |
264 | has had an internal panic, whose message is specified as \fIM\fP. | |
265 | This should never happen. | |
266 | See a guru. | |
267 | .sp | |
268 | .LP | |
269 | .B "CAN NOT SEEK: BLK \fIB\fP (CONTINUE)" | |
270 | .br | |
271 | .I Fsck 's | |
272 | request for moving to a specified block number \fIB\fP in | |
273 | the file system failed. | |
274 | This should never happen. | |
275 | See a guru. | |
276 | .LP | |
277 | Possible responses to the CONTINUE prompt are: | |
278 | .IP YES | |
279 | attempt to continue to run the file system check. | |
280 | Often, | |
281 | however the problem will persist. | |
282 | This error condition will not allow a complete check of the file system. | |
283 | A second run of | |
284 | .I fsck | |
285 | should be made to re-check this file system. | |
286 | If the block was part of the virtual memory buffer | |
287 | cache, | |
288 | .I fsck | |
289 | will terminate with the message ``Fatal I/O error''. | |
290 | .IP NO | |
291 | terminate the program. | |
292 | .sp | |
293 | .LP | |
294 | .B "CAN NOT READ: BLK \fIB\fP (CONTINUE)" | |
295 | .br | |
296 | .I Fsck 's | |
297 | request for reading a specified block number \fIB\fP in | |
298 | the file system failed. | |
299 | This should never happen. | |
300 | See a guru. | |
301 | .LP | |
302 | Possible responses to the CONTINUE prompt are: | |
303 | .IP YES | |
304 | attempt to continue to run the file system check. | |
6a1194d8 KM |
305 | It will retry the read and print out the message: |
306 | .br | |
307 | .B "THE FOLLOWING SECTORS COULD NOT BE READ: \fIN\fP" | |
308 | .br | |
309 | where \fIN\fP indicates the sectors that could not be read. | |
310 | If | |
311 | .I fsck | |
312 | ever tries to write back one of the blocks on which the read failed | |
313 | it will print the message: | |
314 | .br | |
315 | .B "WRITING ZERO'ED BLOCK \fIN\fP TO DISK" | |
316 | .br | |
317 | where \fIN\fP indicates the sector that was written with zero's. | |
318 | If the disk is experiencing hardware problems, the problem will persist. | |
a38b2411 KM |
319 | This error condition will not allow a complete check of the file system. |
320 | A second run of | |
321 | .I fsck | |
322 | should be made to re-check this file system. | |
323 | If the block was part of the virtual memory buffer | |
324 | cache, | |
325 | .I fsck | |
326 | will terminate with the message ``Fatal I/O error''. | |
327 | .IP NO | |
328 | terminate the program. | |
329 | .sp | |
330 | .LP | |
331 | .B "CAN NOT WRITE: BLK \fIB\fP (CONTINUE)" | |
332 | .br | |
333 | .I Fsck 's | |
334 | request for writing a specified block number \fIB\fP | |
335 | in the file system failed. | |
145bc69d KM |
336 | The disk is write-protected; |
337 | check the write protect lock on the drive. | |
338 | If that is not the problem, see a guru. | |
a38b2411 KM |
339 | .LP |
340 | Possible responses to the CONTINUE prompt are: | |
341 | .IP YES | |
342 | attempt to continue to run the file system check. | |
6a1194d8 KM |
343 | The write operation will be retried with the failed blocks |
344 | indicated by the message: | |
345 | .br | |
346 | .B "THE FOLLOWING SECTORS COULD NOT BE WRITTEN: \fIN\fP" | |
347 | .br | |
348 | where \fIN\fP indicates the sectors that could not be written. | |
349 | If the disk is experiencing hardware problems, the problem will persist. | |
a38b2411 KM |
350 | This error condition will not allow a complete check of the file system. |
351 | A second run of | |
352 | .I fsck | |
353 | should be made to re-check this file system. | |
354 | If the block was part of the virtual memory buffer | |
355 | cache, | |
356 | .I fsck | |
357 | will terminate with the message ``Fatal I/O error''. | |
358 | .IP NO | |
359 | terminate the program. | |
6a1194d8 KM |
360 | .sp |
361 | .LP | |
362 | .B "bad inode number DDD to ginode" | |
363 | .br | |
364 | An internal error has attempted to read non-existent inode \fIDDD\fP. | |
365 | This error causes | |
366 | .I fsck | |
367 | to exit. | |
368 | See a guru. | |
a38b2411 KM |
369 | .NH 2 |
370 | Phase 1 \- Check Blocks and Sizes | |
371 | .PP | |
372 | This phase concerns itself with | |
373 | the inode list. | |
374 | This section lists error conditions resulting from | |
375 | checking inode types, | |
376 | setting up the zero-link-count table, | |
377 | examining inode block numbers for bad or duplicate blocks, | |
378 | checking inode size, | |
379 | and checking inode format. | |
380 | All errors in this phase except | |
381 | .B "INCORRECT BLOCK COUNT" | |
6a1194d8 KM |
382 | and |
383 | .B "PARTIALLY TRUNCATED INODE" | |
384 | are fatal if the file system is being preen'ed. | |
a38b2411 KM |
385 | .sp |
386 | .LP | |
387 | .B "UNKNOWN FILE TYPE I=\fII\fP (CLEAR)" | |
6a1194d8 | 388 | .br |
a38b2411 KM |
389 | The mode word of the inode \fII\fP indicates that the inode is not a |
390 | special block inode, special character inode, socket inode, regular inode, | |
391 | symbolic link, or directory inode. | |
392 | .LP | |
393 | Possible responses to the CLEAR prompt are: | |
394 | .IP YES | |
395 | de-allocate inode \fII\fP by zeroing its contents. | |
396 | This will always invoke the UNALLOCATED error condition in Phase 2 | |
397 | for each directory entry pointing to this inode. | |
398 | .IP NO | |
399 | ignore this error condition. | |
400 | .sp | |
401 | .LP | |
6a1194d8 KM |
402 | .B "PARTIALLY TRUNCATED INODE I=\fII\fP (SALVAGE)" |
403 | .br | |
404 | .I Fsck | |
405 | has found inode \fII\fP whose size is shorter than the number of | |
406 | blocks allocated to it. | |
407 | This condition should only occur if the system crashes while in the | |
408 | midst of truncating a file. | |
409 | When preen'ing the file system, | |
410 | .I fsck | |
411 | completes the truncation to the specified size. | |
412 | .LP | |
413 | Possible responses to SALVAGE are: | |
414 | .IP YES | |
415 | complete the truncation to the size specified in the inode. | |
416 | .IP NO | |
417 | ignore this error condition. | |
418 | .sp | |
419 | .LP | |
a38b2411 KM |
420 | .B "LINK COUNT TABLE OVERFLOW (CONTINUE)" |
421 | .br | |
422 | An internal table for | |
423 | .I fsck | |
424 | containing allocated inodes with a link count of | |
6a1194d8 KM |
425 | zero cannot allocate more memory. |
426 | Increase the virtual memory for | |
427 | .I fsck . | |
a38b2411 | 428 | .LP |
6a1194d8 | 429 | Possible responses to the CONTINUE prompt are: |
a38b2411 KM |
430 | .IP YES |
431 | continue with the program. | |
432 | This error condition will not allow a complete check of the file system. | |
433 | A second run of | |
434 | .I fsck | |
435 | should be made to re-check this file system. | |
436 | If another allocated inode with a zero link count is found, | |
437 | this error condition is repeated. | |
438 | .IP NO | |
439 | terminate the program. | |
440 | .sp | |
441 | .LP | |
442 | .B "\fIB\fP BAD I=\fII\fP" | |
443 | .br | |
444 | Inode \fII\fP contains block number \fIB\fP with a number | |
445 | lower than the number of the first data block in the file system or | |
446 | greater than the number of the last block | |
447 | in the file system. | |
448 | This error condition may invoke the | |
449 | .B "EXCESSIVE BAD BLKS" | |
145bc69d | 450 | error condition in Phase 1 (see next paragraph) if |
a38b2411 KM |
451 | inode \fII\fP has too many block numbers outside the file system range. |
452 | This error condition will always invoke the | |
453 | .B "BAD/DUP" | |
454 | error condition in Phase 2 and Phase 4. | |
455 | .sp | |
456 | .LP | |
457 | .B "EXCESSIVE BAD BLKS I=\fII\fP (CONTINUE)" | |
458 | .br | |
459 | There is more than a tolerable number (usually 10) of blocks with a number | |
460 | lower than the number of the first data block in the file system or greater than | |
461 | the number of last block in the file system associated with inode \fII\fP. | |
462 | .LP | |
463 | Possible responses to the CONTINUE prompt are: | |
464 | .IP YES | |
465 | ignore the rest of the blocks in this inode | |
466 | and continue checking with the next inode in the file system. | |
467 | This error condition will not allow a complete check of the file system. | |
468 | A second run of | |
469 | .I fsck | |
470 | should be made to re-check this file system. | |
471 | .IP NO | |
472 | terminate the program. | |
473 | .sp | |
474 | .LP | |
6a1194d8 KM |
475 | .B "BAD STATE DDD TO BLKERR" |
476 | .br | |
477 | An internal error has scrambled | |
478 | .I fsck 's | |
479 | state map to have the impossible value \fIDDD\fP. | |
480 | .I Fsck | |
481 | exits immediately. | |
482 | See a guru. | |
483 | .sp | |
484 | .LP | |
a38b2411 KM |
485 | .B "\fIB\fP DUP I=\fII\fP" |
486 | .br | |
6a1194d8 | 487 | Inode \fII\fP contains block number \fIB\fP that is already claimed by |
a38b2411 KM |
488 | another inode. |
489 | This error condition may invoke the | |
490 | .B "EXCESSIVE DUP BLKS" | |
491 | error condition in Phase 1 if | |
492 | inode \fII\fP has too many block numbers claimed by other inodes. | |
493 | This error condition will always invoke Phase 1b and the | |
494 | .B "BAD/DUP" | |
495 | error condition in Phase 2 and Phase 4. | |
496 | .sp | |
497 | .LP | |
498 | .B "EXCESSIVE DUP BLKS I=\fII\fP (CONTINUE)" | |
499 | .br | |
500 | There is more than a tolerable number (usually 10) of blocks claimed by other | |
501 | inodes. | |
502 | .LP | |
503 | Possible responses to the CONTINUE prompt are: | |
504 | .IP YES | |
505 | ignore the rest of the blocks in this inode | |
506 | and continue checking with the next inode in the file system. | |
507 | This error condition will not allow a complete check of the file system. | |
508 | A second run of | |
509 | .I fsck | |
510 | should be made to re-check this file system. | |
511 | .IP NO | |
512 | terminate the program. | |
513 | .sp | |
514 | .LP | |
515 | .B "DUP TABLE OVERFLOW (CONTINUE)" | |
516 | .br | |
517 | An internal table in | |
518 | .I fsck | |
6a1194d8 KM |
519 | containing duplicate block numbers cannot allocate any more space. |
520 | Increase the amount of virtual memory available to | |
521 | .I fsck . | |
a38b2411 KM |
522 | .LP |
523 | Possible responses to the CONTINUE prompt are: | |
524 | .IP YES | |
525 | continue with the program. | |
526 | This error condition will not allow a complete check of the file system. | |
527 | A second run of | |
528 | .I fsck | |
529 | should be made to re-check this file system. | |
530 | If another duplicate block is found, this error condition will repeat. | |
531 | .IP NO | |
532 | terminate the program. | |
533 | .sp | |
534 | .LP | |
535 | .B "PARTIALLY ALLOCATED INODE I=\fII\fP (CLEAR)" | |
536 | .br | |
537 | Inode \fII\fP is neither allocated nor unallocated. | |
538 | .LP | |
539 | Possible responses to the CLEAR prompt are: | |
540 | .IP YES | |
541 | de-allocate inode \fII\fP by zeroing its contents. | |
542 | .IP NO | |
543 | ignore this error condition. | |
544 | .sp | |
545 | .LP | |
546 | .B "INCORRECT BLOCK COUNT I=\fII\fP (\fIX\fP should be \fIY\fP) (CORRECT)" | |
547 | .br | |
548 | The block count for inode \fII\fP is \fIX\fP blocks, | |
549 | but should be \fIY\fP blocks. | |
550 | When preen'ing the count is corrected. | |
551 | .LP | |
552 | Possible responses to the CORRECT prompt are: | |
553 | .IP YES | |
554 | replace the block count of inode \fII\fP with \fIY\fP. | |
555 | .IP NO | |
556 | ignore this error condition. | |
557 | .NH 2 | |
558 | Phase 1B: Rescan for More Dups | |
559 | .PP | |
560 | When a duplicate block is found in the file system, the file system is | |
6a1194d8 | 561 | rescanned to find the inode that previously claimed that block. |
a38b2411 KM |
562 | This section lists the error condition when the duplicate block is found. |
563 | .sp | |
564 | .LP | |
565 | .B "\fIB\fP DUP I=\fII\fP" | |
566 | .br | |
567 | Inode \fII\fP contains block number \fIB\fP that | |
568 | is already claimed by another inode. | |
569 | This error condition will always invoke the | |
570 | .B "BAD/DUP" | |
571 | error condition in Phase 2. | |
572 | You can determine which inodes have overlapping blocks by examining | |
573 | this error condition and the DUP error condition in Phase 1. | |
574 | .NH 2 | |
575 | Phase 2 \- Check Pathnames | |
576 | .PP | |
577 | This phase concerns itself with removing directory entries | |
578 | pointing to | |
579 | error conditioned inodes | |
580 | from Phase 1 and Phase 1b. | |
581 | This section lists error conditions resulting from | |
582 | root inode mode and status, | |
583 | directory inode pointers in range, | |
145bc69d KM |
584 | and directory entries pointing to bad inodes, |
585 | and directory integrity checks. | |
586 | All errors in this phase are fatal if the file system is being preen'ed, | |
587 | except for directories not being a multiple of the blocks size | |
588 | and extraneous hard links. | |
a38b2411 KM |
589 | .sp |
590 | .LP | |
6a1194d8 | 591 | .B "ROOT INODE UNALLOCATED (ALLOCATE)" |
a38b2411 KM |
592 | .br |
593 | The root inode (usually inode number 2) has no allocate mode bits. | |
594 | This should never happen. | |
a38b2411 | 595 | .LP |
6a1194d8 KM |
596 | Possible responses to the ALLOCATE prompt are: |
597 | .IP YES | |
598 | allocate inode 2 as the root inode. | |
599 | The files and directories usually found in the root will be recovered | |
600 | in Phase 3 and put into | |
601 | .I lost+found . | |
602 | If the attempt to allocate the root fails, | |
603 | .I fsck | |
604 | will exit with the message: | |
a38b2411 | 605 | .br |
6a1194d8 KM |
606 | .B "CANNOT ALLOCATE ROOT INODE" . |
607 | .IP NO | |
608 | .I fsck | |
609 | will exit. | |
a38b2411 KM |
610 | .sp |
611 | .LP | |
6a1194d8 | 612 | .B "ROOT INODE NOT DIRECTORY (REALLOCATE)" |
a38b2411 KM |
613 | .br |
614 | The root inode (usually inode number 2) | |
615 | is not directory inode type. | |
616 | .LP | |
6a1194d8 KM |
617 | Possible responses to the REALLOCATE prompt are: |
618 | .IP YES | |
619 | clear the existing contents of the root inode | |
620 | and reallocate it. | |
621 | The files and directories usually found in the root will be recovered | |
622 | in Phase 3 and put into | |
623 | .I lost+found . | |
624 | If the attempt to allocate the root fails, | |
625 | .I fsck | |
626 | will exit with the message: | |
627 | .br | |
628 | .B "CANNOT ALLOCATE ROOT INODE" . | |
629 | .IP NO | |
630 | .I fsck | |
631 | will then prompt with | |
632 | .B "FIX" | |
633 | .LP | |
a38b2411 KM |
634 | Possible responses to the FIX prompt are: |
635 | .IP YES | |
636 | replace the root inode's type to be a directory. | |
637 | If the root inode's data blocks are not directory blocks, | |
6a1194d8 | 638 | many error conditions will be produced. |
a38b2411 KM |
639 | .IP NO |
640 | terminate the program. | |
641 | .sp | |
642 | .LP | |
6a1194d8 | 643 | .B "DUPS/BAD IN ROOT INODE (REALLOCATE)" |
a38b2411 KM |
644 | .br |
645 | Phase 1 or Phase 1b have found duplicate blocks | |
646 | or bad blocks in the root inode (usually inode number 2) for the file system. | |
647 | .LP | |
6a1194d8 KM |
648 | Possible responses to the REALLOCATE prompt are: |
649 | .IP YES | |
650 | clear the existing contents of the root inode | |
651 | and reallocate it. | |
652 | The files and directories usually found in the root will be recovered | |
653 | in Phase 3 and put into | |
654 | .I lost+found . | |
655 | If the attempt to allocate the root fails, | |
656 | .I fsck | |
657 | will exit with the message: | |
658 | .br | |
659 | .B "CANNOT ALLOCATE ROOT INODE" . | |
660 | .IP NO | |
661 | .I fsck | |
662 | will then prompt with | |
663 | .B "CONTINUE" . | |
664 | .LP | |
a38b2411 KM |
665 | Possible responses to the CONTINUE prompt are: |
666 | .IP YES | |
667 | ignore the | |
668 | .B "DUPS/BAD" | |
669 | error condition in the root inode and | |
670 | attempt to continue to run the file system check. | |
671 | If the root inode is not correct, | |
6a1194d8 | 672 | then this may result in many other error conditions. |
a38b2411 KM |
673 | .IP NO |
674 | terminate the program. | |
675 | .sp | |
676 | .LP | |
6a1194d8 KM |
677 | .B "NAME TOO LONG \fIF\fP" |
678 | .br | |
679 | An excessively long path name has been found. | |
680 | This usually indicates loops in the file system name space. | |
681 | This can occur if the super user has made circular links to directories. | |
682 | The offending links must be removed (by a guru). | |
683 | .sp | |
684 | .LP | |
a38b2411 KM |
685 | .B "I OUT OF RANGE I=\fII\fP NAME=\fIF\fP (REMOVE)" |
686 | .br | |
6a1194d8 | 687 | A directory entry \fIF\fP has an inode number \fII\fP that is greater than |
a38b2411 KM |
688 | the end of the inode list. |
689 | .LP | |
690 | Possible responses to the REMOVE prompt are: | |
691 | .IP YES | |
692 | the directory entry \fIF\fP is removed. | |
693 | .IP NO | |
694 | ignore this error condition. | |
695 | .sp | |
696 | .LP | |
145bc69d | 697 | .B "UNALLOCATED I=\fII\fP OWNER=\fIO\fP MODE=\fIM\fP SIZE=\fIS\fP MTIME=\fIT\fP \fItype\fP=\fIF\fP (REMOVE)" |
a38b2411 | 698 | .br |
145bc69d | 699 | A directory or file entry \fIF\fP points to an unallocated inode \fII\fP. |
a38b2411 | 700 | The owner \fIO\fP, mode \fIM\fP, size \fIS\fP, modify time \fIT\fP, |
145bc69d | 701 | and name \fIF\fP are printed. |
a38b2411 KM |
702 | .LP |
703 | Possible responses to the REMOVE prompt are: | |
704 | .IP YES | |
705 | the directory entry \fIF\fP is removed. | |
706 | .IP NO | |
707 | ignore this error condition. | |
708 | .sp | |
709 | .LP | |
145bc69d | 710 | .B "DUP/BAD I=\fII\fP OWNER=\fIO\fP MODE=\fIM\fP SIZE=\fIS\fP MTIME=\fIT\fP \fItype\fP=\fIF\fP (REMOVE)" |
a38b2411 KM |
711 | .br |
712 | Phase 1 or Phase 1b have found duplicate blocks or bad blocks | |
145bc69d KM |
713 | associated with directory or file entry \fIF\fP, inode \fII\fP. |
714 | The owner \fIO\fP, mode \fIM\fP, size \fIS\fP, modify time \fIT\fP, | |
715 | and directory name \fIF\fP are printed. | |
a38b2411 KM |
716 | .LP |
717 | Possible responses to the REMOVE prompt are: | |
718 | .IP YES | |
719 | the directory entry \fIF\fP is removed. | |
720 | .IP NO | |
721 | ignore this error condition. | |
722 | .sp | |
723 | .LP | |
724 | .B "ZERO LENGTH DIRECTORY I=\fII\fP OWNER=\fIO\fP MODE=\fIM\fP SIZE=\fIS\fP MTIME=\fIT\fP DIR=\fIF\fP (REMOVE)" | |
725 | .br | |
726 | A directory entry \fIF\fP has a size \fIS\fP that is zero. | |
727 | The owner \fIO\fP, mode \fIM\fP, size \fIS\fP, modify time \fIT\fP, | |
728 | and directory name \fIF\fP are printed. | |
729 | .LP | |
730 | Possible responses to the REMOVE prompt are: | |
731 | .IP YES | |
732 | the directory entry \fIF\fP is removed; | |
733 | this will always invoke the BAD/DUP error condition in Phase 4. | |
734 | .IP NO | |
735 | ignore this error condition. | |
736 | .sp | |
737 | .LP | |
738 | .B "DIRECTORY TOO SHORT I=\fII\fP OWNER=\fIO\fP MODE=\fIM\fP SIZE=\fIS\fP MTIME=\fIT\fP DIR=\fIF\fP (FIX)" | |
739 | .br | |
740 | A directory \fIF\fP has been found whose size \fIS\fP | |
741 | is less than the minimum size directory. | |
742 | The owner \fIO\fP, mode \fIM\fP, size \fIS\fP, modify time \fIT\fP, | |
743 | and directory name \fIF\fP are printed. | |
744 | .LP | |
745 | Possible responses to the FIX prompt are: | |
746 | .IP YES | |
747 | increase the size of the directory to the minimum directory size. | |
748 | .IP NO | |
749 | ignore this directory. | |
750 | .sp | |
751 | .LP | |
6a1194d8 KM |
752 | .B "DIRECTORY \fIF\fP LENGTH \fIS\fP NOT MULTIPLE OF \fIB\fP (ADJUST) |
753 | .br | |
754 | A directory \fIF\fP has been found with size \fIS\fP that is not | |
755 | a multiple of the directory blocksize \fIB\fP. | |
756 | .LP | |
757 | Possible responses to the ADJUST prompt are: | |
758 | .IP YES | |
759 | the length is rounded up to the appropriate block size. | |
760 | This error can occur on 4.2BSD file systems. | |
761 | Thus when preen'ing the file system only a warning is printed | |
762 | and the directory is adjusted. | |
763 | .IP NO | |
764 | ignore the error condition. | |
765 | .sp | |
766 | .LP | |
a38b2411 KM |
767 | .B "DIRECTORY CORRUPTED I=\fII\fP OWNER=\fIO\fP MODE=\fIM\fP SIZE=\fIS\fP MTIME=\fIT\fP DIR=\fIF\fP (SALVAGE)" |
768 | .br | |
769 | A directory with an inconsistent internal state has been found. | |
770 | .LP | |
771 | Possible responses to the FIX prompt are: | |
772 | .IP YES | |
6a1194d8 KM |
773 | throw away all entries up to the next directory boundary (usually 512-byte) |
774 | boundary. | |
775 | This drastic action can throw away up to 42 entries, | |
a38b2411 KM |
776 | and should be taken only after other recovery efforts have failed. |
777 | .IP NO | |
6a1194d8 | 778 | skip up to the next directory boundary and resume reading, |
a38b2411 KM |
779 | but do not modify the directory. |
780 | .sp | |
781 | .LP | |
782 | .B "BAD INODE NUMBER FOR `.' I=\fII\fP OWNER=\fIO\fP MODE=\fIM\fP SIZE=\fIS\fP MTIME=\fIT\fP DIR=\fIF\fP (FIX)" | |
783 | .br | |
784 | A directory \fII\fP has been found whose inode number for `.' does | |
785 | does not equal \fII\fP. | |
786 | .LP | |
787 | Possible responses to the FIX prompt are: | |
788 | .IP YES | |
789 | change the inode number for `.' to be equal to \fII\fP. | |
790 | .IP NO | |
791 | leave the inode number for `.' unchanged. | |
792 | .sp | |
793 | .LP | |
794 | .B "MISSING `.' I=\fII\fP OWNER=\fIO\fP MODE=\fIM\fP SIZE=\fIS\fP MTIME=\fIT\fP DIR=\fIF\fP (FIX)" | |
795 | .br | |
796 | A directory \fII\fP has been found whose first entry is unallocated. | |
797 | .LP | |
798 | Possible responses to the FIX prompt are: | |
799 | .IP YES | |
6a1194d8 | 800 | build an entry for `.' with inode number equal to \fII\fP. |
a38b2411 KM |
801 | .IP NO |
802 | leave the directory unchanged. | |
803 | .sp | |
804 | .LP | |
805 | .B "MISSING `.' I=\fII\fP OWNER=\fIO\fP MODE=\fIM\fP SIZE=\fIS\fP MTIME=\fIT\fP DIR=\fIF\fP" | |
806 | .br | |
807 | .B "CANNOT FIX, FIRST ENTRY IN DIRECTORY CONTAINS \fIF\fP" | |
808 | .br | |
809 | A directory \fII\fP has been found whose first entry is \fIF\fP. | |
810 | .I Fsck | |
811 | cannot resolve this problem. | |
812 | The file system should be mounted and the offending entry \fIF\fP | |
813 | moved elsewhere. | |
814 | The file system should then be unmounted and | |
815 | .I fsck | |
816 | should be run again. | |
817 | .sp | |
818 | .LP | |
819 | .B "MISSING `.' I=\fII\fP OWNER=\fIO\fP MODE=\fIM\fP SIZE=\fIS\fP MTIME=\fIT\fP DIR=\fIF\fP" | |
820 | .br | |
821 | .B "CANNOT FIX, INSUFFICIENT SPACE TO ADD `.'" | |
822 | .br | |
823 | A directory \fII\fP has been found whose first entry is not `.'. | |
824 | .I Fsck | |
825 | cannot resolve this problem as it should never happen. | |
826 | See a guru. | |
827 | .sp | |
828 | .LP | |
829 | .B "EXTRA `.' ENTRY I=\fII\fP OWNER=\fIO\fP MODE=\fIM\fP SIZE=\fIS\fP MTIME=\fIT\fP DIR=\fIF\fP (FIX)" | |
830 | .br | |
831 | A directory \fII\fP has been found that has more than one entry for `.'. | |
832 | .LP | |
833 | Possible responses to the FIX prompt are: | |
834 | .IP YES | |
835 | remove the extra entry for `.'. | |
836 | .IP NO | |
837 | leave the directory unchanged. | |
838 | .sp | |
839 | .LP | |
840 | .B "BAD INODE NUMBER FOR `..' I=\fII\fP OWNER=\fIO\fP MODE=\fIM\fP SIZE=\fIS\fP MTIME=\fIT\fP DIR=\fIF\fP (FIX)" | |
841 | .br | |
842 | A directory \fII\fP has been found whose inode number for `..' does | |
843 | does not equal the parent of \fII\fP. | |
844 | .LP | |
845 | Possible responses to the FIX prompt are: | |
846 | .IP YES | |
145bc69d KM |
847 | change the inode number for `..' to be equal to the parent of \fII\fP |
848 | (``\fB..\fP'' in the root inode points to itself). | |
a38b2411 KM |
849 | .IP NO |
850 | leave the inode number for `..' unchanged. | |
851 | .sp | |
852 | .LP | |
853 | .B "MISSING `..' I=\fII\fP OWNER=\fIO\fP MODE=\fIM\fP SIZE=\fIS\fP MTIME=\fIT\fP DIR=\fIF\fP (FIX)" | |
854 | .br | |
855 | A directory \fII\fP has been found whose second entry is unallocated. | |
856 | .LP | |
857 | Possible responses to the FIX prompt are: | |
858 | .IP YES | |
145bc69d KM |
859 | build an entry for `..' with inode number equal to the parent of \fII\fP |
860 | (``\fB..\fP'' in the root inode points to itself). | |
a38b2411 KM |
861 | .IP NO |
862 | leave the directory unchanged. | |
863 | .sp | |
864 | .LP | |
865 | .B "MISSING `..' I=\fII\fP OWNER=\fIO\fP MODE=\fIM\fP SIZE=\fIS\fP MTIME=\fIT\fP DIR=\fIF\fP" | |
866 | .br | |
867 | .B "CANNOT FIX, SECOND ENTRY IN DIRECTORY CONTAINS \fIF\fP" | |
868 | .br | |
869 | A directory \fII\fP has been found whose second entry is \fIF\fP. | |
870 | .I Fsck | |
871 | cannot resolve this problem. | |
872 | The file system should be mounted and the offending entry \fIF\fP | |
873 | moved elsewhere. | |
874 | The file system should then be unmounted and | |
875 | .I fsck | |
876 | should be run again. | |
877 | .sp | |
878 | .LP | |
879 | .B "MISSING `..' I=\fII\fP OWNER=\fIO\fP MODE=\fIM\fP SIZE=\fIS\fP MTIME=\fIT\fP DIR=\fIF\fP" | |
880 | .br | |
881 | .B "CANNOT FIX, INSUFFICIENT SPACE TO ADD `..'" | |
882 | .br | |
883 | A directory \fII\fP has been found whose second entry is not `..'. | |
884 | .I Fsck | |
6a1194d8 KM |
885 | cannot resolve this problem. |
886 | The file system should be mounted and the second entry in the directory | |
887 | moved elsewhere. | |
888 | The file system should then be unmounted and | |
889 | .I fsck | |
890 | should be run again. | |
a38b2411 KM |
891 | .sp |
892 | .LP | |
893 | .B "EXTRA `..' ENTRY I=\fII\fP OWNER=\fIO\fP MODE=\fIM\fP SIZE=\fIS\fP MTIME=\fIT\fP DIR=\fIF\fP (FIX)" | |
894 | .br | |
895 | A directory \fII\fP has been found that has more than one entry for `..'. | |
896 | .LP | |
897 | Possible responses to the FIX prompt are: | |
898 | .IP YES | |
899 | remove the extra entry for `..'. | |
900 | .IP NO | |
901 | leave the directory unchanged. | |
6a1194d8 KM |
902 | .sp |
903 | .LP | |
904 | .B "\fIN\fP IS AN EXTRANEOUS HARD LINK TO A DIRECTORY \fID\fP (REMOVE) | |
905 | .br | |
906 | .I Fsck | |
907 | has found a hard link, \fIN\fP, to a directory, \fID\fP. | |
908 | When preen'ing the extraneous links are ignored. | |
909 | .LP | |
910 | Possible responses to the REMOVE prompt are: | |
911 | .IP YES | |
912 | delete the extraneous entry, \fIN\fP. | |
913 | .IP NO | |
914 | ignore the error condition. | |
915 | .sp | |
916 | .LP | |
917 | .B "BAD INODE \fIS\fP TO DESCEND" | |
918 | .br | |
919 | An internal error has caused an impossible state \fIS\fP to be passed to the | |
920 | routine that descends the file system directory structure. | |
921 | .I Fsck | |
922 | exits. | |
923 | See a guru. | |
924 | .sp | |
925 | .LP | |
926 | .B "BAD RETURN STATE \fIS\fP FROM DESCEND" | |
927 | .br | |
928 | An internal error has caused an impossible state \fIS\fP to be returned | |
929 | from the routine that descends the file system directory structure. | |
930 | .I Fsck | |
931 | exits. | |
932 | See a guru. | |
933 | .sp | |
934 | .LP | |
935 | .B "BAD STATE \fIS\fP FOR ROOT INODE" | |
936 | .br | |
937 | An internal error has caused an impossible state \fIS\fP to be assigned | |
938 | to the root inode. | |
939 | .I Fsck | |
940 | exits. | |
941 | See a guru. | |
a38b2411 KM |
942 | .NH 2 |
943 | Phase 3 \- Check Connectivity | |
944 | .PP | |
945 | This phase concerns itself with the directory connectivity seen in | |
946 | Phase 2. | |
947 | This section lists error conditions resulting from | |
948 | unreferenced directories, | |
949 | and missing or full | |
950 | .I lost+found | |
951 | directories. | |
952 | .sp | |
953 | .LP | |
954 | .B "UNREF DIR I=\fII\fP OWNER=\fIO\fP MODE=\fIM\fP SIZE=\fIS\fP MTIME=\fIT\fP (RECONNECT)" | |
955 | .br | |
956 | The directory inode \fII\fP was not connected to a directory entry | |
957 | when the file system was traversed. | |
6a1194d8 KM |
958 | The owner \fIO\fP, mode \fIM\fP, size \fIS\fP, and |
959 | modify time \fIT\fP of directory inode \fII\fP are printed. | |
a38b2411 KM |
960 | When preen'ing, the directory is reconnected if its size is non-zero, |
961 | otherwise it is cleared. | |
962 | .LP | |
963 | Possible responses to the RECONNECT prompt are: | |
964 | .IP YES | |
965 | reconnect directory inode \fII\fP to the file system in the | |
966 | directory for lost files (usually \fIlost+found\fP). | |
967 | This may invoke the | |
968 | .I lost+found | |
969 | error condition in Phase 3 | |
970 | if there are problems connecting directory inode \fII\fP to \fIlost+found\fP. | |
971 | This may also invoke the CONNECTED error condition in Phase 3 if the link | |
972 | was successful. | |
973 | .IP NO | |
974 | ignore this error condition. | |
975 | This will always invoke the UNREF error condition in Phase 4. | |
976 | .sp | |
977 | .LP | |
6a1194d8 | 978 | .B "NO lost+found DIRECTORY (CREATE)" |
a38b2411 KM |
979 | .br |
980 | There is no | |
981 | .I lost+found | |
982 | directory in the root directory of the file system; | |
6a1194d8 | 983 | When preen'ing |
a38b2411 | 984 | .I fsck |
6a1194d8 KM |
985 | tries to create a \fIlost+found\fP directory. |
986 | .LP | |
987 | Possible responses to the CREATE prompt are: | |
988 | .IP YES | |
989 | create a \fIlost+found\fP directory in the root of the file system. | |
990 | This may raise the message: | |
991 | .br | |
992 | .B "NO SPACE LEFT IN / (EXPAND)" | |
993 | .br | |
994 | See below for the possible responses. | |
995 | Inability to create a \fIlost+found\fP directory generates the message: | |
996 | .br | |
997 | .B "SORRY. CANNOT CREATE lost+found DIRECTORY" | |
998 | .br | |
999 | and aborts the attempt to linkup the lost inode. | |
1000 | This will always invoke the UNREF error condition in Phase 4. | |
1001 | .IP NO | |
1002 | abort the attempt to linkup the lost inode. | |
a38b2411 | 1003 | This will always invoke the UNREF error condition in Phase 4. |
a38b2411 KM |
1004 | .sp |
1005 | .LP | |
6a1194d8 KM |
1006 | .B "lost+found IS NOT A DIRECTORY (REALLOCATE)" |
1007 | .br | |
1008 | The entry for | |
1009 | .I lost+found | |
1010 | is not a directory. | |
1011 | .LP | |
1012 | Possible responses to the REALLOCATE prompt are: | |
1013 | .IP YES | |
1014 | allocate a directory inode, and change \fIlost+found\fP to reference it. | |
1015 | The previous inode reference by the \fIlost+found\fP name is not cleared. | |
1016 | Thus it will either be reclaimed as an UNREF'ed inode or have its | |
1017 | link count ADJUST'ed later in this Phase. | |
1018 | Inability to create a \fIlost+found\fP directory generates the message: | |
1019 | .br | |
1020 | .B "SORRY. CANNOT CREATE lost+found DIRECTORY" | |
1021 | .br | |
1022 | and aborts the attempt to linkup the lost inode. | |
1023 | This will always invoke the UNREF error condition in Phase 4. | |
1024 | .IP NO | |
1025 | abort the attempt to linkup the lost inode. | |
1026 | This will always invoke the UNREF error condition in Phase 4. | |
1027 | .sp | |
1028 | .LP | |
1029 | .B "NO SPACE LEFT IN /lost+found (EXPAND)" | |
a38b2411 KM |
1030 | .br |
1031 | There is no space to add another entry to the | |
1032 | .I lost+found | |
1033 | directory in the root directory | |
6a1194d8 KM |
1034 | of the file system. |
1035 | When preen'ing the | |
1036 | .I lost+found | |
1037 | directory is expanded. | |
1038 | .LP | |
1039 | Possible responses to the EXPAND prompt are: | |
1040 | .IP YES | |
1041 | the | |
1042 | .I lost+found | |
1043 | directory is expanded to make room for the new entry. | |
1044 | If the attempted expansion fails | |
a38b2411 | 1045 | .I fsck |
6a1194d8 KM |
1046 | prints the message: |
1047 | .br | |
1048 | .B "SORRY. NO SPACE IN lost+found DIRECTORY" | |
1049 | .br | |
1050 | and aborts the attempt to linkup the lost inode. | |
a38b2411 KM |
1051 | This will always invoke the UNREF error condition in Phase 4. |
1052 | Clean out unnecessary entries in | |
6a1194d8 | 1053 | .I lost+found . |
a38b2411 | 1054 | This error is fatal if the file system is being preen'ed. |
6a1194d8 KM |
1055 | .IP NO |
1056 | abort the attempt to linkup the lost inode. | |
1057 | This will always invoke the UNREF error condition in Phase 4. | |
a38b2411 KM |
1058 | .sp |
1059 | .LP | |
1060 | .B "DIR I=\fII1\fP CONNECTED. PARENT WAS I=\fII2\fP" | |
1061 | .br | |
1062 | This is an advisory message indicating a directory inode \fII1\fP was | |
1063 | successfully connected to the | |
1064 | .I lost+found | |
1065 | directory. | |
1066 | The parent inode \fII2\fP of the directory inode \fII1\fP is | |
1067 | replaced by the inode number of the | |
1068 | .I lost+found | |
1069 | directory. | |
6a1194d8 KM |
1070 | .sp |
1071 | .LP | |
1072 | .B "DIRECTORY \fIF\fP LENGTH \fIS\fP NOT MULTIPLE OF \fIB\fP (ADJUST) | |
1073 | .br | |
1074 | A directory \fIF\fP has been found with size \fIS\fP that is not | |
145bc69d KM |
1075 | a multiple of the directory blocksize \fIB\fP |
1076 | (this can reoccur in Phase 3 if it is not adjusted in Phase 2). | |
6a1194d8 KM |
1077 | .LP |
1078 | Possible responses to the ADJUST prompt are: | |
1079 | .IP YES | |
1080 | the length is rounded up to the appropriate block size. | |
1081 | This error can occur on 4.2BSD file systems. | |
1082 | Thus when preen'ing the file system only a warning is printed | |
1083 | and the directory is adjusted. | |
1084 | .IP NO | |
1085 | ignore the error condition. | |
1086 | .sp | |
1087 | .LP | |
1088 | .B "BAD INODE \fIS\fP TO DESCEND" | |
1089 | .br | |
1090 | An internal error has caused an impossible state \fIS\fP to be passed to the | |
1091 | routine that descends the file system directory structure. | |
1092 | .I Fsck | |
1093 | exits. | |
1094 | See a guru. | |
a38b2411 KM |
1095 | .NH 2 |
1096 | Phase 4 \- Check Reference Counts | |
1097 | .PP | |
1098 | This phase concerns itself with the link count information | |
1099 | seen in Phase 2 and Phase 3. | |
1100 | This section lists error conditions resulting from | |
1101 | unreferenced files, | |
1102 | missing or full | |
1103 | .I lost+found | |
1104 | directory, | |
1105 | incorrect link counts for files, directories, symbolic links, or special files, | |
1106 | unreferenced files, symbolic links, and directories, | |
6a1194d8 | 1107 | and bad or duplicate blocks in files, symbolic links, and directories. |
a38b2411 | 1108 | All errors in this phase are correctable if the file system is being preen'ed |
6a1194d8 | 1109 | except running out of space in the \fIlost+found\fP directory. |
a38b2411 KM |
1110 | .sp |
1111 | .LP | |
1112 | .B "UNREF FILE I=\fII\fP OWNER=\fIO\fP MODE=\fIM\fP SIZE=\fIS\fP MTIME=\fIT\fP (RECONNECT)" | |
1113 | .br | |
1114 | Inode \fII\fP was not connected to a directory entry | |
1115 | when the file system was traversed. | |
1116 | The owner \fIO\fP, mode \fIM\fP, size \fIS\fP, and | |
1117 | modify time \fIT\fP of inode \fII\fP are printed. | |
1118 | When preen'ing the file is cleared if either its size or its | |
1119 | link count is zero, | |
1120 | otherwise it is reconnected. | |
1121 | .LP | |
1122 | Possible responses to the RECONNECT prompt are: | |
1123 | .IP YES | |
1124 | reconnect inode \fII\fP to the file system in the directory for | |
1125 | lost files (usually \fIlost+found\fP). | |
1126 | This may invoke the | |
1127 | .I lost+found | |
1128 | error condition in Phase 4 | |
1129 | if there are problems connecting inode \fII\fP to | |
6a1194d8 | 1130 | .I lost+found . |
a38b2411 KM |
1131 | .IP NO |
1132 | ignore this error condition. | |
1133 | This will always invoke the CLEAR error condition in Phase 4. | |
1134 | .sp | |
1135 | .LP | |
1136 | .B "(CLEAR)" | |
1137 | .br | |
1138 | The inode mentioned in the immediately previous error condition can not be | |
1139 | reconnected. | |
1140 | This cannot occur if the file system is being preen'ed, | |
1141 | since lack of space to reconnect files is a fatal error. | |
1142 | .LP | |
1143 | Possible responses to the CLEAR prompt are: | |
1144 | .IP YES | |
1145 | de-allocate the inode mentioned in the immediately previous error condition by zeroing its contents. | |
1146 | .IP NO | |
1147 | ignore this error condition. | |
1148 | .sp | |
1149 | .LP | |
6a1194d8 | 1150 | .B "NO lost+found DIRECTORY (CREATE)" |
a38b2411 KM |
1151 | .br |
1152 | There is no | |
1153 | .I lost+found | |
1154 | directory in the root directory of the file system; | |
6a1194d8 | 1155 | When preen'ing |
a38b2411 | 1156 | .I fsck |
6a1194d8 KM |
1157 | tries to create a \fIlost+found\fP directory. |
1158 | .LP | |
1159 | Possible responses to the CREATE prompt are: | |
1160 | .IP YES | |
1161 | create a \fIlost+found\fP directory in the root of the file system. | |
1162 | This may raise the message: | |
1163 | .br | |
1164 | .B "NO SPACE LEFT IN / (EXPAND)" | |
1165 | .br | |
1166 | See below for the possible responses. | |
1167 | Inability to create a \fIlost+found\fP directory generates the message: | |
1168 | .br | |
1169 | .B "SORRY. CANNOT CREATE lost+found DIRECTORY" | |
1170 | .br | |
1171 | and aborts the attempt to linkup the lost inode. | |
1172 | This will always invoke the UNREF error condition in Phase 4. | |
1173 | .IP NO | |
1174 | abort the attempt to linkup the lost inode. | |
1175 | This will always invoke the UNREF error condition in Phase 4. | |
a38b2411 KM |
1176 | .sp |
1177 | .LP | |
6a1194d8 KM |
1178 | .B "lost+found IS NOT A DIRECTORY (REALLOCATE)" |
1179 | .br | |
1180 | The entry for | |
1181 | .I lost+found | |
1182 | is not a directory. | |
1183 | .LP | |
1184 | Possible responses to the REALLOCATE prompt are: | |
1185 | .IP YES | |
1186 | allocate a directory inode, and change \fIlost+found\fP to reference it. | |
1187 | The previous inode reference by the \fIlost+found\fP name is not cleared. | |
1188 | Thus it will either be reclaimed as an UNREF'ed inode or have its | |
1189 | link count ADJUST'ed later in this Phase. | |
1190 | Inability to create a \fIlost+found\fP directory generates the message: | |
1191 | .br | |
1192 | .B "SORRY. CANNOT CREATE lost+found DIRECTORY" | |
1193 | .br | |
1194 | and aborts the attempt to linkup the lost inode. | |
1195 | This will always invoke the UNREF error condition in Phase 4. | |
1196 | .IP NO | |
1197 | abort the attempt to linkup the lost inode. | |
1198 | This will always invoke the UNREF error condition in Phase 4. | |
1199 | .sp | |
1200 | .LP | |
1201 | .B "NO SPACE LEFT IN /lost+found (EXPAND)" | |
a38b2411 KM |
1202 | .br |
1203 | There is no space to add another entry to the | |
1204 | .I lost+found | |
6a1194d8 KM |
1205 | directory in the root directory |
1206 | of the file system. | |
1207 | When preen'ing the | |
1208 | .I lost+found | |
1209 | directory is expanded. | |
1210 | .LP | |
1211 | Possible responses to the EXPAND prompt are: | |
1212 | .IP YES | |
1213 | the | |
1214 | .I lost+found | |
1215 | directory is expanded to make room for the new entry. | |
1216 | If the attempted expansion fails | |
a38b2411 | 1217 | .I fsck |
6a1194d8 KM |
1218 | prints the message: |
1219 | .br | |
1220 | .B "SORRY. NO SPACE IN lost+found DIRECTORY" | |
1221 | .br | |
1222 | and aborts the attempt to linkup the lost inode. | |
1223 | This will always invoke the UNREF error condition in Phase 4. | |
1224 | Clean out unnecessary entries in | |
1225 | .I lost+found . | |
a38b2411 | 1226 | This error is fatal if the file system is being preen'ed. |
6a1194d8 KM |
1227 | .IP NO |
1228 | abort the attempt to linkup the lost inode. | |
1229 | This will always invoke the UNREF error condition in Phase 4. | |
a38b2411 KM |
1230 | .sp |
1231 | .LP | |
145bc69d | 1232 | .B "LINK COUNT \fItype\fP I=\fII\fP OWNER=\fIO\fP MODE=\fIM\fP SIZE=\fIS\fP MTIME=\fIT\fP COUNT=\fIX\fP SHOULD BE \fIY\fP (ADJUST)" |
a38b2411 | 1233 | .br |
145bc69d | 1234 | The link count for inode \fII\fP, |
a38b2411 KM |
1235 | is \fIX\fP but should be \fIY\fP. |
1236 | The owner \fIO\fP, mode \fIM\fP, size \fIS\fP, and modify time \fIT\fP | |
1237 | are printed. | |
6a1194d8 KM |
1238 | When preen'ing the link count is adjusted unless the number of references |
1239 | is increasing, a condition that should never occur unless precipitated | |
1240 | by a hardware failure. | |
1241 | When the number of references is increasing under preen mode, | |
1242 | .I fsck | |
1243 | exits with the message: | |
1244 | .br | |
1245 | .B "LINK COUNT INCREASING" | |
a38b2411 KM |
1246 | .LP |
1247 | Possible responses to the ADJUST prompt are: | |
1248 | .IP YES | |
1249 | replace the link count of file inode \fII\fP with \fIY\fP. | |
1250 | .IP NO | |
1251 | ignore this error condition. | |
1252 | .sp | |
1253 | .LP | |
145bc69d | 1254 | .B "UNREF \fItype\fP I=\fII\fP OWNER=\fIO\fP MODE=\fIM\fP SIZE=\fIS\fP MTIME=\fIT\fP (CLEAR)" |
a38b2411 | 1255 | .br |
145bc69d | 1256 | Inode \fII\fP, was not connected to a directory entry when the |
a38b2411 KM |
1257 | file system was traversed. |
1258 | The owner \fIO\fP, mode \fIM\fP, size \fIS\fP, | |
1259 | and modify time \fIT\fP of inode \fII\fP | |
1260 | are printed. | |
1261 | When preen'ing, | |
1262 | this is a file that was not connected because its size or link count was zero, | |
1263 | hence it is cleared. | |
1264 | .LP | |
1265 | Possible responses to the CLEAR prompt are: | |
1266 | .IP YES | |
1267 | de-allocate inode \fII\fP by zeroing its contents. | |
1268 | .IP NO | |
1269 | ignore this error condition. | |
1270 | .sp | |
1271 | .LP | |
145bc69d | 1272 | .B "BAD/DUP \fItype\fP I=\fII\fP OWNER=\fIO\fP MODE=\fIM\fP SIZE=\fIS\fP MTIME=\fIT\fP (CLEAR)" |
a38b2411 KM |
1273 | .br |
1274 | Phase 1 or Phase 1b have found duplicate blocks | |
1275 | or bad blocks associated with | |
145bc69d | 1276 | inode \fII\fP. |
a38b2411 KM |
1277 | The owner \fIO\fP, mode \fIM\fP, size \fIS\fP, |
1278 | and modify time \fIT\fP of inode \fII\fP | |
1279 | are printed. | |
1280 | This error cannot arise when the file system is being preen'ed, | |
1281 | as it would have caused a fatal error earlier. | |
1282 | .LP | |
1283 | Possible responses to the CLEAR prompt are: | |
1284 | .IP YES | |
1285 | de-allocate inode \fII\fP by zeroing its contents. | |
1286 | .IP NO | |
1287 | ignore this error condition. | |
a38b2411 KM |
1288 | .NH 2 |
1289 | Phase 5 - Check Cyl groups | |
1290 | .PP | |
6a1194d8 | 1291 | This phase concerns itself with the free-block and used-inode maps. |
a38b2411 KM |
1292 | This section lists error conditions resulting from |
1293 | allocated blocks in the free-block maps, | |
1294 | free blocks missing from free-block maps, | |
1295 | and the total free-block count incorrect. | |
6a1194d8 KM |
1296 | It also lists error conditions resulting from |
1297 | free inodes in the used-inode maps, | |
1298 | allocated inodes missing from used-inode maps, | |
1299 | and the total used-inode count incorrect. | |
a38b2411 KM |
1300 | .sp |
1301 | .LP | |
1302 | .B "CG \fIC\fP: BAD MAGIC NUMBER" | |
1303 | .br | |
1304 | The magic number of cylinder group \fIC\fP is wrong. | |
1305 | This usually indicates that the cylinder group maps have been destroyed. | |
1306 | When running manually the cylinder group is marked as needing | |
1307 | to be reconstructed. | |
1308 | This error is fatal if the file system is being preen'ed. | |
1309 | .sp | |
1310 | .LP | |
6a1194d8 | 1311 | .B "BLK(S) MISSING IN BIT MAPS (SALVAGE)" |
a38b2411 | 1312 | .br |
6a1194d8 KM |
1313 | A cylinder group block map is missing some free blocks. |
1314 | During preen'ing the maps are reconstructed. | |
a38b2411 | 1315 | .LP |
6a1194d8 | 1316 | Possible responses to the SALVAGE prompt are: |
a38b2411 | 1317 | .IP YES |
6a1194d8 | 1318 | reconstruct the free block map. |
a38b2411 | 1319 | .IP NO |
6a1194d8 | 1320 | ignore this error condition. |
a38b2411 KM |
1321 | .sp |
1322 | .LP | |
6a1194d8 | 1323 | .B "SUMMARY INFORMATION BAD (SALVAGE)" |
a38b2411 | 1324 | .br |
6a1194d8 | 1325 | The summary information was found to be incorrect. |
a38b2411 KM |
1326 | When preen'ing, |
1327 | the summary information is recomputed. | |
a38b2411 KM |
1328 | .LP |
1329 | Possible responses to the SALVAGE prompt are: | |
1330 | .IP YES | |
6a1194d8 | 1331 | reconstruct the summary information. |
a38b2411 KM |
1332 | .IP NO |
1333 | ignore this error condition. | |
1334 | .sp | |
1335 | .LP | |
6a1194d8 | 1336 | .B "FREE BLK COUNT(S) WRONG IN SUPERBLOCK (SALVAGE)" |
a38b2411 | 1337 | .br |
6a1194d8 | 1338 | The superblock free block information was found to be incorrect. |
a38b2411 | 1339 | When preen'ing, |
6a1194d8 | 1340 | the superblock free block information is recomputed. |
a38b2411 | 1341 | .LP |
6a1194d8 | 1342 | Possible responses to the SALVAGE prompt are: |
a38b2411 | 1343 | .IP YES |
6a1194d8 | 1344 | reconstruct the superblock free block information. |
a38b2411 KM |
1345 | .IP NO |
1346 | ignore this error condition. | |
1347 | .NH 2 | |
a38b2411 KM |
1348 | Cleanup |
1349 | .PP | |
1350 | Once a file system has been checked, a few cleanup functions are performed. | |
1351 | This section lists advisory messages about | |
1352 | the file system | |
1353 | and modify status of the file system. | |
1354 | .sp | |
1355 | .LP | |
1356 | .B "\fIV\fP files, \fIW\fP used, \fIX\fP free (\fIY\fP frags, \fIZ\fP blocks)" | |
1357 | .br | |
1358 | This is an advisory message indicating that | |
1359 | the file system checked contained | |
1360 | \fIV\fP files using | |
1361 | \fIW\fP fragment sized blocks leaving | |
1362 | \fIX\fP fragment sized blocks free in the file system. | |
1363 | The numbers in parenthesis breaks the free count down into | |
1364 | \fIY\fP free fragments and | |
1365 | \fIZ\fP free full sized blocks. | |
1366 | .sp | |
1367 | .LP | |
1368 | .B "***** REBOOT UNIX *****" | |
1369 | .br | |
1370 | This is an advisory message indicating that | |
1371 | the root file system has been modified by | |
1372 | .I fsck. | |
1373 | If UNIX is not rebooted immediately, | |
1374 | the work done by | |
1375 | .I fsck | |
1376 | may be undone by the in-core copies of tables | |
1377 | UNIX keeps. | |
1378 | When preen'ing, | |
1379 | .I fsck | |
1380 | will exit with a code of 4. | |
145bc69d KM |
1381 | The standard auto-reboot script distributed with 4.3BSD |
1382 | interprets an exit code of 4 by issuing a reboot system call. | |
a38b2411 KM |
1383 | .sp |
1384 | .LP | |
1385 | .B "***** FILE SYSTEM WAS MODIFIED *****" | |
1386 | .br | |
1387 | This is an advisory message indicating that | |
1388 | the current file system was modified by | |
1389 | .I fsck. | |
1390 | If this file system is mounted or is the current root file system, | |
1391 | .I fsck | |
1392 | should be halted and UNIX rebooted. | |
1393 | If UNIX is not rebooted immediately, | |
1394 | the work done by | |
1395 | .I fsck | |
1396 | may be undone by the in-core copies of tables | |
1397 | UNIX keeps. |