linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Chris Mason <chris.mason@oracle.com>
To: Matt <jackdachef@gmail.com>
Cc: Mike Snitzer <snitzer@redhat.com>, Milan Broz <mbroz@redhat.com>,
	Andi Kleen <andi@firstfloor.org>,
	linux-btrfs <linux-btrfs@vger.kernel.org>,
	dm-devel <dm-devel@redhat.com>,
	Linux Kernel <linux-kernel@vger.kernel.org>,
	htd <htd@fancy-poultry.org>,
	htejun@gmail.com, linux-ext4@vger.kernel.org,
	Jon Nelson <jnelson@jamponi.net>
Subject: Re: hunt for 2.6.37 dm-crypt+ext4 corruption? (was: Re: dm-crypt barrier support is effective)
Date: Tue, 7 Dec 2010 09:21:45 -0500	[thread overview]
Message-ID: <20101207142145.GA27861@think> (raw)
In-Reply-To: <AANLkTin3A_ySn_sZQPqZMn-NORnteQZwTVVSiW_=r3sO@mail.gmail.com>

On Sun, Dec 05, 2010 at 12:47:11AM +0100, Matt wrote:
> > OK.
> 
> meanwhile I think I got some interesting news:
> 
> after some time of running (around 1 to 1.5 hours) I noticed the
> following BUG with ext4:
> 
> [ 4421.503477] ------------[ cut here ]------------
> [ 4421.503482] kernel BUG at fs/ext4/inode.c:2714!
>
> kernel compiled was from sources checked out at
> 1de3e3df917459422cb2aecac440febc8879d410

Looking at 1de3e3df917459422cb2aecac440febc8879d410:

Line 2714 in fs/ext4/inode.c is this:

       /*
         * If the page does not have buffers (for whatever reason),
         * try to create them using block_prepare_write.  If this
         * fails, redirty the page and move on.
         */
        if (!page_buffers(page)) {
	^^^^^^^^^^^^^^^^^^^^^^^^^^^
                if (block_prepare_write(page, 0, len,
                                        noalloc_get_block_write)) {
                redirty_page:
                        redirty_page_for_writepage(wbc, page);
                        unlock_page(page);
                        return 0;
                }
                commit_write = 1;
        }

Which means we're really hitting this:

/* If we *know* page->private refers to buffer_heads */
#define page_buffers(page)                                      \
        ({                                                      \
                BUG_ON(!PagePrivate(page));                     \
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                ((struct buffer_head *)page_private(page));     \
        })
#define page_has_buffers(page)  PagePrivate(page)

Looks like Ted fixed it here:

commit b1142e8fec6a594723e5054055a7b53379b90490
Author: Theodore Ts'o <tytso@mit.edu>
Date:   Thu Oct 28 17:33:57 2010 -0400

    ext4: BUG_ON fix: check if page has buffers before calling page_buffers()


Basically, once you hit this oops, ext4 is done.  No files you created
after the oops will be there when you reboot, and the rest of your
lockups etc are because the jbd process had some locks held when it
crashed.

Was there also a report of corruption w/dm-crypt and XFS?

Last night I ran dm-crypt + the cpu scalability patch + ext4 +
2.6.37-rc3 in a long stress, and it passed without any problems.  If
dm-crypt were not doing the IO properly, this test probably would have
found it (+/- strange block sizes, races with O_DIRECT and other exotic
fun).

-chris


  reply	other threads:[~2010-12-07 14:22 UTC|newest]

Thread overview: 75+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20101114205925.GA20451@redhat.com>
     [not found] ` <AANLkTi=rVyozmvqCJD1kGqnV3uEn-0ak6B12-O_9XOKJ@mail.gmail.com>
     [not found]   ` <4CE05A9E.9090204@redhat.com>
     [not found]     ` <AANLkTimT0t3xqgKdAn7MBPD7ED-9uPS+WJE0z+K8tciu@mail.gmail.com>
     [not found]       ` <AANLkTik_p0yxQBQ3ehHWYPLfiqxGbSNUT5XUk9dC5-x6@mail.gmail.com>
     [not found]         ` <20101201165229.GC13415@redhat.com>
     [not found]           ` <AANLkTinG209iRAXgpNC0vNpn1C02wkYmVfveXRBqsKV-@mail.gmail.com>
     [not found]             ` <4CF692D1.1010906@redhat.com>
     [not found]               ` <AANLkTimA2PPXZoOHYgeOEV2ocrojeuBby8MYDYJ1yjx1@mail.gmail.com>
     [not found]                 ` <4CF6B3E8.2000406@redhat.com>
2010-12-01 21:23                   ` hunt for 2.6.37 dm-crypt+ext4 corruption? (was: Re: dm-crypt barrier support is effective) Mike Snitzer
2010-12-02 21:30                     ` Matt
2010-12-04 19:18                     ` Matt
2010-12-04 19:38                       ` Mike Snitzer
2010-12-04 23:47                         ` Matt
2010-12-07 14:21                           ` Chris Mason [this message]
2010-12-07 18:10                             ` Jon Nelson
2010-12-07 18:15                               ` Chris Mason
2010-12-07 18:22                               ` Mike Snitzer
2010-12-07 18:45                                 ` Jon Nelson
2010-12-07 18:52                                   ` Chris Mason
2010-12-07 19:34                                     ` Jon Nelson
2010-12-07 20:02                                       ` Chris Mason
2010-12-07 20:25                                         ` Jon Nelson
2010-12-07 20:33                                           ` Chris Mason
2010-12-07 20:36                                             ` Jon Nelson
2010-12-07 20:41                                           ` Chris Mason
2010-12-07 20:48                                             ` Jon Nelson
2010-12-07 21:02                                               ` Chris Mason
2010-12-08  3:29                                                 ` Jon Nelson
2010-12-08  8:03                                                   ` hunt for 2.6.37 dm-crypt+ext4 corruption? Milan Broz
2010-12-08 12:20                                                   ` hunt for 2.6.37 dm-crypt+ext4 corruption? (was: Re: dm-crypt barrier support is effective) Chris Mason
2010-12-16  3:37                                                     ` Dave Chinner
2010-12-16 12:29                                                       ` Chris Mason
2010-12-08  3:55                                             ` Jon Nelson
2010-12-07 19:35                                 ` Ted Ts'o
2010-12-07 21:01                                   ` Jon Nelson
2010-12-08  3:37                                   ` Jon Nelson
     [not found]                                   ` <AANLkTim8UTkfxXV0AkEfjNq3tcmnrXdh6BQ1ibY5iYPy@mail.gmail.com>
