xfs
[Top] [All Lists]

Re: Corruption of root fs during git bisect of drm system hang

To: Stan Hoeppner <stan@xxxxxxxxxxxxxxxxx>
Subject: Re: Corruption of root fs during git bisect of drm system hang
From: Markus Trippelsdorf <markus@xxxxxxxxxxxxxxx>
Date: Thu, 11 Jul 2013 11:07:55 +0200
Cc: Dave Chinner <david@xxxxxxxxxxxxx>, xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
Dkim-signature: v=1; a=rsa-sha256; c=simple; d=mail.ud10.udmedia.de; h= date:from:to:cc:subject:message-id:references:mime-version :content-type:content-transfer-encoding:in-reply-to; s=beta; bh= DyReRLGZtiAFwMSddFDVulPmhXWwv92VAkHrP62zB00=; b=bEngSNoEZx5lWEIV hl2xChSgko5NZ1vTcz7sJxiaNIOe6u45cNFcsB8M/79eDRcbo/C7NxshreHTk6s4 gQEFAT/ePwl2BU8LOIslqPu/eXa9987rFBcJBjq9WdDdFcF83cFb49ymoZ9Pgh4X rTGIamfOIkmzvmgTVPOY4Uf5F10=
In-reply-to: <51DE30BC.1050905@xxxxxxxxxxxxxxxxx>
References: <20130710090634.GA356@x4> <20130711003122.GR3438@dastard> <20130711033621.GB362@x4> <20130711035827.GA3438@dastard> <51DE30BC.1050905@xxxxxxxxxxxxxxxxx>
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

<Prev in Thread] Current Thread [Next in Thread>