From: Andrew Morton <akpm@zip.com.au>
To: Daniel Pittman <daniel@rimspace.net>
Cc: linux-kernel@vger.kernel.org
Subject: Re: 2.5.12 severe ext3 filesystem corruption warning!
Date: Thu, 02 May 2002 16:00:27 -0700 [thread overview]
Message-ID: <3CD1C50B.1DB3DBA2@zip.com.au> (raw)
In-Reply-To: <87u1pqln4h.fsf@enki.rimspace.net> <3CD191C5.AC09B1F4@zip.com.au> <87znzi18hn.fsf@enki.rimspace.net>
Daniel, this is good stuff. Thanks.
Daniel Pittman wrote:
>
> ...
>
> Not quite. I found the corruption in three places:
>
> * my XEmacs and Gnus mail spool.
> * gkrellm configuration files.
> * galeon/mozilla bookmarks and preferences.
So all of those files were written to by their application
during the failed session.
Question on the table is: did the kernel write the wrong
stuff into those files, or did it forget to write the
right stuff?
Is the incorrect content within those files recognisable
at all? If so, what is it?
> XEmacs uses the mode (O_WRONLY | O_TRUNC) when it writes out files, so
> everything that was written there would have been truncated before
> output. There shouldn't have been any mmap() of the files, though.
>
> It's also worth noting that XEmacs would fsync() the file handle after
> writing the content, for what that's worth.
>
> I found corruption in the galeon bookmarks file, which seemed to start
> writing XML half way through the actual data and to add a block of
> around 2K NULL bytes half way through the content.
>
> I also found corruption in the mozilla prefs.js file from the same
> application[1]. That was simply a truncated file -- no NULL bytes or
> anything, just a file that cut off half way through a single expression
> like:
>
> user_pref("wallet.capture
>
> This /may/ be the logical break between two write(2) calls or a partly
> completed write, though.
That sounds like metadata corruption. Are you sure that
the file doesn't have a chunk of invisible nulls in it,
after the text? Because if it got chopped off in this
manner, e2fsck should have detected something.
> > And no, it doesn't promise anything good - last time we had crap in
> > truncate/mmap interaction it was a hell to fix.
> >
> > I suspect that you had screwed the truncate exclusion warranties up.
> > If _any_ IO happens in the area currently manipulated by ->truncate()
> > - you are screwed and results would look pretty much like the things
> > mentioned in bug report.
>
> Ick. Er, good luck. I am quite happy to provide more information and
> even to install a scratch disk and try to get it to fail the same way if
> you wish.
It would be good if you had the time to do that.
-
next prev parent reply other threads:[~2002-05-02 23:01 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-05-02 13:01 2.5.12 severe ext3 filesystem corruption warning! Daniel Pittman
2002-05-02 19:21 ` Andrew Morton
2002-05-02 19:34 ` Alexander Viro
2002-05-02 20:34 ` Andrew Morton
2002-05-02 22:39 ` Daniel Pittman
2002-05-02 22:37 ` Daniel Pittman
2002-05-02 23:00 ` Andrew Morton [this message]
2002-05-03 0:02 ` Daniel Pittman
-- strict thread matches above, loose matches on Subject: below --
2002-05-02 21:40 Andries.Brouwer
2002-05-02 20:50 ` Martin Dalecki
2002-05-02 21:58 ` Andrew Morton
2002-05-02 22:57 ` Daniel Pittman
2002-05-04 5:26 ` Milton Miller
2002-05-04 5:46 ` Andrew Morton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3CD1C50B.1DB3DBA2@zip.com.au \
--to=akpm@zip.com.au \
--cc=daniel@rimspace.net \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox