On 2013.07.10 at 23:12 -0500, Stan Hoeppner wrote: > On 7/10/2013 10:58 PM, Dave Chinner wrote: > > On Thu, Jul 11, 2013 at 05:36:21AM +0200, Markus Trippelsdorf wrote: > > >> I was loosing my KDE settings bit by bit with every reboot during the > >> bisection. First my window-rules disappeared, then my desktop background > >> changed to default, then my taskbar moved from top to the bottom, etc. > >> In the end I had to restore all my .files from backup. > > > > That's not filesystem corruption. That sounds more like someone not > > using fsync in the apropriate place when overwriting a file.... > > From Sandeen's blog, March 2009: > > "I dunno how to resolve this right now. I talked to some nice KDE folks > on irc; they basically want atomic writes, either you get your old file > or your new file post-crash; and tempfile/sync/rename does this – but > the fsync hurts on 78% of the Linux filesystems out there. So their > KSaveFile class doesn’t fsync. So what to do, what to do.." > > That's 4 years ago. Is it possible the KDE devs are still not using > fsync? Sure seems likely given Markus' problem. Looking at the source: http://api.kde.org/4.10-api/kdelibs-apidocs/kdecore/html/ksavefile_8cpp_source.html#l00219 it appears that one can set an environment variable KDE_EXTRA_FSYNC to address this issue. However in my case it doesn't help. Even with KDE_EXTRA_FSYNC=1 I still loose my KDE settings in case of a crash. So the whole fsync thing might be a red herring. What's more this time I endend up with undeletable files in /tmp (for example .X0-lock) after the crash: (/dev/sdb was mounted and unmounted normally before I ran xfs_repair) t@ubunt:~# xfs_repair /dev/sdb Phase 1 - find and verify superblock... Phase 2 - using internal log - zero log... - scan filesystem freespace and inode maps... agi unlinked bucket 0 is 683435008 in ag 2 (inode=4978402304) agi unlinked bucket 1 is 683435009 in ag 2 (inode=4978402305) - found root inode chunk Phase 3 - for each AG... - scan and clear agi unlinked lists... - process known inodes and perform inode discovery... - agno = 0 imap claims a free inode 1897177 is in use, correcting imap and clearing inode cleared inode 1897177 imap claims a free inode 1897179 is in use, correcting imap and clearing inode cleared inode 1897179 imap claims a free inode 1897180 is in use, correcting imap and clearing inode cleared inode 1897180 imap claims a free inode 1897181 is in use, correcting imap and clearing inode cleared inode 1897181 - agno = 1 imap claims a free inode 2152321787 is in use, correcting imap and clearing inode cleared inode 2152321787 imap claims a free inode 2152321789 is in use, correcting imap and clearing inode cleared inode 2152321789 imap claims a free inode 2152321790 is in use, correcting imap and clearing inode cleared inode 2152321790 imap claims a free inode 2152321792 is in use, correcting imap and clearing inode cleared inode 2152321792 7f8fdbde0700: Badness in key lookup (length) bp=(bno 1806856096, len 16384 bytes) key=(bno 1806856096, len 8192 bytes) imap claims a free inode 2547803922 is in use, correcting imap and clearing inode cleared inode 2547803922 - agno = 2 imap claims a free inode 4297828992 is in use, correcting imap and clearing inode cleared inode 4297828992 imap claims a free inode 4297828996 is in use, correcting imap and clearing inode cleared inode 4297828996 imap claims a free inode 4298016921 is in use, correcting imap and clearing inode cleared inode 4298016921 imap claims a free inode 4299215923 is in use, correcting imap and clearing inode cleared inode 4299215923 imap claims a free inode 4299249355 is in use, correcting imap and clearing inode cleared inode 4299249355 imap claims a free inode 4299249356 is in use, correcting imap and clearing inode cleared inode 4299249356 imap claims a free inode 4425478382 is in use, correcting imap and clearing inode cleared inode 4425478382 imap claims a free inode 4425843325 is in use, correcting imap and clearing inode cleared inode 4425843325 imap claims a free inode 4425843327 is in use, correcting imap and clearing inode cleared inode 4425843327 - agno = 3 imap claims a free inode 6442719595 is in use, correcting imap and clearing inode cleared inode 6442719595 imap claims a free inode 6443102082 is in use, correcting imap and clearing inode cleared inode 6443102082 imap claims a free inode 6443102083 is in use, correcting imap and clearing inode cleared inode 6443102083 imap claims a free inode 6443102093 is in use, correcting imap and clearing inode cleared inode 6443102093 imap claims a free inode 6443102105 is in use, correcting imap and clearing inode cleared inode 6443102105 imap claims a free inode 6443102106 is in use, correcting imap and clearing inode cleared inode 6443102106 - process newly discovered inodes... Phase 4 - check for duplicate blocks... - setting up duplicate extent list... - check for inodes claiming duplicate blocks... - agno = 0 - agno = 3 - agno = 2 - agno = 1 entry "fcron.pid" at block 0 offset 1448 in directory inode 4297829059 references free inode 4297828992 clearing inode number in entry at offset 1448... entry "fcron.fifo" at block 0 offset 1472 in directory inode 4297829059 references free inode 4297828996 clearing inode number in entry at offset 1472... entry "syslog-ng.pid" at block 0 offset 1496 in directory inode 4297829059 references free inode 4425843325 clearing inode number in entry at offset 1496... entry "squid.pid" at block 0 offset 1544 in directory inode 4297829059 references free inode 4425843327 clearing inode number in entry at offset 1544... entry "KSMserver__0" in shortform directory 1897175 references free inode 4393990 junking entry "KSMserver__0" in directory inode 1897175 entry "syslog-ng.persist" in shortform directory 6455045890 references free inode 6442719595 junking entry "syslog-ng.persist" in directory inode 6455045890 corrected i8 count in directory 6455045890, was 5, now 4 entry "blkid.tab" in shortform directory 2526452945 references free inode 2547803923 junking entry "blkid.tab" in directory inode 2526452945 entry "watch" in shortform directory 2526452947 references free inode 1897177 junking entry "watch" in directory inode 2526452947 entry "+pci:0000:00:00.0" at block 0 offset 2056 in directory inode 6814850679 references free inode 6443102082 clearing inode number in entry at offset 2056... entry "+pci:0000:00:06.0" at block 0 offset 2200 in directory inode 6814850679 references free inode 6443102105 clearing inode number in entry at offset 2200... entry "+pci:0000:00:11.0" at block 0 offset 2272 in directory inode 6814850679 references free inode 6443102093 clearing inode number in entry at offset 2272... entry "+pci:0000:00:12.1" at block 0 offset 2416 in directory inode 6814850679 references free inode 6443102083 clearing inode number in entry at offset 2416... entry "+pci:0000:00:13.2" at block 0 offset 2704 in directory inode 6814850679 references free inode 6443102106 clearing inode number in entry at offset 2704... entry "303" in shortform directory 2684075842 references free inode 2152321790 junking entry "303" in directory inode 2684075842 entry ".X0-lock" at block 0 offset 120 in directory inode 2684075878 references free inode 2152321787 clearing inode number in entry at offset 120... entry "orbit-markus" at block 0 offset 224 in directory inode 2684075878 references free inode 4299249355 clearing inode number in entry at offset 224... entry "OSL_PIPE_1000_SingleOfficeIPC_b9c45eb0c44ccbd12ea27aa1b043919f" at block 0 offset 248 in directory inode 2684075878 references free inode 2152321792 clearing inode number in entry at offset 248... Phase 5 - rebuild AG headers and trees... - reset superblock... Phase 6 - check inode connectivity... - resetting contents of realtime bitmap and summary inodes - traversing filesystem ... entry "queue.bin" in directory inode 2526452947 references already connected inode 2152321794. -- Markus _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs