On Donnerstag, 1. Juli 2010 Dave Chinner wrote: > > From another Linux ("saturn"), I do an rsync via an rsync-module, > > and have already 4 Versions where the ".vhd" file of that Windows > > Backup is destroyed on "saturn". So the corruption happens when > > starting rsync @saturn, copying orion->saturn, both having XFS. > > Are you running rsync locally on saturn (i.e. pulling data)? If so, > can you get an strace of the rsync of that file so we can see what > the order or operations being done on the file is. If you are > pushing data to saturn, does the problem go away if you pull it (and > vice versa)? Oh dear, I made a mistake. It's a push @orion, doing rsync -aPvHAXy / saturn::orionbackup/ The problem is: I cannot 100% replicate it. I found the problem once, moved the dir with the broken file away and synced again. Again broken. Then I reported here. Meanwhile, Windows has done a new backup, that file doesn't seem to get broken. But with another fresh Windows backup, it came again. I don't know if it depends on the file, it happened 4 times until now. I rsynced today 3 times, twice with the openSUSE kernel and once with 2.6.34, no problem. Sorry (or maybe "lucky me"?). > > 852c268f-cf1a-11de-b09b-806e6f6e6963.vhd* ??????????? ? ? ? > > ? ? 852c2690-cf1a-11de-b09b-806e6f6e6963.vhd > > On the source machine, can you get a list of the xattrs on the > inode? How would I do that? "getfattr" on that file gives no return, does that mean it doesn't have anything to say? I never do that things, so there shouldn't be any attributes set. > > and on dmesg: > > [125903.343714] Filesystem "dm-0": corrupt inode 649642 ((a)extents > > = 5). Unmount and run xfs_repair. [125903.343735] > > ffff88011e34ca00: 49 4e 81 c0 02 02 00 00 00 00 03 e8 00 00 00 64 > > IN.............d [125903.343756] Filesystem "dm-0": XFS internal > > error xfs_iformat_extents(1) at line 558 of file > > /usr/src/packages/BUILD/kernel-desktop-2.6.31.12/linux-2.6.31/fs/xf > >s/xfs_inode.c. Caller 0xffffffffa032c0ad > > That seems like a different problem to what linda is seeing > because this is on-disk corruption. can you dump the bad inode via: > > # xfs_db -x -r -c "inode 649642" -c p <dev> Uh, that's a long output. # xfs_db -x -r -c "inode 649642" -c p /dev/swraid0/backup core.magic = 0x494e core.mode = 0100700 core.version = 2 core.format = 2 (extents) core.nlinkv2 = 1 core.onlink = 0 core.projid = 0 core.uid = 1000 core.gid = 100 core.flushiter = 4 core.atime.sec = Mon Jun 14 10:53:41 2010 core.atime.nsec = 000000000 core.mtime.sec = Sat Jun 12 03:15:57 2010 core.mtime.nsec = 000000000 core.ctime.sec = Mon Jun 14 10:53:41 2010 core.ctime.nsec = 180152802 core.size = 36569189376 core.nblocks = 8928025 core.extsize = 0 core.nextents = 5 core.naextents = 0 core.forkoff = 9 core.aformat = 1 (local) core.dmevmask = 0 core.dmstate = 0 core.newrtbm = 0 core.prealloc = 0 core.realtime = 0 core.immutable = 0 core.append = 0 core.sync = 0 core.noatime = 0 core.nodump = 0 core.rtinherit = 0 core.projinherit = 0 core.nosymlinks = 0 core.extsz = 0 core.extszinherit = 0 core.nodefrag = 0 core.filestream = 0 core.gen = 112968465 next_unlinked = null u.bmx[0-4] = [startoff,startblock,blockcount,extentflag] 0: [0,549849376,2097151,0] 1:[2097151,551946527,2097151,0] 2: [4194302,554043678,2097151,0] 3:[6291453,556140829,2097151,0] 4: [8388604,558237980,539421,0] a.sfattr.hdr.totsize = 4 a.sfattr.hdr.count = 40 a.sfattr.list[0].namelen = 35 a.sfattr.list[0].valuelen = 136 a.sfattr.list[0].root = 1 a.sfattr.list[0].secure = 0 a.sfattr.list[0].name = "\035GI_ACL_FILE\000\000\000\005\000\000\000\001\377\377\377\377\000\a\000\000\000\000\000\002\000\000\004" a.sfattr.list[0].value = "\346\000\a\000\000\000\000\000\004\377\377\377\377\000\006\000\000\000\000\000\020\377\377\377\377\000\000\000\000\000\000\000 \377\377\377\377\000\000\000\000\000IN\201\377\002\002\000\000\000\000\003\350\000\000\000d\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\002L\025\356\025\000\000\000\000L\022\337\316\000\000\000\000L\025\356\025\024\'\314\214\000\000\000\000\000\000\004\242\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\001\000\000\c\001\000\000\000\000\000\000\000\000\006\273" a.sfattr.list[1].namelen = 195 a.sfattr.list[1].valuelen = 12 a.sfattr.list[1].root = 1 a.sfattr.list[1].secure = 1 a.sfattr.list[1].name = "\377\377\377\000\000\000\000\000\000\000\000\000\006\000\000\373\340\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000S\001\000\f@\002SGI_ACL_FILE\000\000\000\005\000\000\000\001\377\377\377\377\000\a\000\000\000\000\000\002\000\000\004\346\000\a\000\000\000\000\000\004\377\377\377\377\000\a\000\000\000\000\000\020\377\377\377\377\000\a\000\000\000\000\000 \377\377\377\377\000\a\000\000\000IN\201\377\002\002\000\000\000\000\003\350\000\000\000d\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\002L\025\356\025" a.sfattr.list[1].value = "\000\000\000\000L\022\337\316\000\000\000\000" a.sfattr.list[2].namelen = 76 a.sfattr.list[2].valuelen = 21 a.sfattr.list[2].root = 1 a.sfattr.list[2].secure = 1 a.sfattr.list[2].name = "\025\024\'\314\214\000\000\000\000\000\000\0046\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\001\000\000\c\001\000\000\000\000\000\000\000\000\006\273\303\f\377\377\377\377\000\000\000\000\000\000\000\000\000\a\000\000u@\000\001\000\000\000\000\000\000\000\000\000\000\000" a.sfattr.list[2].value = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" a.sfattr.list[3].namelen = 0 a.sfattr.list[3].valuelen = 0 a.sfattr.list[3].root = 0 a.sfattr.list[3].secure = 0 a.sfattr.list[4].namelen = 0 a.sfattr.list[4].valuelen = 0 a.sfattr.list[4].root = 0 a.sfattr.list[4].secure = 0 a.sfattr.list[5].namelen = 0 a.sfattr.list[5].valuelen = 0 a.sfattr.list[5].root = 0 a.sfattr.list[5].secure = 0 a.sfattr.list[6].namelen = 0 a.sfattr.list[6].valuelen = 0 a.sfattr.list[6].root = 0 a.sfattr.list[6].secure = 0 a.sfattr.list[7].namelen = 0 a.sfattr.list[7].valuelen = 0 a.sfattr.list[7].root = 0 a.sfattr.list[7].secure = 0 a.sfattr.list[8].namelen = 0 a.sfattr.list[8].valuelen = 0 a.sfattr.list[8].root = 0 a.sfattr.list[8].secure = 0 a.sfattr.list[9].namelen = 0 a.sfattr.list[9].valuelen = 0 a.sfattr.list[9].root = 0 a.sfattr.list[9].secure = 0 a.sfattr.list[10].namelen = 0 a.sfattr.list[10].valuelen = 0 a.sfattr.list[10].root = 0 a.sfattr.list[10].secure = 0 a.sfattr.list[11].namelen = 0 a.sfattr.list[11].valuelen = 83 a.sfattr.list[11].root = 0 a.sfattr.list[11].secure = 0 a.sfattr.list[11].value = "\000\f@\002SGI_ACL_FILE\000\000\000\005\000\000\000\001\377\377\377\377\000\a\000\000\000\000\000\002\000\000\004\346\000\a\000\000\000\000\000\004\377\377\377\377\000\a\000\000\000\000\000\020\377\377\377\377\000\a\000\000\000\000\000 \377\377\377\377\000\a\000\000\000IN" a.sfattr.list[12].namelen = 129 a.sfattr.list[12].valuelen = 255 a.sfattr.list[12].root = 1 a.sfattr.list[12].secure = 0 a.sfattr.list[12].name = "\002\000\000\000\000\003\350\000\000\000d\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\002L\025\356\025\000\000\000\000L\022\337\316\000\000\000\000L\025\356\025\0247\017{\000\000\000\000\000\000$2\000\000\000\000\000\000\000\003\000\000\000\000\000\000\000\001\000\000\c\001\000\000\000\000\000\000\000\000\006\273\303\f\377\377\377\377\000\000\000\000\000\000\000\000\000\001\003\350y\240\000\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" a.sfattr.list[12].value = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000S\001\000\f@\002SGI_ACL_FILE\000\000\000\005\000\000\000\001\377\377\377\377\000\a\000\000\000\000\000\002\000\000\004\346\000\a\000\000\000\000\000\004\377\377\377\377\000\a\000\000\000\000\000\020\377\377\377\377\000\a\000\000\000\000\000 \377\377\377\377\000\a\000\000\000IN\201\377\002\002\000\000\000\000\003\350\000\000\000d\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\002L\025\356\025\000\000\000\000L\022\337\316\000\000\000\000L\025\356\025\024FR\242\000\000\000\000\000\000\031\216\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\c\001\000\000\000\000\000\000\000\000\006\273\303\f\377\377\377\377\000\000\000\000\000\000\000\000\000\002\003; \365\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" a.sfattr.list[13].namelen = 0 a.sfattr.list[13].valuelen = 0 a.sfattr.list[13].root = 0 a.sfattr.list[13].secure = 0 a.sfattr.list[14].namelen = 0 a.sfattr.list[14].valuelen = 0 a.sfattr.list[14].root = 0 a.sfattr.list[14].secure = 0 a.sfattr.list[15].namelen = 0 a.sfattr.list[15].valuelen = 0 a.sfattr.list[15].root = 0 a.sfattr.list[15].secure = 0 a.sfattr.list[16].namelen = 0 a.sfattr.list[16].valuelen = 0 a.sfattr.list[16].root = 0 a.sfattr.list[16].secure = 0 a.sfattr.list[17].namelen = 0 a.sfattr.list[17].valuelen = 0 a.sfattr.list[17].root = 0 a.sfattr.list[17].secure = 0 a.sfattr.list[18].namelen = 0 a.sfattr.list[18].valuelen = 0 a.sfattr.list[18].root = 0 a.sfattr.list[18].secure = 0 a.sfattr.list[19].namelen = 0 a.sfattr.list[19].valuelen = 0 a.sfattr.list[19].root = 0 a.sfattr.list[19].secure = 0 a.sfattr.list[20].namelen = 0 a.sfattr.list[20].valuelen = 0 a.sfattr.list[20].root = 0 a.sfattr.list[20].secure = 0 a.sfattr.list[21].namelen = 0 a.sfattr.list[21].valuelen = 0 a.sfattr.list[21].root = 0 a.sfattr.list[21].secure = 0 a.sfattr.list[22].namelen = 0 a.sfattr.list[22].valuelen = 0 a.sfattr.list[22].root = 0 a.sfattr.list[22].secure = 0 a.sfattr.list[23].namelen = 0 a.sfattr.list[23].valuelen = 0 a.sfattr.list[23].root = 0 a.sfattr.list[23].secure = 0 a.sfattr.list[24].namelen = 0 a.sfattr.list[24].valuelen = 0 a.sfattr.list[24].root = 0 a.sfattr.list[24].secure = 0 a.sfattr.list[25].namelen = 0 a.sfattr.list[25].valuelen = 0 a.sfattr.list[25].root = 0 a.sfattr.list[25].secure = 0 a.sfattr.list[26].namelen = 0 a.sfattr.list[26].valuelen = 83 a.sfattr.list[26].root = 0 a.sfattr.list[26].secure = 0 a.sfattr.list[26].value = "\000\f@\002SGI_ACL_FILE\000\000\000\005\000\000\000\001\377\377\377\377\000\a\000\000\000\000\000\002\000\000\004\346\000\a\000\000\000\000\000\004\377\377\377\377\000\a\000\000\000\000\000\020\377\377\377\377\000\a\000\000\000\000\000 \377\377\377\377\000\a\000\000\000IN" a.sfattr.list[27].namelen = 129 a.sfattr.list[27].valuelen = 255 a.sfattr.list[27].root = 1 a.sfattr.list[27].secure = 0 a.sfattr.list[27].name = "\002\000\000\000\000\003\350\000\000\000d\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\002L\025\356\025\000\000\000\000L\022\337\315\000\000\000\000L\025\356\025\024FR\242\000\000\000\000\000\000\021\234\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\c\001\000\000\000\000\000\000\000\000\006\273\303\f\377\377\377\377\000\000\000\000\000\000\000\000\000\003\003P5\200\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" a.sfattr.list[27].value = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000S\001\000\f@\002SGI_ACL_FILE\000\000\000\005\000\000\000\001\377\377\377\377\000\a\000\000\000\000\000\002\000\000\004\346\000\a\000\000\000\000\000\004\377\377\377\377\000\a\000\000\000\000\000\020\377\377\377\377\000\a\000\000\000\000\000 \377\377\377\377\000\a\000\000\000\000\000\000\000\000\000\000\000\361\017\000\000\000\000\000\000\020\360s\001\000\000\000\000\310t\251I\300\177\000\000\020\360s\001\000\000\000\000\2000t\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" a.sfattr.list[28].namelen = 0 a.sfattr.list[28].valuelen = 0 a.sfattr.list[28].root = 0 a.sfattr.list[28].secure = 0 a.sfattr.list[29].namelen = 0 a.sfattr.list[29].valuelen = 0 a.sfattr.list[29].root = 0 a.sfattr.list[29].secure = 0 a.sfattr.list[30].namelen = 0 a.sfattr.list[30].valuelen = 0 a.sfattr.list[30].root = 0 a.sfattr.list[30].secure = 0 a.sfattr.list[31].namelen = 0 a.sfattr.list[31].valuelen = 0 a.sfattr.list[31].root = 0 a.sfattr.list[31].secure = 0 a.sfattr.list[32].namelen = 0 a.sfattr.list[32].valuelen = 0 a.sfattr.list[32].root = 0 a.sfattr.list[32].secure = 0 a.sfattr.list[33].namelen = 0 a.sfattr.list[33].valuelen = 0 a.sfattr.list[33].root = 0 a.sfattr.list[33].secure = 0 a.sfattr.list[34].namelen = 0 a.sfattr.list[34].valuelen = 0 a.sfattr.list[34].root = 0 a.sfattr.list[34].secure = 0 a.sfattr.list[35].namelen = 0 a.sfattr.list[35].valuelen = 0 a.sfattr.list[35].root = 0 a.sfattr.list[35].secure = 0 a.sfattr.list[36].namelen = 0 a.sfattr.list[36].valuelen = 0 a.sfattr.list[36].root = 0 a.sfattr.list[36].secure = 0 a.sfattr.list[37].namelen = 0 a.sfattr.list[37].valuelen = 0 a.sfattr.list[37].root = 0 a.sfattr.list[37].secure = 0 a.sfattr.list[38].namelen = 0 a.sfattr.list[38].valuelen = 0 a.sfattr.list[38].root = 0 a.sfattr.list[38].secure = 0 a.sfattr.list[39].namelen = 0 a.sfattr.list[39].valuelen = 0 a.sfattr.list[39].root = 0 a.sfattr.list[39].secure = 0 > > [125903.343791] Pid: 17696, comm: ls Not tainted > > 2.6.31.12-0.2-desktop #1 > > That's getting a bit old now. It's the most actual for openSUSE 11.2, which is the actual release. Well, 11.3 should land on July 15... > This kernel does not have any of the swap extent guards we added to > avoid fsr corrupting inodes with attribute forks, and the above > corruption report and the repair output look exactly like I saw when > intentionally corrupting inodes with xfs_fsr. > > Hmmmm - do you run xfs_fsr? The errors reported and the corrutpion > above are exactly what I'd expect from the swap extent bugs we fixed > a while back.... Yes, xfs_fsdr was running. Disabled it now, and compiled and changed to kernel 2.6.34 now. Hope that's OK ;-) > I'll take a look. Thank you! -- mit freundlichen Grüssen, Michael Monnerie, Ing. BSc it-management Internet Services http://proteger.at [gesprochen: Prot-e-schee] Tel: 0660 / 415 65 31 // Wir haben im Moment zwei Häuser zu verkaufen: // http://zmi.at/langegg/ // http://zmi.at/haus2009/
Attachment:
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs