1fsck.ocfs2.checks(8) OCFS2 Manual Pages fsck.ocfs2.checks(8)
2
3
4
6 fsck.ocfs2.checks - Consistency checks that fsck.ocfs2(8) performs and
7 its means for fixing inconsistencies.
8
10 fsck.ocfs2(8) is used to check an OCFS2 file system. It performs many
11 consistency checks and will offer to fix faults that it finds. This
12 man page lists the problems it may find and describes their fixes. The
13 problems are indexed by the error number that fsck.ocfs2(8) emits when
14 it describes the problem and asks if it should be fixed.
15
16 The prompts are constructed such that answering 'no' results in no
17 changes to the file system. This may result in errors later on that
18 stop fsck.ocfs2(8) from proceeding.
19
20
22 EB_BLKNO
23 Extent blocks contain a record of the disk block where they are
24 located. An extent block was found at a block that didn't match its
25 recorded location.
26
27 Answering yes will update the data structure in the extent block to
28 reflect its real location on disk.
29
30
31 EB_GEN
32 Extent blocks are created with a generation number to match the genera‐
33 tion number of the volume at the time of creation. An extent block was
34 found which contains a generation number that doesn't match.
35
36 Answering yes implies that the generation number is correct and that
37 the extent block is from a previous file system. The extent block will
38 be ignored and the file that contains it will lose the data it refer‐
39 enced.
40
41
42 EB_GEN_FIX
43 Extent blocks are created with a generation number to match the genera‐
44 tion number of the volume at the time of creation. An extent block was
45 found which contains a generation number that doesn't match.
46
47 Answering yes implies that the generation number in the extent block is
48 incorrect and that the extent block is valid. The generation number in
49 the block is updated to match the generation number in the volume.
50
51
52 EXTENT_BLKNO_UNALIGNED
53 The block that marks the start of an extent should always fall on the
54 start of a cluster. An extent was found that starts part-way into a
55 cluster.
56
57 Answering yes moves the start of the extent back to the start of the
58 addressed cluster. This may add data to the middle of the file that
59 contains this extent.
60
61
62 EXTENT_CLUSTERS_OVERRUN
63 An extent was found which claims to contain clusters which are beyond
64 the end of the volume.
65
66 Answering yes clamps the extent to the end of the volume. This may
67 result in a reduced file size for the file that contains the extent,
68 but it couldn't have addressed those final clusters anyway. One can
69 imagine this problem arising if there are problems shrinking a volume.
70
71
72 EXTENT_EB_INVALID
73 Deep extent trees are built by forming a tree out of extent blocks. An
74 extent tree references an invalid extent block.
75
76 Answering yes stops the tree from referencing the invalid extent block.
77 This may truncate data from the file which contains the tree.
78
79
80 EXTENT_LIST_DEPTH
81 Extent lists contain a record of their depth in the tree. An extent
82 list was found whose recorded depth doesn't match the position they
83 have in the tree.
84
85 Answering yes updates the depth field in the list to match the tree on
86 disk.
87
88
89 EXTENT_LIST_COUNT
90 The number of entries in an extent list is bounded by either the size
91 of the inode or the size of the block which contains it. An extent
92 list was found which claims to have more entries than would fit in its
93 container.
94
95 Answering yes updates the count field in the extent list to match the
96 container. Answering no to this question may stop further fixes from
97 being done because the count value can not be trusted.
98
99
100 EXTENT_LIST_FREE
101 The number of free entries in an extent list must be less than the
102 total number of entries in the list. A list was found which claims to
103 have more free entries than possible entries.
104
105 Answering yes sets the number of free entries in the list equal to the
106 total possible entries.
107
108
109 EXTENT_BLKNO_RANGE
110 An extent record was found which references a block which can not be
111 referenced by an extent. The referenced block is either very early in
112 the volume, and thus reserved, or beyond the end of the volume.
113
114 Answering yes removes this extent record from the tree. This may
115 remove data from the file which owns the tree but any such data was
116 inaccessible.
117
118
119 CHAIN_CPG
120 The bitmap inode indicates a different clusters per group than the
121 group descriptor. This value is typically static and only modified by
122 tunefs during volume resize and that too only on volumes having only
123 one cluster group.
124
125 Answering yes updates the clusters per group on the bitmap inode to the
126 corresponding value in the group descriptor.
127
128
129 SUPERBLOCK_CLUSTERS
130 The super block indicates a different total clusters value than the
131 global bitmap. This is only possible due to a failed volume resize
132 operation.
133
134 Answering yes updates the total clusters in the super block to the
135 value specified in the global bitmap.
136
137
138 FIXED_CHAIN_CLUSTERS
139 The global bitmap inode was repaired, resulting in a change to the
140 total cluster count of the filesystem.
141
142 Answering yes updates the total clusters in the super block to the
143 value specified in the global bitmap.
144
145
146
147
148 GROUP_UNEXPECTED_DESC
149 The group descriptors that make up the global bitmap chain allocator
150 reside at predictable locations on disk. A group descriptor was found
151 in the global bitmap allocator which isn't at one of these locations
152 and so shouldn't be in the allocator.
153
154 Answering yes removes this descriptor from the global bitmap allocator.
155
156
157 GROUP_EXPECTED_DESC
158 The group descriptors that make up the global bitmap chain allocator
159 reside at predictable locations on disk. A group descriptor at one of
160 these locations was not linked into the global bitmap allocator.
161
162 Answering yes will relink this group into the allocator.
163
164
165 GROUP_GEN
166 A group descriptor was found with a generation number that doesn't
167 match the generation number of the volume.
168
169 Answering yes sets the group descriptor's generation equal to the gen‐
170 eration number in the volume.
171
172
173 GROUP_PARENT
174 Group descriptors contain a pointer to the allocator inode which con‐
175 tains the chain they belong to. A group descriptor was found in an
176 allocator inode that doesn't match the descriptor's parent pointer.
177
178 Answering yes updates the group descriptor's parent pointer to match
179 the inode it resides in.
180
181
182 GROUP_DUPLICATE
183 Group descriptors contain a pointer to the allocator inode which con‐
184 tains the chain they belong to. A group descriptor was found in two
185 allocator inodes so it may be duplicated.
186
187 Answering yes removes the group descriptor from current allocator
188 inode.
189
190
191 GROUP_BLKNO
192 Group descriptors have a field which records their block location on
193 disk. A group descriptor was found at a given location but is recorded
194 as being located somewhere else.
195
196 Answering yes updates the group descriptor's recorded location to match
197 where it actually is found on disk.
198
199
200 GROUP_CHAIN
201 Group descriptors are found in a number of different singly-linked
202 chains in an allocator inode. A group descriptor records the chain
203 number that it is linked in. A group descriptor was found whose chain
204 field doesn't match the chain it was found in.
205
206 Answering yes sets the group descriptor's chain field to match the
207 chain it is found in.
208
209
210 GROUP_FREE_BITS
211 A group descriptor records the number of bits in its bitmap that are
212 free. A group descriptor was found which claims to have more free bits
213 than are valid in its bitmap.
214
215 Answering yes decreases the number of recorded free bits so that it
216 equals the total number of bits in the group descriptor's bitmap.
217
218
219 CHAIN_COUNT
220 The chain list embedded in an inode is limited by the block size and
221 the number of bytes consumed by the rest of the inode. A chain list
222 header was found which claimed that there are more entries in the list
223 then could fit in the inode.
224
225 Answering yes resets the header's cl_count member to the maximum size
226 allowed by the block size after accounting for the space consumed by
227 the inode.
228
229
230 CHAIN_NEXT_FREE
231 This is identical to CHAIN_COUNT except that it is testing and fixing
232 the pointer to the next free list entry recorded in the
233 cl_next_free_rec member instead of the total number of entries.
234
235
236 CHAIN_EMPTY
237 Chain entries need to be packed such that there are no chains without
238 descriptors found before the chain that is marked as free by the chain
239 header. A chain without descriptors was found found before that chain
240 that was marked free.
241
242 Answering yes will remove the unused chain and shift the remaining
243 chains forward in the list.
244
245
246 CHAIN_I_CLUSTERS
247 Chain allocator inodes have an i_clusters value that represents the
248 number of clusters used by the allocator. An inode was found whose
249 i_clusters value doesn't match the number of clusters its chains cover.
250
251 Answering yes updates i_clusters in the inode to reflect what was actu‐
252 ally found by walking the chain.
253
254
255 CHAIN_I_SIZE
256 Chain allocator inodes multiply the number of bytes per cluster by the
257 their i_clusters value and store it in i_size. An inode was found
258 which didn't have the correct value in its i_size.
259
260 Answering yes updates i_size to be the product of i_clusters and the
261 cluster size. Nothing else uses this value, and previous versions of
262 tools didn't calculate it properly, so don't be too worried if this
263 error appears.
264
265
266 CHAIN_GROUP_BITS
267 The inode that contains an embedded chain list has fields which record
268 the total number of bits covered by the chain as well as the amount
269 free. These fields didn't match what was found in the chain.
270
271 Answering yes updates the fields in the inode to reflect what was actu‐
272 ally found by walking the chain.
273
274
275 CHAIN_HEAD_LINK_RANGE
276 The header that starts a chain tried to reference a group descriptor at
277 a block number that couldn't be valid.
278
279 Answering yes will clear the reference to this invalid block and trun‐
280 cate the chain that it started.
281
282
283 CHAIN_LINK_GEN
284 A reference was made to a group descriptor whose generation number
285 doesn't match the generation of the volume.
286
287 Answering yes to this question implies that the group descriptor is
288 invalid and the chain is truncated at the point that it referred to
289 this invalid group descriptor. Answering no to this question considers
290 the group descriptor as valid and its generation may be fixed.
291
292
293 CHAIN_LINK_MAGIC
294 Chains are built by chain headers and group descriptors which are
295 linked together by block references. A reference was made to a group
296 descriptor at a given block but a valid group descriptor signature
297 wasn't found at that block.
298
299 Answering yes clears the reference to this invalid block and truncates
300 the chain at the point of the reference.
301
302
303 CHAIN_LINK_RANGE
304 Chains are built by chain headers and group descriptors which are
305 linked together by block references. A reference a block was found
306 which can't possibly be valid because it was either too small or
307 extended beyond the volume.
308
309 Answering yes truncates the chain in question by zeroing the invalid
310 block reference. This shortens the chain in question and could result
311 in more fixes later if the part of the chain that couldn't be refer‐
312 enced was valid at some point.
313
314
315 CHAIN_BITS
316 A chain's header contains members which record the total number of bits
317 in the chain as well as the number of bits that are free. After walk‐
318 ing through a chain it was found that the number of bits recorded in
319 its header don't match what was found by totalling up the group
320 descriptors.
321
322 Answering yes updates the c_total and c_free members of the header to
323 reflect what was found in the group descriptors in the chain.
324
325
326
327
328 INODE_ALLOC_REPAIR
329 The inode allocator did not accurately reflect the set of inodes that
330 are free and in use in the volume.
331
332 Answering yes will update the inode allocator bitmaps. Each bit that
333 doesn't match the state of its inode will be inverted.
334
335
336 INODE_SUBALLOC
337 Each inode records the node whose allocator is responsible for the
338 inode. An inode was found in a given node's allocator but the inode
339 itself claimed to belong to a different node.
340
341 Answering yes will correct the inode to point to the node's allocator
342 that it belongs to.
343
344
345 LALLOC_SIZE
346 Each node has a local allocator contained in a block that is used to
347 allocate clusters in batches. A node's local allocator claims to
348 reflect more bytes than are possible for the volume's block size.
349
350 Answering yes decreases the local allocator's size to reflect the vol‐
351 ume's block size.
352
353
354 LALLOC_NZ_USED
355 A given node's local allocator isn't in use but it claims to have bits
356 in use in its bitmap.
357
358 Answering yes zeros this used field.
359
360
361 LALLOC_NZ_BM
362 A given node's local allocator isn't in use but it has a field which
363 records the bitmap as starting at a non-zero cluster offset.
364
365 Answering yes zeros the bm_off field.
366
367
368 LALLOC_BM_OVERRUN
369 Each local allocator contains a reference to the first cluster that its
370 bitmap addresses. A given local allocator was found which references a
371 starting cluster that is beyond the end of the volume.
372
373 Answering yes resets the given local allocator. No allocated data will
374 be lost.
375
376
377 LALLOC_BM_SIZE
378 The given local allocator claims to cover more bits than are possible
379 for the size in bytes of its bitmap.
380
381 Answering yes decreases the number of bits the allocator covers to
382 reflect the size in bytes of the bitmap and resets the allocator. No
383 allocated data will be lost.
384
385
386 LALLOC_BM_STRADDLE
387 The given local allocator claims to cover a region of clusters which
388 extents beyond the end of the volume.
389
390 Answering yes resets the given local allocator. No allocated data will
391 be lost.
392
393
394 LALLOC_USED_OVERRUN
395 The given local allocator claims to have more bits in use than it has
396 total bits in its bitmap.
397
398 Answering yes decreases the number of bits used so that it equals the
399 total number of available bits.
400
401
402 LALLOC_CLEAR
403 A local allocator inode was found to have problems. This gives the
404 operator a chance to just reset the local allocator inode.
405
406 Answering yes clears the local allocator. No information is lost but
407 the global bitmap allocator may need to be updated to reflect clusters
408 that were reserved for the local allocator but were free.
409
410
411 DEALLOC_COUNT
412 The given truncate log inode contains a count that is greater than the
413 value that is possible given the size of the inode.
414
415 Answering yes resets the count value to the possible maximum.
416
417
418 DEALLOC_USED
419 The given truncate log inode claims to have more records in use than it
420 is possible to store in the inode.
421
422 Answering yes resets the record of the number used to the maximum value
423 possible.
424
425
426 TRUNCATE_REC_START_RANGE
427 A truncate record was found which claims to start at a cluster that is
428 beyond the number of clusters in the volume.
429
430 Answering yes will clear the truncate record. This may result in pre‐
431 viously freed space being marked as allocated. This will be fixed up
432 later as the allocator is updated to match what is used by the file
433 system.
434
435
436 TRUNCATE_REC_WRAP
437 Clusters are recorded as 32bit values. A truncate record was found
438 which claims to have enough clusters to cause this value to wrap. This
439 could never be the case and is a sure sign of corruption.
440
441 Answering yes will clear the truncate record. This may result in pre‐
442 viously freed space being marked as allocated. This will be fixed up
443 later as the allocator is updated to match what is used by the file
444 system.
445
446
447 TRUNCATE_REC_RANGE
448 A truncate record was found which claims to reference a region of clus‐
449 ters which partially extends beyond the number of clusters in the vol‐
450 ume.
451
452 Answering yes will clear the truncate record. This may result in pre‐
453 viously freed space being marked as allocated. This will be fixed up
454 later as the allocator is updated to match what is used by the file
455 system.
456
457
458 INODE_GEN
459 Inodes are created with a generation number to match the generation
460 number of the volume at the time of creation. An Inode was found which
461 contains a generation number that doesn't match.
462
463 Answering yes implies that the generation number is correct and that
464 the inode is from a previous file system. The inode will be recorded
465 as free.
466
467
468 INODE_GEN_FIX
469 Inodes are created with a generation number to match the generation
470 number of the volume at the time of creation. An inode was found which
471 contains a generation number that doesn't match.
472
473 Answering yes implies that the generation number in the inode is incor‐
474 rect and that the inode is valid. The generation number in the inode
475 is updated to match the generation number in the volume.
476
477
478 INODE_BLKNO
479 Inodes contain a field that must match the block that they reside in.
480 An inode was found at a block that doesn't match the field in the
481 inode.
482
483 Answering yes updates the field to match the inode's position on disk.
484
485
486 ROOT_NOTDIR
487 The super block contains a reference to the inode that contains the
488 root directory. This block was found to contain an inode that isn't a
489 directory.
490
491 Answering yes clears this inode. The operator will be asked to recre‐
492 ate the root directory at a point in the near future.
493
494
495 INODE_NZ_DTIME
496 Inodes contain a field describing the time at which they were deleted.
497 This can not be set for an inode that is still in use. An inode was
498 found which is in use but which contains a non-zero dtime.
499
500 Answering yes implies that the inode is still valid and resets its
501 dtime to zero.
502
503
504 LINK_FAST_DATA
505 The target name for a symbolic link is stored either as file contents
506 for that inode or in the inode structure itself on disk. Only small
507 destination names are stored in the inode structure. The i_blocks
508 field of the inode indicates that the name is stored in the inode when
509 it is zero. An inode was found that has both i_blocks set to zero and
510 file contents.
511
512 Answering yes clears the inode and so deletes the link.
513
514
515 LINK_NULLTERM
516 The targets of links on disk must be null terminated. A link was found
517 whose target wasn't null terminated.
518
519 Answering yes clears the inode and so deletes the link.
520
521
522 LINK_SIZE
523 The size of a link on disk must match the length of its target string.
524 A link was found whose size does not.
525
526 Answering yes updates the link's size to reflect the length of its tar‐
527 get string.
528
529
530 LINK_BLOCKS
531 Links can not be sparse. There must be exactly as many blocks allo‐
532 cated as are needed to cover its size. A link was found which doesn't
533 have enough blocks allocated to cover its size.
534
535 Answering yes clears the link's inode thus deleting the link.
536
537
538 DIR_ZERO
539 Directories must at least contain a block that has the "." and ".."
540 entries. A directory was found which doesn't contain any blocks.
541
542 Answering yes to this question clears the directory's inode thus delet‐
543 ing the directory.
544
545
546 INODE_SIZE
547 Certain inodes record the size of the data they reference in an i_size
548 field. This can be the number of bytes in a file, directory, or sym‐
549 link target which are stored in data mapped by extents of clusters.
550 This error occurs when the extent lists are walked and the amount of
551 data found does not match what is stored in i_size.
552
553 Answering yes to this question updates the inode's i_size to match the
554 amount of data referenced by the extent lists. It is vitally important
555 that i_size matches the extent lists and so answering yes is strongly
556 encouraged.
557
558
559 INODE_SPARSE_SIZE
560 Certain inodes record the size of the data they reference in an i_size
561 field. This can be the number of bytes in a file, directory, or sym‐
562 link target which are stored in data mapped by extents of clusters.
563 This error occurs when a sparse inode was found that had data allocated
564 past its i_size.
565
566 Answering yes to this question will update the inode's i_size to cover
567 all of its allocated storage. It is vitally important that i_size
568 matches the extent lists and so answering yes is strongly encouraged.
569
570
571 INODE_INLINE_SIZE
572 Inodes can only fit a certain amount of inline data. This inode has
573 its data inline but claims an i_size larger than will actually fit.
574
575 Answering yes to this question updates the inode's i_size to the maxi‐
576 mum available inline space.
577
578
579 INODE_CLUSTERS
580 Inodes contain a record of how many clusters are allocated to them. An
581 inode was found whose recorded number of clusters doesn't match the
582 number of blocks that were found associated with the inode.
583
584 Answering yes resets the inode's number of clusters to reflect the num‐
585 ber of blocks that were associated with the file.
586
587
588 INODE_SPARSE_CLUSTERS
589 Inodes contain a record of how many clusters are allocated to them. An
590 sparse inode was found whose recorded number of clusters doesn't match
591 the number of blocks that were found associated with the inode.
592
593 Answering yes resets the inode's number of clusters to reflect the num‐
594 ber of blocks that were associated with the file.
595
596
597 INODE_INLINE_CLUSTERS
598 Inlined inode should not have allocated clusters. An inode who has
599 inline data flag set was found with clusters allocated.
600
601 Answering yes resets the inode's number of clusters to zero.
602
603
604 LALLOC_REPAIR
605 An active local allocator did not accurately reflect the set of clus‐
606 ters that are free and in use in its region.
607
608 Answering yes will update the local allocator bitmap. Each bit that
609 doesn't match the use of its cluster will be inverted.
610
611
612 LALLOC_USED
613 A local allocator records the number of bits that are used in its bit‐
614 map. An allocator was found whose used value doesn't reflect the num‐
615 ber of bits that are set in its bitmap.
616
617 Answering yes sets the used value to match the number of bits set in
618 the allocator's bitmap.
619
620
621 CLUSTER_ALLOC_BIT
622 A specific cluster's use didn't match the setting of its bit in the
623 cluster allocator.
624
625 Answering yes will invert the bit in the allocator to match the use of
626 the cluster -- either allocated and in use or free.
627
628
629
630
631 DUP_CLUSTERS_SYSFILE_CLONE
632 A system file inode claims clusters that are also claimed by another
633 inode. ocfs2 does not allow this. System files may be cloned but may
634 not be deleted. Allocation system files may not be cloned or deleted.
635
636 Answering yes will copy the data of this inode to newly allocated
637 extents. This will break the claim on the overcommitted clusters.
638
639
640 DUP_CLUSTERS_CLONE
641 An inode claims clusters that are also claimed by another inode. ocfs2
642 does not allow this.
643
644 Answering yes will copy the data of this inode to newly allocated
645 extents. This will break the claim on the overcommitted clusters.
646
647
648 DUP_CLUSTERS_DELETE
649 An inode claims clusters that are also claimed by another inode. ocfs2
650 does not allow this.
651
652 Answering yes will remove this inode, thus breaking its claim on the
653 overcommitted clusters.
654
655
656
657
658 DIRENT_DOTTY_DUP
659 There can be only one instance of both the "." and ".." entries in a
660 directory. A directory entry was found which duplicated one of these
661 entries.
662
663 Answering yes will remove the duplicate directory entry.
664
665
666 DIRENT_NOT_DOTTY
667 The first and second directory entries in a directory must be "." and
668 ".." respectively. One of these directory entries was found to not
669 match these rules.
670
671 Answering yes will force the directory entry to be either "." or "..".
672 This might consume otherwise valid entries and cause some files to
673 appear in lost+found.
674
675
676 DIRENT_DOT_INODE
677 The inode field of the "." directory entry must refer to the directory
678 inode that contains the given directory block. A "." entry was found
679 which doesn't do so.
680
681 Answering yes sets the directory entry's inode reference to the parent
682 directory that contains the entry.
683
684
685 DIRENT_DOT_EXCESS
686 A "." directory entry was found whose lengths exceeds the amount
687 required for the single dot in the name.
688
689 Answering yes creates another empty directory entry in this excess
690 space.
691
692
693 DIRENT_ZERO
694 A directory entry was found with a zero length name.
695
696 Answering yes clears the directory entry so its space can be reused.
697
698
699 DIRENT_NAME_CHARS
700 Directory entries can not contain either the NULL character (ASCII 0)
701 or the forward slash (ASCII 47). A directory entry was found which
702 contains either.
703
704 Answering yes will change each instance of these forbidden characters
705 into a period (ASCII 46).
706
707
708 DIRENT_INODE_RANGE
709 Each directory entry contains a inode field which the entry's name cor‐
710 responds to. An entry was found which referenced an inode number that
711 is invalid for the current volume.
712
713 Answering yes clears this entry so its space can be reused. If the
714 entry once corresponded to a real inode and was corrupted this inode
715 may appear in lost+found.
716
717
718 DIRENT_INODE_FREE
719 Each directory entry contains a inode field which the entry's name cor‐
720 responds to. An entry was found which referenced an inode number that
721 isn't in use.
722
723 Answering yes clears this directory entry.
724
725
726 DIRENT_TYPE
727 Each directory entry contains a field which describes the type of file
728 that the entry refers to. An entry was found whose type doesn't match
729 the inode it is referring to.
730
731 Answering yes resets the entry's type to match the target inode.
732
733
734 DIR_PARENT_DUP
735 Each directory can only be pointed to by one directory entry in a par‐
736 ent directory. A directory entry was found which was the second entry
737 to point to a given directory inode.
738
739 Answering yes clears this entry which was the second to refer to a
740 given directory. This reflects the policy that hard links to directo‐
741 ries are not allowed.
742
743
744 DIRENT_DUPLICATE
745 File names within a directory must be unique. A file name occurred in
746 more than one directory entry in a given directory.
747
748 Answering yes renames the duplicate entry to a name that doesn't col‐
749 lide with recent entries and is unlikely to collide with future entries
750 in the directory.
751
752
753 DIRENT_LENGTH
754 There are very few directory entry lengths that are valid. The lengths
755 must be greater than the minimum required to record a single character
756 directory, be rounded to 12 bytes, be within the amount of space
757 remaining in a directory block, and be properly rounded for the size of
758 the name of the directory entry. An entry was found which didn't meet
759 these criteria.
760
761 Answering yes will try to repair the directory entry. This runs a very
762 good chance of invalidating all the entries in the directory block.
763 Orphaned inodes may appear in lost+found.
764
765
766 DIR_TRAILER_INODE
767 A directory block trailer is a fake directory entry at the end of the
768 block. The trailer has compatibility fields for when it is viewed as a
769 directory entry. The inode field must be zero.
770
771 Answering yes will set the inode field to zero.
772
773
774 DIR_TRAILER_NAME_LEN
775 A directory block trailer is a fake directory entry at the end of the
776 block. The trailer has compatibility fields for when it is viewed as a
777 directory entry. The name length field must be zero.
778
779 Answering yes will set the name length field to zero.
780
781
782 DIR_TRAILER_REC_LEN
783 A directory block trailer is a fake directory entry at the end of the
784 block. The trailer has compatibility fields for when it is viewed as a
785 directory entry. The record length field must be equal to the size of
786 the trailer.
787
788 Answering yes will set the record length field to the size of the
789 trailer.
790
791
792 DIR_TRAILER_BLKNO
793 A directory block trailer is a fake directory entry at the end of the
794 block. The self-referential block number is incorrect.
795
796 Answering yes will set the block number to the correct block on disk.
797
798
799 DIR_TRAILER_PARENT_INODE
800 A directory block trailer is a fake directory entry at the end of the
801 block. It has a pointer to the directory inode it belongs to. This
802 pointer is incorrect.
803
804 Answering yes will set the parent inode pointer to the inode referenc‐
805 ing this directory block.
806
807
808
809
810 ROOT_DIR_MISSING
811 The super block contains a reference to the inode that serves as the
812 root directory. This reference points to an inode that isn't in use.
813
814 Answering yes will create a new inode and update the super block to
815 refer to this inode as the root directory.
816
817
818 LOSTFOUND_MISSING
819 The super block contains a reference to the inode that serves as the
820 lost+found directory. This reference points to an inode that isn't in
821 use.
822
823 Answering yes will create a new lost+found directory in the root direc‐
824 tory.
825
826
827 DIR_NOT_CONNECTED
828 Every directory in the file system should be reachable by a directory
829 entry in its parent directory. This is verified by walking every
830 directory in the system. A directory inode was found during this walk
831 which doesn't have a parent directory entry.
832
833 Answering yes moves this directory entry into the lost+found directory
834 and gives it a name based on its inode number.
835
836
837 DIR_DOTDOT
838 A directory inode's ".." directory entry must refer to the parent
839 directory. A directory was found whose ".." doesn't refer to its par‐
840 ent.
841
842 Answering yes will read the directory block for the given directory and
843 update its ".." entry to reflect its parent.
844
845
846
847
848 INODE_NOT_CONNECTED
849 Most all inodes in the system should be referenced by a directory
850 entry. An inode was found which isn't referred to by any directory
851 entry.
852
853 Answering yes moves this inode into the lost+found directory and gives
854 it a name based on its inode number.
855
856
857 INODE_COUNT
858 Each inode records the number of directory entries that refer to it.
859 An inode was found whose recorded count doesn't match the number of
860 entries that refer to it.
861
862 Answering yes sets the inode's count to match the number of referring
863 directory entries.
864
865
866 INODE_ORPHANED
867 While files are being deleted they are placed in an internal directory.
868 If the machine crashes while this is taking place the files will be
869 left in this directory. Fsck has found an inode in this directory and
870 would like to finish the job of truncating and removing it.
871
872 Answering yes removes the file data associated with the inode and frees
873 the inode.
874
875
876 RECOVER_BACKUP_SUPERBLOCK
877 When fsck.ocfs2 successfully uses the specified backup superblock, it
878 provides the user with this option to overwrite the existing superblock
879 with that backup.
880
881 Answering yes will refresh the superblock from the backup. Answering no
882 will only disable the copying of the backup superblock and will not
883 effect the remaining fsck.ocfs2 processing.
884
885
886 ORPHAN_DIR_MISSING
887 While files are being deleted they are placed in an internal directory,
888 named orphan directory. If an orphan directory does not exist, an OCFS2
889 volume cannot be mounted successfully. Fsck has found the orphan direc‐
890 tory is missing and would like to create it for future use.
891
892 Answering yes creates the orphan directory in the system directory.
893
894
895 JOURNAL_FILE_INVALID
896 OCFS2 uses JDB for journalling and some journal files exist in the sys‐
897 tem directory. Fsck has found some journal files that are invalid.
898
899 Answering yes to this question will regenerate the invalid journal
900 files.
901
902
903 JOURNAL_UNKNOWN_FEATURE
904 Fsck has found some journal files with unknown features. Other jour‐
905 nals on the filesystem have only known features, so this is likely a
906 corruption. If you think your filesystem may be newer than this ver‐
907 sion of fsck.ocfs2, say N here and grab the latest version of
908 fsck.ocfs2.
909
910 Answering yes resets the journal features to match other journals.
911
912
913 JOURNAL_MISSING_FEATURE
914 Fsck has found some journal files have features that are not set on all
915 journal files. All journals on filesystem should have the same set of
916 features.
917
918 Answering yes will set all journals to the union of set features.
919
920
921 JOURNAL_TOO_SMALL
922 Fsck has found some journal files are too small.
923
924 Answering yes extends these journals.
925
926
927 RECOVER_CLUSTER_INFO
928 The currently active cluster stack is different than the one the
929 filesystem is configured for. Thus, fsck.ocfs2 cannot determine
930 whether the filesystem is mounted on an another node or not. The recom‐
931 mended solution is to exit and run fsck.ocfs2 on this device from a
932 node that has the appropriate active cluster stack. However, you can
933 proceed with the fsck if you are sure that the volume is not in use on
934 any node.
935
936 Answering yes reconfigures the filesystem to use the current cluster
937 stack. DANGER: YOU MUST BE ABSOLUTELY SURE THAT NO OTHER NODE IS USING
938 THIS FILESYSTEM BEFORE CONTINUING. OTHERWISE, YOU CAN CORRUPT THE
939 FILESYSTEM AND LOSE DATA.
940
941
942 INLINE_DATA_FLAG_INVALID
943 Inline file can only exist in a volume with inline supported, Fsck has
944 found that a file in a non-inline volume has inline flag set.
945
946 Answering yes remove this flag from the file.
947
948
949 INLINE_DATA_COUNT_INVALID
950 For an inline file, there is a limit for id2.id_data.id_count. Fsck has
951 found that this value isn't right.
952
953 Answering yes change this value to the right number.
954
955
956 XATTR_BLOCK_INVALID
957 Extended attributes are stored off an extended attribute block refer‐
958 enced by the inode. This inode references an invalid extended
959 attribute block.
960
961 Answering yes will remove this block.
962
963
964 XATTR_COUNT_INVALID
965 The count of extended attributes in an inode, block, or bucket does not
966 match the number of entries found by fsck.
967
968 Answering yes will change this to the correct count.
969
970
971 XATTR_ENTRY_INVALID
972 An extended attribute entry points to already used space.
973
974 Answering yes will remove this entry.
975
976
977 XATTR_NAME_OFFSET_INVALID
978 The name_offset field of an extended attribute entry is not correct.
979 Without a correct name_offset field, the entry cannot be used.
980
981 Answering yes will remove this entry.
982
983
984 XATTR_VALUE_INVALID
985 The value region of an extended attribute points to already used space.
986
987 Answering yes will remove this entry.
988
989
990 XATTR_LOCATION_INVALID
991 The xe_local field and xe_value_size field of an extended attribute
992 entry does not match. So the entry cannot be used.
993
994 Answering yes will remove this entry.
995
996
997 XATTR_HASH_INVALID
998 Extended attributes use a hash of their name for lookup purposes. The
999 name_hash of this extended attribute entry is not correct.
1000
1001 Answering yes will change this to the correct hash.
1002
1003
1004 XATTR_FREE_START_INVALID
1005 Extended attributes use free_start to indicate the offset of the free
1006 space in inode, block, or bucket. The free_start field of this object
1007 is not correct.
1008
1009 Answering yes will change this to the correct offset.
1010
1011
1012 XATTR_VALUE_LEN_INVALID
1013 Extended attributes use name_value_len to store the total length of all
1014 entry's name and value in inode, block or bucket. the name_value_len
1015 filed of this object is not correct.
1016
1017 Answering yes will change this to the correct value.
1018
1019
1020 XATTR_BUCKET_COUNT_INVALID
1021 The count of extended attributes bucket pointed by one extent record
1022 does not match the number of buckets found by fsck.
1023
1024 Answering yes will change this to the correct count.
1025
1026
1028 fsck.ocfs2(8)
1029
1030
1032 Oracle Corporation.
1033
1034
1036 Copyright © 2004, 2009 Oracle. All rights reserved.
1037
1038
1039
1040Version 1.4.3 April 2009 fsck.ocfs2.checks(8)