On Thu, Jan 08, 2009 at 03:46:42AM -0000, dusty@xxxxxx wrote:
> I don't know if I address the right people, but I would appreciate any help.
> I run a xfs file system ontop of a dm-crypted 3ware 8xxx controller
> powered raid-5. This worked for more than one year without any problem on
> two different computers.
> Last year I encountered an inode corruption on pc2 and after running
> xfs_repair everything seemed fine. After a short while the same error
> reappeared. I ran xfs_repair again and so on. The times the file system
> stayed stable became more and more short. So I decided to back everything
> up and run mkfs.xfs again. The System is now stable again for about 3
> Today I found again an inode corruption. But this time on the other pc
> (pc1=jasmin) that has the same setup and hardware. Currently I don't want
> to mess around with the system before anybody may have a look at what the
> problems trigger is.
> This is what I remember from the first time:
> The inode corruption was logged in the syslog the first time during a
xfs_fsr is essentially acting as a scrubber at this point, so it's
no surprise it was the first to find this.
> The filesystem is now no longer mounted and the first xfs syslog messages
> Jan 7 05:08:32 jasmin Filesystem "dm-3": corrupt inode 2971 ((a)extents =
> 4). Unmount and run xfs_repair.
> Jan 7 05:08:32 jasmin 00000000: 49 4e 81 f8 02 02 00 00 00 00 00 00 00 00
> 27 10 IN............'.
> Jan 7 05:08:32 jasmin Filesystem "dm-3": XFS internal error
> xfs_iformat_extents(1) at line 619 of file fs/xfs/xfs_inode.c. Caller
> Jan 7 05:08:32 jasmin Pid: 26656, comm: smbd Tainted: P
> 2.6.25-gentoo-r7 #1
Tainted kernel. Have you always run with binary modules?
> jasmin ~ # xfs_repair -n /dev/mapper/crypt
> Phase 1 - find and verify superblock...
> Phase 2 - using internal log
> - scan filesystem freespace and inode maps...
> - found root inode chunk
> Phase 3 - for each AG...
> - scan (but don't clear) agi unlinked lists...
> - process known inodes and perform inode discovery...
> - agno = 0
> - agno = 1
> local inode 2147909181 attr too small (size = 3, min size = 4)
> bad attribute fork in inode 2147909181, would clear attr fork
> would have cleared inode 2147909181
> jasmin ~ # xfs_db -r -c "inode 2147909181" -c "p" /dev/mapper/crypt
> core.magic = 0x494e
> core.mode = 0100770
> core.naextents = 0
> core.forkoff = 7
> core.aformat = 1 (local)
> next_unlinked = null
> u.bmx = [startoff,startblock,blockcount,extentflag] 0:[0,180758896,1517,0]
> a.sfattr.hdr.totsize = 3
> a.sfattr.hdr.count = 0
Ok, so there's an attribute fork header but no attributes.
Do you add/remove attributes (e.g. ACLs) from files?