xfs
[Top] [All Lists]

Should xfs_repair make xfs_check stop complaining?

To: linux-xfs@xxxxxxxxxxx
Subject: Should xfs_repair make xfs_check stop complaining?
From: linux@xxxxxxxxxxx
Date: 4 Nov 2005 18:46:48 -0500
Cc: linux@xxxxxxxxxxx
In-reply-to: <20051103203313.27622.qmail@xxxxxxxxxxxxxxxxxxx>
Sender: linux-xfs-bounce@xxxxxxxxxxx
Um, just wondering... I have a file system, on which I have run xfs_repair
six times, and xfs_check still has complaints about it.

I understand the xfs_repair rebuilds lost+found every time, so it
keeps finding unreferenced files, but xfs_repair keeps fixing things like 
> resetting inode 335565855 nlinks from 14 to 15

but leaves the subsequent inodes for xfs_check to complain about:
> link count mismatch for inode 335565856 (name ?), nlink 14, counted 15
> link count mismatch for inode 335565857 (name ?), nlink 14, counted 15

Note that they're NOT the same inode number, so it's as if xfs_repair is missing
some problems.  Looking at the multiple runs, I see different inode numbers each
time.

xfs_repair and xfs_db are both version 2.6.36.

Is this normal behaviour?  I'm used to e2fsck which complains loudly if
it leaves uncorrected errors.


