~wb-munzinger/+junk/ocfs2-tools

« back to all changes in this revision

Viewing changes to fsck.ocfs2/fsck.ocfs2.checks.8

  • Committer: David Weber
  • Date: 2012-01-30 08:42:00 UTC
  • mfrom: (1.1.11 upstream)
  • Revision ID: wb@munzinger.de-20120130084200-c8cy478mu9fk7tkf
Import upstream

Show diffs side-by-side

added added

removed removed

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