Ah! The *second* xfs_repair run ended in a segfault....
(xfs_repair version 2.6.36, debian package xfsprogs 2.6.36-1)
I'm trying a third...
# xfs_repair /dev/md4
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
imap claims a free inode 129571903 is in use, correcting imap and clearing inode
cleared inode 129571903
- agno = 4
- agno = 5
- agno = 6
- agno = 7
- agno = 8
- agno = 9
no .. entry for directory 313303087
- agno = 10
- agno = 11
no .. entry for directory 386031650
mismatch between format (2) and size (0) in directory ino 386031671
cleared inode 386031671
- agno = 12
entry "/." at block 0 offset 32 in directory inode 424609817 references invalid
inode 18374686479671623679
clearing inode number in entry at offset 32...
entry at block 0 offset 32 in directory inode 424609817 has illegal name "/.":
no .. entry for directory 424609817
entry "/." at block 0 offset 32 in directory inode 424609838 references invalid
inode 18374686479671623679
clearing inode number in entry at offset 32...
entry at block 0 offset 32 in directory inode 424609838 has illegal name "/.":
entry "/alpha" at block 0 offset 72 in directory inode 424609838 references
invalid inode 18374686479671623679
clearing inode number in entry at offset 72...
entry at block 0 offset 72 in directory inode 424609838 has illegal name
"/alpha": entry "/arm" at block 0 offset 112 in directory inode 424609838
references invalid inode 18374686479671623679
clearing inode number in entry at offset 112...
entry at block 0 offset 112 in directory inode 424609838 has illegal name
"/arm": entry "/c4x" at block 0 offset 144 in directory inode 424609838
references invalid inode 18374686479671623679
clearing inode number in entry at offset 144...
entry at block 0 offset 144 in directory inode 424609838 has illegal name
"/c4x": entry "/frv" at block 0 offset 648 in directory inode 424609838
references invalid inode 18374686479671623679
clearing inode number in entry at offset 648...
entry at block 0 offset 648 in directory inode 424609838 has illegal name
"/frv": entry "/i386" at block 0 offset 752 in directory inode 424609838
references invalid inode 18374686479671623679
clearing inode number in entry at offset 752...
entry at block 0 offset 752 in directory inode 424609838 has illegal name
"/i386": no .. entry for directory 424609838
- 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
no .. entry for directory 313303087
- agno = 10
- agno = 11
- agno = 12
no .. entry for directory 424609817
entry "fcris" at block 0 offset 184 in directory inode 424609838 references
free inode 129571903
clearing inode number in entry at offset 184...
entry "fh8300" at block 0 offset 712 in directory inode 424609838 references
free inode 386031671
clearing inode number in entry at offset 712...
no .. entry for directory 424609838
- 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 ...
rebuilding directory inode 424609817
rebuilding directory inode 424609838
corrupt block 0 in directory inode 424609839: junking block
Segmentation fault
Run number 3 actually finished...
# xfs_repair /dev/md4
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
no .. entry for directory 313303087
- agno = 10
- agno = 11
no .. entry for directory 386031650
- agno = 12
no .. entry for directory 424609817
no .. entry for directory 424609838
mismatch between format (2) and size (0) in directory ino 424609839
cleared inode 424609839
- 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
no .. entry for directory 313303087
- agno = 10
[missed some here]
resetting inode 278955071 nlinks from 9 to 8
resetting inode 278958082 nlinks from 9 to 8
resetting inode 278958083 nlinks from 7 to 6
resetting inode 278958084 nlinks from 7 to 6
resetting inode 278958085 nlinks from 7 to 6
resetting inode 278958086 nlinks from 7 to 6
resetting inode 278958087 nlinks from 7 to 6
[...]
resetting inode 515270696 nlinks from 5 to 6
resetting inode 515270697 nlinks from 3 to 4
resetting inode 515270710 nlinks from 3 to 4
resetting inode 523361301 nlinks from 17 to 16
done
|