linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: bugzilla-daemon@bugzilla.kernel.org
To: linux-ext4@vger.kernel.org
Subject: [Bug 14354] Bad corruption with 2.6.32-rc1 and upwards
Date: Tue, 27 Oct 2009 21:23:34 GMT	[thread overview]
Message-ID: <200910272123.n9RLNYiC022274@demeter.kernel.org> (raw)
In-Reply-To: <bug-14354-13602@http.bugzilla.kernel.org/>

http://bugzilla.kernel.org/show_bug.cgi?id=14354





--- Comment #134 from Linus Torvalds <torvalds@linux-foundation.org>  2009-10-27 21:23:33 ---
On Tue, 27 Oct 2009, in comment #132 from Eric Sandeen <sandeen@redhat.com>
wrote:
> 
> Perhaps more strange, doing the same test on a non-root fs under 2.6.32 also
> doesn't seem to hit it reliably.  Could it be something about the remount,ro
> flush of the root fs on the way down?
> 
> Suspecting that possibly "mount -o ro; e2fsck -a /dev/root" during bootup was
> causing problems by writing to the mounted fs, I short-circuited the boot-time
> fsck -a; things were still badly corrupted so that doesn't seem to be it.

It certainly isn't about the 'remount,ro' on the way down, since that's 
the part you avoid entirely in a non-clean shutdown.

But it could easily be something special about mounting the root 
filesystem, together with bad interaction with 'fsck'. 

Non-root filesystems will be fsck'd _before_ being mounted, but the root 
filesystem will be fsck'd _after_ the mount.

If the initial root ro-mount causes the filesystem recovery, and fsck then 
screws things up, then "root filesystem is special" might well trigger. It 
might explain why Ted and others are unable to re-create this - maybe they 
are being careful, and do ext4 testing with a non-ext4 root? 