2010-12-08 15:26                                     ` Jon Nelson
2010-12-09 18:01                                     ` Ted Ts'o
2010-12-09 18:10                                       ` Jon Nelson
2010-12-09 20:13                                         ` Ted Ts'o
2010-12-09 20:38                                           ` Jon Nelson
     [not found]                                           ` <AANLkTik=ivDrBEzg1wQAp5AFzNtRRq1=NpvnowggU=_0@mail.gmail.com>
2010-12-09 23:16                                             ` Andi Kleen
2010-12-10  1:38                                               ` Chris Mason
2010-12-10  1:53                                                 ` Matt
2010-12-10  2:38                                                   ` Ted Ts'o
2010-12-10  6:52                                                     ` Jon Nelson
2010-12-10 14:58                                                       ` Jon Nelson
     [not found]                                                       ` <AANLkTikeiv2jQM5hhghs1Zd2d=5CbRLKMgYvqHqpm76m@mail.gmail.com>
2010-12-10 16:54                                                         ` Jon Nelson
     [not found]                                                         ` <AANLkTinMt6saGeeX3MbwAzZ-+f6AL5BegeFqyPgGwiDo@mail.gmail.com>
2010-12-11  2:14                                                           ` Jon Nelson
     [not found]                                                           ` <AANLkTi=cn04WZGMnVX6ie5PSM+9v0tJSSg0kD8_W5N11@mail.gmail.com>
2010-12-12  1:40                                                             ` Ted Ts'o
2010-12-12  2:34                                                             ` Ted Ts'o
2010-12-12  3:16                                                               ` Jon Nelson
     [not found]                                                               ` <AANLkTim=i8wDnML+K4uGK_neNDCiWxtKGDx01O+3joaE@mail.gmail.com>
2010-12-12 10:18                                                                 ` Jon Nelson
     [not found]                                                                 ` <AANLkTinhHTqqpP=pQ8Foyc9xeaZi65GHGHGY51OyZtvF@mail.gmail.com>
2010-12-12 12:43                                                                   ` Ted Ts'o
2010-12-12 13:11                                                                     ` Jon Nelson
2010-12-13  2:06                                                                       ` Ted Ts'o
2010-12-13 18:56                                                                         ` Jon Nelson
     [not found]                                                                         ` <AANLkTinMWS-yyzWJ3oBo_KS9jXt4p4pveo+SPTLiWnCt@mail.gmail.com>
2010-12-15 19:15                                                                           ` Matt
2010-12-15 19:16                                                                             ` Andi Kleen
2010-12-15 19:25                                                                               ` Matt
2010-12-15 19:28                                                                                 ` Matt
2010-12-10  1:58                                                 ` Mike Fedyk
2010-12-10  2:00                                                   ` Chris Mason
2010-12-10  2:05                                                     ` Jon Nelson
2010-12-04 23:52                         ` Matt
2010-12-05 10:09                           ` Heinz Diehl
2010-12-05 10:21                             ` hunt for 2.6.37 dm-crypt+ext4 corruption? Milan Broz
2010-12-05 12:49                               ` Heinz Diehl
2010-12-05 13:24                               ` [dm-devel] " Theodore Tso
2010-12-05 13:44                                 ` Matt
2010-12-05 14:02                                   ` Ted Ts'o
2010-12-05 14:33                                 ` Heinz Diehl
2010-12-05 20:17                                   ` Daniel J Blueman
2010-12-06  7:08                                     ` Heinz Diehl
2010-12-05 20:28                                 ` Andi Kleen
2010-12-05 21:15                                   ` Mike Snitzer
2010-12-05 21:42                                   ` [dm-devel] " Milan Broz
2010-12-06  2:37                                 ` Valdis.Kletnieks
2011-01-06 15:56                               ` Heinz Diehl
2011-01-07 16:45                                 ` Matt
2010-12-05 13:30                             ` hunt for 2.6.37 dm-crypt+ext4 corruption? (was: Re: dm-crypt barrier support is effective) Matt
2010-12-05  0:57                         ` Matt
2010-12-04 20:51                       ` Heinz Diehl

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=20101207142145.GA27861@think \
    --to=chris.mason@oracle.com \
    --cc=andi@firstfloor.org \
    --cc=dm-devel@redhat.com \
    --cc=htd@fancy-poultry.org \
    --cc=htejun@gmail.com \
    --cc=jackdachef@gmail.com \
    --cc=jnelson@jamponi.net \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mbroz@redhat.com \
    --cc=snitzer@redhat.com \
    /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).