From: Eric Sandeen <sandeen@sandeen.net>
To: Jan Kara <jack@suse.cz>
Cc: Badari Pulavarty <pbadari@us.ibm.com>,
Eric Sandeen <esandeen@redhat.com>, Dave Jones <davej@redhat.com>,
Andrew Morton <akpm@osdl.org>,
Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Re: 2.6.18 ext3 panic.
Date: Wed, 11 Oct 2006 08:44:03 -0500 [thread overview]
Message-ID: <452CF523.5090708@sandeen.net> (raw)
In-Reply-To: <20061011103325.GC6865@atrey.karlin.mff.cuni.cz>
Jan Kara wrote:
> Umm, but these two traces confuse me:
> 1) They are different traces that those you wrote about initially,
> aren't they? Because here we would not call sync_dirty_buffer() from
> journal_dirty_data().
> BTW: Does this buffer trace lead to that Oops in submit_bh()? I guess not
> as the buffer is not dirty...
They do wind up at the same oops, from the same "testcase" (i.e. beat the tar
out of the filesystem with multiple fsx's and fsstress...)
The buffer is not dirty at that tracepoint because it has just done
if (locked && test_clear_buffer_dirty(bh)) {
prior to the tracepoint...
> Am I right that now there are no Oopses because of buffers submitted
> from the commit code? Only those from journal_dirty_data()?
Well, it's hard to sort out which thread is doing what; I added a pid to each
tracepoint to try to make that a little easier. Both of the traces I posted
seem to be journal_submit_data_buffers leading to an unmapped buffer submitted
in submit_bh.
> 2) Those buffers have strange states - they are !mapped, !dirty (so this
> is fine)
Well, they were just undirtied in journal_submit_data_buffers.
See the whole traces at
http://people.redhat.com/esandeen/traces/eric_ext3_oops1.txt
http://people.redhat.com/esandeen/traces/eric_ext3_oops2.txt
I will try to reproduce with fewer threads, to see if we can find a simpler
sequence of events...
As an aside, when we do journal_unmap_buffer... should it stay on t_sync_datalist?
Thanks,
-Eric
> but they are also JBD_Dirty and ion BJ_SyncData. This is really
> strange! Either it is ordered data buffer and should not be JBD_Dirty or
> it is not ordered data buffer and then it should not be in BJ_SyncData!
> The second buffer even has JBD_JWrite set so it really was metadabuffer
> under commit and later something took it from the committing transaction
> (without clearing the JWrite bit) and filed it in the SyncData list...
> Umm, this reminds me something... <looks into commit code> Oh no, who could
> write that BJ_Forget list handling.. me? ;)
>
> I think the problem is in my change to BJ_Forget list handling - if we
> find out buffer has b_next_transaction set, we just refile it
> (previously we BUGged). That it just fine, except when we are in the
> ordered mode and the buffer is reallocated as data. Then we refile the
> buffer to BJ_Metadata or BJ_Reserved list, instead of BJ_SyncData. What
> then happens is uncertain but probably something gets (rightfully so)
> confused and JBD_Dirty buffer gets to BJ_SyncData list. This bug does
> not seem to cause those problems with unmapped buffers but still we
> should fix it as it is asking for trouble.
>
> Honza
next prev parent reply other threads:[~2006-10-11 13:44 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-02 19:47 2.6.18 ext3 panic Dave Jones
2006-10-03 5:22 ` Dave Jones
2006-10-03 5:43 ` Eric Sandeen
2006-10-03 6:19 ` Andrew Morton
2006-10-03 6:40 ` Dave Jones
2006-10-03 16:45 ` Dave Jones
2006-10-09 19:46 ` Eric Sandeen
2006-10-09 19:59 ` Eric Sandeen
2006-10-09 21:59 ` Badari Pulavarty
2006-10-09 22:50 ` Dave Jones
2006-10-10 14:11 ` Jan Kara
2006-10-10 18:42 ` Andrew Morton
2006-10-10 22:03 ` Eric Sandeen
2006-10-10 22:25 ` Badari Pulavarty
2006-10-11 1:43 ` Eric Sandeen
2006-10-11 10:33 ` Jan Kara
2006-10-11 13:44 ` Eric Sandeen [this message]
2006-10-11 14:22 ` Jan Kara
2006-10-11 17:54 ` Badari Pulavarty
2006-10-12 2:36 ` Eric Sandeen
2006-10-12 4:34 ` John Wendel
2006-10-12 6:57 ` Jan-Benedict Glaw
2006-10-12 12:28 ` Jan Kara
2006-10-12 13:20 ` Eric Sandeen
2006-10-12 16:40 ` Andrew Morton
2006-10-12 16:44 ` Eric Sandeen
2006-10-12 20:07 ` Eric Sandeen
2006-10-12 21:55 ` Badari Pulavarty
2006-10-12 21:57 ` Eric Sandeen
2006-10-12 22:34 ` Badari Pulavarty
2006-10-13 7:56 ` Jan Kara
2006-10-13 16:08 ` Eric Sandeen
2006-10-16 16:54 ` Jan Kara
2006-10-16 16:56 ` Eric Sandeen
2006-10-09 22:40 ` Jan-Benedict Glaw
2006-10-10 13:16 ` Jan Kara
2006-10-10 16:39 ` Jan-Benedict Glaw
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=452CF523.5090708@sandeen.net \
--to=sandeen@sandeen.net \
--cc=akpm@osdl.org \
--cc=davej@redhat.com \
--cc=esandeen@redhat.com \
--cc=jack@suse.cz \
--cc=linux-kernel@vger.kernel.org \
--cc=pbadari@us.ibm.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