From: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
To: linux-ext4@vger.kernel.org,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Mild filesystem corruption on ext4 (no journal)
Date: Fri, 05 Jun 2009 11:49:35 +0100 [thread overview]
Message-ID: <4A28F83F.4030704@tuffmail.co.uk> (raw)
Hi,
I run ext4 without a journal on my cheap netbook with a 4 gig SSD. I
suspect "without a journal" is significant, I don't think I'm doing
anything else strange.
When I upgrade libc from 2.7 (debian stable) to 2.9 (debian unstable),
the locale breaks every reboot, and I have to repair it by running
locale-gen. This happened now when I only upgraded libc, in order to
play with signalfd(). It also happened before, when I upgraded the
entire machine to debian unstable (which I later reverted).
The problem is that /usr/lib/locale/locale-archive gets corrupted when I
reboot. The exact corruption differs with each reboot (i.e. the md5sum
differs). Last time, the first ~70K was overwritten with data from
xorg.log and my web browsing history. I have copies of the original and
corrupted state which I can send, the full file is 1.3 megs, but I can
limit it to the first 70K, since that's all that was corrupted.
To try and rule out a faulty userspace program, I marked the file as
read-only (chmod a-w) and immutable (chattr +i). After a reboot, the
file was still read-only and immutable, yet it still became corrupted.
Also, I ran md5sum in the shutdown scripts, after mounting the root
filesystem read-only (which is also preceeded by a sync in a different
script). This showed that the file did not appear corrupted at this
point. (Though maybe it was ok in page-cache, but corrupted on-disk).
The locale-archive file is read by the libc locale routines using
mmap(). The mapping is read only and is not modified. It seems likely
that some process has it mapped when the kernel shuts down.
I tried reproducing this by writting a minimal daemon which maps a copy
of the locale-archive file, and starting it just before the filesystem
is remounted read-only. It didn't work though; this copy of the
locale-archive file remained uncorrupted.
I forced a fsck on boot, and the filesystem was reported to be clean. I
am currently running with e2fsprogs v1.41.6 (from debian unstable), and
a custom-built kernel, 2.6.30-rc7.
Thanks in advance!
Alan
next reply other threads:[~2009-06-05 10:48 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-05 10:49 Alan Jenkins [this message]
2009-06-05 14:40 ` Mild filesystem corruption on ext4 (no journal) Aioanei Rares
2009-06-05 14:49 ` Alan Jenkins
2009-06-05 15:20 ` Eric Sandeen
2009-06-05 16:43 ` Alan Jenkins
2009-06-05 16:51 ` Kay Sievers
2009-06-05 21:42 ` Alan Jenkins
2009-06-06 4:17 ` Henrique de Moraes Holschuh
2009-06-05 18:12 ` Eric Sandeen
2009-06-05 21:32 ` Alan Jenkins
2009-06-05 22:02 ` Eric Sandeen
2009-06-05 18:01 ` Theodore Tso
2009-06-05 21:34 ` Alan Jenkins
2009-06-05 21:42 ` Curt Wohlgemuth
2009-06-09 4:15 ` Michael Rubin
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=4A28F83F.4030704@tuffmail.co.uk \
--to=alan-jenkins@tuffmail.co.uk \
--cc=linux-ext4@vger.kernel.org \
--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