1fsck.ocfs2.checks(8)          OCFS2 Manual Pages          fsck.ocfs2.checks(8)
2
3
4

NAME

6       fsck.ocfs2.checks  - Consistency checks that fsck.ocfs2(8) performs and
7       its means for fixing inconsistencies.
8

DESCRIPTION

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

CHECKS

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

SEE ALSO

1028       fsck.ocfs2(8)
1029
1030

AUTHORS

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)
Impressum