Hi all, I recently had a filesystem stop, and went through the usual umount, mount, umount, xfs_repair path. xfs_repair didn't find any errors, but I noticed that I was still getting some strange issues where a file in a directory didn't have an inode and was resulting in IO errors. Thinking to address the problem later, I moved the directory to a different location on the filesystem so that future backups could proceed normally. Later, in an attempt to collect log errors, I re-ran xfs_repair on the filesystem. It then found errors and corrected them, and on remount, I found that the directory in question was repaired and no longer had a file entry with no inode. (So I can't reproduce that output; I didn't save it, thinking that the second xfs_repair wouldn't fix the issue, and I'd generate it again before posting.) Has anyone else seen a situation where xfs_repair misses a filesystem problem, but then finds it if a file or directory is moved? And more generally, is there a way to use xfs_db or similar to try to find other inodes that might be causing similar problems? In case it's helpful, the last xfs_repair stderr is below. Unfortunately I didn't save the initial xfs_repair logs, but from what I remember (which could be inaccurate, I admit) I did not see any errors. FWIW, 8495309 was the inode of the directory that was reporting the file with no inode before the successful xfs_repair. --keith 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 correcting nblocks for inode 14653773, was 18446744073709486338 - counted 1 data fork in ino 14653803 claims free block 1654114652 data fork in ino 14653833 claims free block 1654114653 - agno = 1 correcting nblocks for inode 2161878797, was 72057594037927936 - counted 0 - 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 - agno = 16 - agno = 17 - agno = 18 - agno = 19 - agno = 20 - agno = 21 - agno = 22 - agno = 23 - agno = 24 - agno = 25 - agno = 26 - agno = 27 - agno = 28 - agno = 29 - agno = 30 - agno = 31 - agno = 32 - agno = 33 - agno = 34 - agno = 35 - agno = 36 - agno = 37 - agno = 38 - agno = 39 - process newly discovered inodes... Phase 4 - check for duplicate blocks... - setting up duplicate extent list... - 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 - agno = 16 - agno = 17 - agno = 18 - agno = 19 - agno = 20 - agno = 21 - agno = 22 - agno = 23 - agno = 24 - agno = 25 - agno = 26 - agno = 27 - agno = 28 - agno = 29 - agno = 30 - agno = 31 - agno = 32 - agno = 33 - agno = 34 - agno = 35 - agno = 36 - agno = 37 - agno = 38 - agno = 39 Phase 5 - rebuild AG headers and trees... - reset superblock... Phase 6 - check inode connectivity... - resetting contents of realtime bitmap and summary inodes - traversing filesystem ... bad hash table for directory inode 8495309 (hash value mismatch): rebuilding rebuilding directory inode 8495309 - traversal finished ... - moving disconnected inodes to lost+found ... Phase 7 - verify and correct link counts... resetting inode 9161151 nlinks from 10 to 9 resetting inode 9161407 nlinks from 8 to 9 Note - quota info will be regenerated on next quota mount. done -- kkeller@xxxxxxxxxxxxxxxxxxxxxxxxxx _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs