From: Eric Sandeen <esandeen@redhat.com>
To: Jan Kara <jack@suse.cz>
Cc: Badari Pulavarty <pbadari@us.ibm.com>,
Andrew Morton <akpm@osdl.org>, Eric Sandeen <sandeen@sandeen.net>,
Dave Jones <davej@redhat.com>,
Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Re: 2.6.18 ext3 panic.
Date: Fri, 13 Oct 2006 11:08:15 -0500 [thread overview]
Message-ID: <452FB9EF.1050109@redhat.com> (raw)
In-Reply-To: <20061013075613.GB29170@atrey.karlin.mff.cuni.cz>
Jan Kara wrote:
>> This is exactly the solution I proposed earlier (to check
>> buffer_mapped() before calling submit_bh()).
>> But at that time, Jan pointed out that the whole handling is wrong.
> Yes, and it was. However it turned out that there are more problems
> than I thought ;).
>
>> But if this is the only case we need to handle, I am okay with this band
>> aid :)
> I think Eric's patch may be a part of it. But we still need to check whether
> the buffer is not after EOF before submitting it (or better said just
> after we manage to lock the buffer). Because while we are waiting for
> the buffer lock, journal_unmap_buffer() can still come and steal the
> buffer - at least the write-out in journal_dirty_data() definitely needs
> the check if I haven't overlooked something.
Ok, let me think on that today. My first reaction is that if we have
the bh state lock and pay attention to mapped in journal_dirty_data(),
then any blocks past EOF which have gotten unmapped by
journal_unmap_buffer will be recognized as such (because they are now
unmapped... without needing to check for past EOF...) and we'll be fine.
As a datapoint, davej's stresstest (several fsx's and fsstresses)
survived an overnight run on his box, which used to panic in < 2 hrs.
Survived about 6 hours on my box until I intentionally stopped it; my
box had added a write/truncate test in a loop, with a bunch of periodic
syncs as well....
-Eric
next prev parent reply other threads:[~2006-10-13 16:08 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
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 [this message]
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=452FB9EF.1050109@redhat.com \
--to=esandeen@redhat.com \
--cc=akpm@osdl.org \
--cc=davej@redhat.com \
--cc=jack@suse.cz \
--cc=linux-kernel@vger.kernel.org \
--cc=pbadari@us.ibm.com \
--cc=sandeen@sandeen.net \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.