xfs_repair (#6) said:

Phase 1 - find and verify superblock...
Phase 2 - using internal log
        - zero log...
        - scan filesystem freespace and inode maps...
        - found root inode chunk
Phase 3 - for each AG...
        - scan and clear agi unlinked lists...
        - process known inodes and perform inode discovery...
        - agno = 0
        - agno = 1
        - agno = 2
        - agno = 3
        - agno = 4
        - agno = 5
        - agno = 6
        - agno = 7
        - agno = 8
        - agno = 9
        - agno = 10
        - agno = 11
        - agno = 12
        - agno = 13
        - agno = 14
        - agno = 15
        - process newly discovered inodes...
Phase 4 - check for duplicate blocks...
        - setting up duplicate extent list...
        - clear lost+found (if it exists) ...
        - clearing existing "lost+found" inode
        - marking entry "lost+found" to be deleted
        - check for inodes claiming duplicate blocks...
        - agno = 0
        - agno = 1
        - agno = 2
        - agno = 3
        - agno = 4
        - agno = 5
        - agno = 6
        - agno = 7
        - agno = 8
        - agno = 9
        - agno = 10
        - agno = 11
        - agno = 12
        - agno = 13
        - agno = 14
        - agno = 15
Phase 5 - rebuild AG headers and trees...
        - reset superblock...
Phase 6 - check inode connectivity...
        - resetting contents of realtime bitmap and summary inodes
        - ensuring existence of lost+found directory
        - traversing filesystem starting at / ... 
rebuilding directory inode 1024
        - traversal finished ... 
        - traversing all unattached subtrees ... 
        - traversals finished ... 
        - moving disconnected inodes to lost+found ... 
disconnected dir inode 15509532, moving to lost+found
disconnected dir inode 15509538, moving to lost+found
disconnected inode 33556494, moving to lost+found
disconnected dir inode 51346432, moving to lost+found
disconnected dir inode 51346437, moving to lost+found
disconnected inode 67238927, moving to lost+found
disconnected inode 67263492, moving to lost+found
disconnected inode 67263493, moving to lost+found
disconnected dir inode 84868125, moving to lost+found
disconnected dir inode 129571895, moving to lost+found
disconnected inode 167868474, moving to lost+found
disconnected inode 167868477, moving to lost+found
disconnected inode 167868479, moving to lost+found
disconnected inode 167869440, moving to lost+found
disconnected inode 167869442, moving to lost+found
disconnected inode 167869444, moving to lost+found
disconnected inode 167869445, moving to lost+found
disconnected inode 167869449, moving to lost+found
disconnected inode 167869454, moving to lost+found
disconnected inode 193486865, moving to lost+found
disconnected dir inode 287203344, moving to lost+found
disconnected dir inode 313303087, moving to lost+found
disconnected dir inode 349614088, moving to lost+found
disconnected dir inode 386031650, moving to lost+found
disconnected dir inode 386031670, moving to lost+found
disconnected inode 402863163, moving to lost+found
disconnected dir inode 424609813, moving to lost+found
disconnected dir inode 424609817, moving to lost+found
disconnected dir inode 424609838, moving to lost+found
disconnected dir inode 486566967, moving to lost+found
Phase 7 - verify and correct link counts...
resetting inode 47615030 nlinks from 9 to 10
resetting inode 72902656 nlinks from 3 to 4
resetting inode 72902657 nlinks from 3 to 4
resetting inode 72902658 nlinks from 3 to 4
resetting inode 72902659 nlinks from 3 to 4
resetting inode 72902660 nlinks from 3 to 4
resetting inode 72902661 nlinks from 3 to 4
resetting inode 72902662 nlinks from 3 to 4
resetting inode 72902663 nlinks from 3 to 4
resetting inode 72902664 nlinks from 3 to 4
resetting inode 72902665 nlinks from 3 to 4
resetting inode 72902666 nlinks from 3 to 4
resetting inode 72902667 nlinks from 3 to 4
resetting inode 72902668 nlinks from 3 to 4
resetting inode 72902669 nlinks from 3 to 4
resetting inode 72902670 nlinks from 3 to 4
resetting inode 72902671 nlinks from 3 to 4
resetting inode 72902672 nlinks from 3 to 4
resetting inode 72902673 nlinks from 3 to 4
resetting inode 72902674 nlinks from 3 to 4
resetting inode 72902675 nlinks from 3 to 4
resetting inode 72902676 nlinks from 3 to 4
resetting inode 72902677 nlinks from 3 to 4
resetting inode 72902678 nlinks from 3 to 4
resetting inode 72902679 nlinks from 3 to 4
resetting inode 72902680 nlinks from 3 to 4
resetting inode 72902681 nlinks from 3 to 4
resetting inode 72902682 nlinks from 3 to 4
resetting inode 72902683 nlinks from 3 to 4
resetting inode 72902684 nlinks from 3 to 4
resetting inode 72902685 nlinks from 3 to 4
resetting inode 72902686 nlinks from 3 to 4
resetting inode 72902687 nlinks from 3 to 4
resetting inode 302496781 nlinks from 14 to 15
resetting inode 302496782 nlinks from 20 to 21
resetting inode 302496783 nlinks from 20 to 21
resetting inode 302496784 nlinks from 14 to 15
resetting inode 302496785 nlinks from 20 to 21
resetting inode 302496786 nlinks from 20 to 21
resetting inode 302496787 nlinks from 14 to 15
resetting inode 302496788 nlinks from 20 to 21
resetting inode 302496789 nlinks from 14 to 15
resetting inode 335565855 nlinks from 14 to 15
done



and xfs_check then said:

block 2/262 expected type unknown got free2
block 2/263 expected type unknown got free2
block 2/264 expected type unknown got free2
block 2/265 expected type unknown got free2
block 2/266 expected type unknown got free2
block 2/158606 expected type unknown got free2
link count mismatch for inode 9521204 (name ?), nlink 18, counted 17
link count mismatch for inode 9521206 (name ?), nlink 18, counted 17
link count mismatch for inode 9521207 (name ?), nlink 18, counted 17
link count mismatch for inode 8159262 (name ?), nlink 2277, counted 2278
link count mismatch for inode 4295701 (name ?), nlink 13, counted 12
link count mismatch for inode 4295702 (name ?), nlink 13, counted 12
link count mismatch for inode 4295703 (name ?), nlink 11, counted 10
link count mismatch for inode 4295705 (name ?), nlink 13, counted 12
link count mismatch for inode 37956638 (name ?), nlink 3, counted 4
link count mismatch for inode 37956639 (name ?), nlink 3, counted 4
link count mismatch for inode 47756317 (name ?), nlink 57, counted 62
link count mismatch for inode 47756319 (name ?), nlink 14, counted 15
link count mismatch for inode 39545890 (name ?), nlink 149, counted 150
link count mismatch for inode 47281154 (name ?), nlink 16, counted 17
link count mismatch for inode 36780063 (name ?), nlink 2, counted 3
link count mismatch for inode 67423241 (name ?), nlink 445, counted 448
link count mismatch for inode 72395795 (name ?), nlink 6, counted 7
link count mismatch for inode 72395796 (name ?), nlink 10, counted 11
link count mismatch for inode 72395799 (name ?), nlink 6, counted 7
link count mismatch for inode 72395800 (name ?), nlink 6, counted 7
link count mismatch for inode 72395801 (name ?), nlink 6, counted 7
link count mismatch for inode 72395802 (name ?), nlink 6, counted 7
link count mismatch for inode 72395803 (name ?), nlink 8, counted 9
link count mismatch for inode 107157534 (name ?), nlink 8, counted 9
link count mismatch for inode 107157541 (name ?), nlink 3, counted 4
link count mismatch for inode 107157542 (name ?), nlink 3, counted 4
link count mismatch for inode 107157543 (name ?), nlink 3, counted 4
link count mismatch for inode 107157544 (name ?), nlink 3, counted 4
link count mismatch for inode 107157545 (name ?), nlink 3, counted 4
link count mismatch for inode 107157546 (name ?), nlink 3, counted 4
link count mismatch for inode 107157547 (name ?), nlink 3, counted 4
link count mismatch for inode 107157548 (name ?), nlink 3, counted 4
link count mismatch for inode 107157550 (name ?), nlink 3, counted 4
link count mismatch for inode 109702154 (name ?), nlink 3, counted 4
link count mismatch for inode 109702156 (name ?), nlink 5, counted 6
link count mismatch for inode 109702157 (name ?), nlink 5, counted 6
link count mismatch for inode 109702158 (name ?), nlink 5, counted 6
link count mismatch for inode 109702159 (name ?), nlink 3, counted 4
link count mismatch for inode 144276493 (name ?), nlink 24, counted 25
link count mismatch for inode 144276494 (name ?), nlink 24, counted 25
link count mismatch for inode 144276495 (name ?), nlink 24, counted 25
link count mismatch for inode 144920600 (name ?), nlink 6, counted 7
link count mismatch for inode 144920601 (name ?), nlink 8, counted 9
link count mismatch for inode 144920607 (name ?), nlink 6, counted 7
link count mismatch for inode 144920608 (name ?), nlink 6, counted 7
link count mismatch for inode 144920609 (name ?), nlink 8, counted 9
link count mismatch for inode 144058403 (name ?), nlink 9, counted 10
link count mismatch for inode 241771561 (name ?), nlink 3, counted 4
link count mismatch for inode 240273428 (name ?), nlink 7, counted 6
link count mismatch for inode 240273430 (name ?), nlink 9, counted 8
link count mismatch for inode 240273431 (name ?), nlink 7, counted 6
link count mismatch for inode 240273432 (name ?), nlink 9, counted 8
link count mismatch for inode 240273433 (name ?), nlink 9, counted 8
link count mismatch for inode 240273434 (name ?), nlink 9, counted 8
link count mismatch for inode 240273435 (name ?), nlink 7, counted 6
link count mismatch for inode 240273436 (name ?), nlink 9, counted 8
link count mismatch for inode 240273437 (name ?), nlink 7, counted 6
link count mismatch for inode 240273438 (name ?), nlink 9, counted 8
link count mismatch for inode 240273439 (name ?), nlink 9, counted 8
link count mismatch for inode 346406949 (name ?), nlink 3, counted 4
link count mismatch for inode 340941885 (name ?), nlink 10, counted 11
link count mismatch for inode 340941886 (name ?), nlink 10, counted 11
link count mismatch for inode 343417900 (name ?), nlink 18, counted 17
link count mismatch for inode 343417902 (name ?), nlink 16, counted 15
link count mismatch for inode 340957216 (name ?), nlink 10, counted 11
link count mismatch for inode 340957217 (name ?), nlink 10, counted 11
link count mismatch for inode 335565856 (name ?), nlink 14, counted 15
link count mismatch for inode 335565857 (name ?), nlink 14, counted 15
link count mismatch for inode 383432717 (name ?), nlink 18, counted 17
link count mismatch for inode 383432719 (name ?), nlink 18, counted 17
link count mismatch for inode 424606730 (name ?), nlink 16, counted 18
link count mismatch for inode 414889995 (name ?), nlink 17, counted 18
link count mismatch for inode 414889996 (name ?), nlink 17, counted 18
link count mismatch for inode 414889998 (name ?), nlink 17, counted 18
link count mismatch for inode 414889999 (name ?), nlink 17, counted 18
link count mismatch for inode 404029469 (name ?), nlink 15, counted 16
link count mismatch for inode 410588170 (name ?), nlink 4, counted 3
link count mismatch for inode 442877964 (name ?), nlink 94, counted 95
link count mismatch for inode 441138178 (name ?), nlink 4, counted 3
link count mismatch for inode 441138180 (name ?), nlink 4, counted 3
link count mismatch for inode 437784616 (name ?), nlink 17, counted 18
link count mismatch for inode 473682976 (name ?), nlink 13, counted 12
link count mismatch for inode 473682978 (name ?), nlink 13, counted 12
link count mismatch for inode 473682979 (name ?), nlink 13, counted 12
link count mismatch for inode 473682980 (name ?), nlink 13, counted 12
link count mismatch for inode 473682981 (name ?), nlink 13, counted 12
link count mismatch for inode 473682982 (name ?), nlink 13, counted 12
link count mismatch for inode 477552672 (name ?), nlink 4, counted 3
link count mismatch for inode 477552673 (name ?), nlink 4, counted 3
link count mismatch for inode 477552674 (name ?), nlink 4, counted 3
link count mismatch for inode 477552675 (name ?), nlink 4, counted 3
link count mismatch for inode 477552676 (name ?), nlink 4, counted 3
link count mismatch for inode 477552677 (name ?), nlink 4, counted 3
link count mismatch for inode 477552678 (name ?), nlink 4, counted 3
link count mismatch for inode 477552679 (name ?), nlink 4, counted 3
link count mismatch for inode 477552680 (name ?), nlink 4, counted 3
link count mismatch for inode 477552681 (name ?), nlink 4, counted 3
link count mismatch for inode 477552682 (name ?), nlink 4, counted 3
link count mismatch for inode 477552683 (name ?), nlink 4, counted 3
link count mismatch for inode 477580336 (name ?), nlink 4, counted 3
link count mismatch for inode 473673741 (name ?), nlink 7, counted 8
link count mismatch for inode 514965508 (name ?), nlink 16, counted 15
link count mismatch for inode 514610208 (name ?), nlink 3, counted 4
link count mismatch for inode 514610209 (name ?), nlink 3, counted 4


If it helps, the output of xfs_repair #5 was:

Phase 1 - find and verify superblock...
Phase 2 - using internal log
        - zero log...
        - scan filesystem freespace and inode maps...
        - found root inode chunk
Phase 3 - for each AG...
        - scan and clear agi unlinked lists...
        - process known inodes and perform inode discovery...
        - agno = 0
        - agno = 1
        - agno = 2
        - agno = 3
        - agno = 4
        - agno = 5
        - agno = 6
        - agno = 7
        - agno = 8
        - agno = 9
        - agno = 10
        - agno = 11
        - agno = 12
        - agno = 13
        - agno = 14
        - agno = 15
        - process newly discovered inodes...
Phase 4 - check for duplicate blocks...
        - setting up duplicate extent list...
        - clear lost+found (if it exists) ...
        - clearing existing "lost+found" inode
        - marking entry "lost+found" to be deleted
        - check for inodes claiming duplicate blocks...
        - agno = 0
        - agno = 1
        - agno = 2
        - agno = 3
        - agno = 4
        - agno = 5
        - agno = 6
        - agno = 7
        - agno = 8
        - agno = 9
        - agno = 10
        - agno = 11
        - agno = 12
        - agno = 13
        - agno = 14
        - agno = 15
Phase 5 - rebuild AG headers and trees...
        - reset superblock...
Phase 6 - check inode connectivity...
        - resetting contents of realtime bitmap and summary inodes
        - ensuring existence of lost+found directory
        - traversing filesystem starting at / ... 
rebuilding directory inode 1024
        - traversal finished ... 
        - traversing all unattached subtrees ... 
        - traversals finished ... 
        - moving disconnected inodes to lost+found ... 
disconnected dir inode 15509532, moving to lost+found
disconnected dir inode 15509538, moving to lost+found
disconnected inode 33556494, moving to lost+found
disconnected dir inode 51346432, moving to lost+found
disconnected dir inode 51346437, moving to lost+found
disconnected inode 67238927, moving to lost+found
disconnected inode 67263492, moving to lost+found
disconnected inode 67263493, moving to lost+found
disconnected dir inode 84868125, moving to lost+found
disconnected dir inode 129571895, moving to lost+found
disconnected inode 167868474, moving to lost+found
disconnected inode 167868477, moving to lost+found
disconnected inode 167868479, moving to lost+found
disconnected inode 167869440, moving to lost+found
disconnected inode 167869442, moving to lost+found
disconnected inode 167869444, moving to lost+found
disconnected inode 167869445, moving to lost+found
disconnected inode 167869449, moving to lost+found
disconnected inode 167869454, moving to lost+found
disconnected inode 193486865, moving to lost+found
disconnected dir inode 287203344, moving to lost+found
disconnected dir inode 313303087, moving to lost+found
disconnected dir inode 349614088, moving to lost+found
disconnected dir inode 386031650, moving to lost+found
disconnected dir inode 386031670, moving to lost+found
disconnected inode 402863163, moving to lost+found
disconnected dir inode 424609813, moving to lost+found
disconnected dir inode 424609817, moving to lost+found
disconnected dir inode 424609838, moving to lost+found
disconnected dir inode 486566967, moving to lost+found
Phase 7 - verify and correct link counts...
resetting inode 47756320 nlinks from 14 to 15
resetting inode 47756332 nlinks from 14 to 15
resetting inode 47756342 nlinks from 14 to 15
resetting inode 47756345 nlinks from 40 to 43
resetting inode 47756350 nlinks from 27 to 29
resetting inode 201775157 nlinks from 14 to 15
resetting inode 201775158 nlinks from 14 to 15
resetting inode 269022216 nlinks from 9 to 10
resetting inode 269022217 nlinks from 9 to 10
resetting inode 269099015 nlinks from 9 to 10
resetting inode 269099016 nlinks from 9 to 10
resetting inode 269415486 nlinks from 9 to 10
done


<Prev in Thread] Current Thread [Next in Thread>