Example issues that are exclusive to the root filesystem and would never 
be an issue on any other filesystem (exactly due to the "mount ro first, 
fsck later" behavior of root):

 - flaky in-kernel recovery code might trash more than it fixes, and would 
   never trigger for the "fsck first" case because fsck would already have 
   done it.

 - flaky user-mode fsck doesn't understand that the kernel already did 
   recovery, and re-does it.

 - virtually indexed caches might be loaded by the mount, and when you do 
   fsck later, the fsck writes back through the physically indexed direct 
   device. So the mounted root filesystem may never see those changes, 
   even after you re-mount it 'rw'.

 - even if every filesystem cache is physically indexed (ie using the 
   buffer cache rather page cache), there may be various cached values 
   that the kernel keeps around in separate caches, like the superblock 
   compatibility bits, free block counts, etc. fsck might change them, but 
   does 'remount,rw' always re-read them?

None of the four cases above are issues for a filesystem that isn't 
mounted before fsck runs.

            Linus

-- 
Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.

  parent reply	other threads:[~2009-10-27 21:23 UTC|newest]

Thread overview: 208+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-09 15:42 [Bug 14354] New: Bad corruption with 2.6.32-rc1 and upwards bugzilla-daemon
2009-10-09 15:51 ` [Bug 14354] " bugzilla-daemon
2009-10-09 16:06 ` bugzilla-daemon
2009-10-09 16:44 ` bugzilla-daemon
2009-10-09 16:50 ` bugzilla-daemon
2009-10-09 22:35 ` bugzilla-daemon
2009-10-10  7:32 ` bugzilla-daemon
2009-10-10 16:48 ` bugzilla-daemon
2009-10-10 16:50 ` bugzilla-daemon
2009-10-10 17:00 ` bugzilla-daemon
2009-10-10 17:04 ` bugzilla-daemon
2009-10-10 19:54 ` bugzilla-daemon
2009-10-11  1:26 ` bugzilla-daemon
2009-10-11  2:03 ` bugzilla-daemon
2009-10-11 12:31 ` bugzilla-daemon
2009-10-11 19:07 ` bugzilla-daemon
2009-10-11 21:45 ` bugzilla-daemon
2009-10-11 23:01 ` bugzilla-daemon
2009-10-12  0:02 ` bugzilla-daemon
2009-10-12  2:18 ` bugzilla-daemon
2009-10-12  2:24 ` bugzilla-daemon
2009-10-12  7:54 ` bugzilla-daemon
2009-10-12  7:56 ` bugzilla-daemon
2009-10-12  7:57 ` bugzilla-daemon
2009-10-12 15:24 ` bugzilla-daemon
2009-10-12 15:27 ` [Bug 14354] New: " Aneesh Kumar K.V
2009-10-12 15:27 ` [Bug 14354] " bugzilla-daemon
2009-10-12 18:15 ` bugzilla-daemon
2009-10-12 18:29 ` bugzilla-daemon
2009-10-12 21:41 ` bugzilla-daemon
2009-10-12 21:50 ` bugzilla-daemon
2009-10-13  0:18 ` bugzilla-daemon
2009-10-13  8:00 ` bugzilla-daemon
2009-10-13  8:02 ` bugzilla-daemon
2009-10-13  8:47 ` bugzilla-daemon
2009-10-13 13:16 ` bugzilla-daemon
2009-10-13 14:50 ` bugzilla-daemon
2009-10-13 15:12 ` bugzilla-daemon
2009-10-13 20:17 ` bugzilla-daemon
2009-10-13 20:28 ` bugzilla-daemon
2009-10-13 20:55 ` bugzilla-daemon
2009-10-13 21:10 ` bugzilla-daemon
2009-10-13 22:02 ` bugzilla-daemon
2009-10-14  0:45 ` bugzilla-daemon
2009-10-14  0:48 ` bugzilla-daemon
2009-10-14  2:31 ` bugzilla-daemon
2009-10-14  3:17 ` bugzilla-daemon
2009-10-14  3:26 ` bugzilla-daemon
2009-10-14  9:31 ` bugzilla-daemon
2009-10-14 13:21 ` bugzilla-daemon
2009-10-14 13:36 ` bugzilla-daemon
2009-10-14 22:08 ` bugzilla-daemon
2009-10-14 22:09 ` bugzilla-daemon
2009-10-14 22:11 ` bugzilla-daemon
2009-10-15  4:24 ` bugzilla-daemon
2009-10-15  7:11 ` bugzilla-daemon
2009-10-15 15:07 ` bugzilla-daemon
2009-10-15 17:58 ` bugzilla-daemon
2009-10-15 18:30 ` bugzilla-daemon
2009-10-15 19:10 ` bugzilla-daemon
2009-10-15 23:40 ` bugzilla-daemon
2009-10-16  9:16 ` bugzilla-daemon
2009-10-16 10:48 ` bugzilla-daemon
2009-10-16 14:13 ` bugzilla-daemon
2009-10-16 14:41 ` bugzilla-daemon
2009-10-16 15:27 ` bugzilla-daemon
2009-10-16 19:14 ` bugzilla-daemon
2009-10-16 19:39 ` bugzilla-daemon
2009-10-16 20:05 ` bugzilla-daemon
2009-10-16 20:07 ` bugzilla-daemon
2009-10-16 22:24 ` bugzilla-daemon
2009-10-16 23:02 ` bugzilla-daemon
2009-10-17  2:27 ` bugzilla-daemon
2009-10-17  6:01 ` bugzilla-daemon
2009-10-17  6:03 ` bugzilla-daemon
2009-10-17  6:12 ` bugzilla-daemon
2009-10-17  6:38 ` bugzilla-daemon
2009-10-17  6:38 ` bugzilla-daemon
2009-10-17  6:43 ` bugzilla-daemon
2009-10-17  8:18 ` bugzilla-daemon
2009-10-17 10:51 ` bugzilla-daemon
2009-10-17 11:37 ` bugzilla-daemon
2009-10-17 14:37 ` bugzilla-daemon
2009-10-17 14:40 ` bugzilla-daemon
2009-10-17 15:23 ` bugzilla-daemon
2009-10-17 17:46 ` bugzilla-daemon
2009-10-17 19:57 ` bugzilla-daemon
2009-10-17 20:54 ` bugzilla-daemon
2009-10-17 20:59 ` bugzilla-daemon
2009-10-18  0:02 ` bugzilla-daemon
2009-10-18  0:03 ` bugzilla-daemon
2009-10-18  0:04 ` bugzilla-daemon
2009-10-18  0:04 ` bugzilla-daemon
2009-10-18  0:05 ` bugzilla-daemon
2009-10-18  0:05 ` bugzilla-daemon
2009-10-18  0:07 ` bugzilla-daemon
2009-10-18  0:07 ` bugzilla-daemon
2009-10-18  0:07 ` bugzilla-daemon
2009-10-18  7:44 ` bugzilla-daemon
2009-10-18 10:06 ` bugzilla-daemon
2009-10-18 11:23 ` bugzilla-daemon
2009-10-18 11:25 ` bugzilla-daemon
2009-10-18 11:57 ` bugzilla-daemon
2009-10-19 21:07 ` bugzilla-daemon
2009-10-19 21:08 ` bugzilla-daemon
2009-10-20 17:28 ` bugzilla-daemon
2009-10-20 20:21 ` bugzilla-daemon
2009-10-21  0:53 ` bugzilla-daemon
2009-10-21  0:57 ` bugzilla-daemon
2009-10-21  5:55 ` bugzilla-daemon
2009-10-21  9:05 ` bugzilla-daemon
2009-10-21  9:06 ` bugzilla-daemon
2009-10-22 18:43 ` bugzilla-daemon
2009-10-22 19:06 ` bugzilla-daemon
2009-10-22 19:22 ` bugzilla-daemon
2009-10-22 19:29 ` bugzilla-daemon
2009-10-22 19:37 ` bugzilla-daemon
2009-10-22 21:58 ` bugzilla-daemon
2009-10-22 22:24 ` bugzilla-daemon
2009-10-23  4:30 ` bugzilla-daemon
2009-10-23  7:45 ` bugzilla-daemon
2009-10-24 17:04 ` bugzilla-daemon
2009-10-24 17:05 ` bugzilla-daemon
2009-10-25  8:58 ` bugzilla-daemon
2009-10-25 13:59 ` bugzilla-daemon
2009-10-25 14:01 ` bugzilla-daemon
2009-10-25 19:04 ` bugzilla-daemon
2009-10-26 13:46 ` bugzilla-daemon
2009-10-26 15:42 ` bugzilla-daemon
2009-10-26 16:17 ` bugzilla-daemon
2009-10-26 19:13 ` bugzilla-daemon
2009-10-26 21:46 ` bugzilla-daemon
2009-10-26 22:40 ` bugzilla-daemon
2009-10-27  6:54   ` Aneesh Kumar K.V
2009-10-27  6:39 ` bugzilla-daemon
2009-10-27 10:00 ` bugzilla-daemon
2009-10-27 10:38 ` bugzilla-daemon
2009-10-27 11:03   ` Aneesh Kumar K.V
2009-10-27 10:48 ` bugzilla-daemon
2009-10-27 11:47 ` bugzilla-daemon
2009-10-27 12:41 ` bugzilla-daemon
2009-10-27 13:02 ` bugzilla-daemon
2009-10-27 18:50 ` bugzilla-daemon
2009-10-27 19:00 ` bugzilla-daemon
2009-10-27 20:00 ` bugzilla-daemon
2009-10-27 20:31 ` bugzilla-daemon
2009-10-27 20:37 ` bugzilla-daemon
2009-10-27 21:23 ` bugzilla-daemon [this message]
2009-10-27 21:42 ` bugzilla-daemon
2009-10-27 22:04 ` bugzilla-daemon
2009-10-27 23:38 ` bugzilla-daemon
2009-10-28  6:44 ` bugzilla-daemon
2009-10-28  7:20 ` bugzilla-daemon
2009-10-29 16:23 ` bugzilla-daemon
2009-10-29 16:47 ` bugzilla-daemon
2009-10-29 17:34 ` bugzilla-daemon
2009-10-29 20:11 ` bugzilla-daemon
2009-10-29 21:25 ` bugzilla-daemon
2009-10-29 21:39 ` bugzilla-daemon
2009-10-29 21:42 ` bugzilla-daemon
2009-10-29 21:52 ` bugzilla-daemon
2009-10-29 21:55 ` bugzilla-daemon
2009-10-29 22:20 ` bugzilla-daemon
2009-10-29 22:23 ` bugzilla-daemon
2009-10-30  8:16 ` bugzilla-daemon
2009-10-30  8:22 ` bugzilla-daemon
2009-10-30 10:26 ` bugzilla-daemon
2009-10-30 10:42 ` bugzilla-daemon
2009-10-30 13:54 ` bugzilla-daemon
2009-10-30 16:27 ` bugzilla-daemon
2009-10-30 18:05 ` bugzilla-daemon
2009-10-30 19:17 ` bugzilla-daemon
2009-10-30 19:22 ` bugzilla-daemon
2009-10-30 19:56 ` bugzilla-daemon
2009-10-31  9:15 ` bugzilla-daemon
2009-10-31 15:26 ` bugzilla-daemon
2009-10-31 16:16 ` bugzilla-daemon
2009-10-31 19:15 ` bugzilla-daemon
2009-10-31 19:56 ` bugzilla-daemon
2009-11-02  4:07 ` bugzilla-daemon
2009-11-02 17:05 ` bugzilla-daemon
2009-11-02 23:11 ` bugzilla-daemon
2009-11-03  1:07 ` bugzilla-daemon
2009-11-03  9:33 ` bugzilla-daemon
2009-11-03 13:37 ` bugzilla-daemon
2009-11-03 13:43 ` bugzilla-daemon
2009-11-03 13:58 ` bugzilla-daemon
2009-11-03 14:32 ` bugzilla-daemon
2009-11-03 23:39 ` bugzilla-daemon
2009-11-03 23:43 ` bugzilla-daemon
2009-11-04  3:33 ` bugzilla-daemon
2009-11-06 20:49 ` bugzilla-daemon
2009-11-06 22:07 ` bugzilla-daemon
2009-11-08 18:12   ` Christoph Hellwig
2009-11-08 19:12   ` Theodore Tso
2009-11-06 22:15 ` bugzilla-daemon
2009-11-06 22:26 ` bugzilla-daemon
2009-11-08 18:12 ` bugzilla-daemon
2009-11-08 19:12 ` bugzilla-daemon
2009-11-08 21:05 ` bugzilla-daemon
2009-11-08 21:12   ` Theodore Tso
2009-11-08 21:12 ` bugzilla-daemon
2009-11-09 14:54 ` bugzilla-daemon
2009-11-16 22:30 ` bugzilla-daemon
2009-11-16 22:30 ` bugzilla-daemon
2009-11-17 22:20 ` bugzilla-daemon
2009-11-17 22:21 ` bugzilla-daemon
2009-11-17 22:22 ` bugzilla-daemon

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=200910272123.n9RLNYiC022274@demeter.kernel.org \
    --to=bugzilla-daemon@bugzilla.kernel.org \
    --cc=linux-ext4@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;
as well as URLs for NNTP newsgroup(s).