From: Theodore Tso <tytso@mit.edu>
To: Andreas Dilger <adilger@sun.com>
Cc: Ric Wheeler <rwheeler@redhat.com>,
Christian Fischer <Christian.Fischer@easterngraphics.com>,
linux-ext4@vger.kernel.org
Subject: Re: Enable asynchronous commits by default patch revoked?
Date: Mon, 24 Aug 2009 20:15:54 -0400 [thread overview]
Message-ID: <20090825001554.GN17684@mit.edu> (raw)
In-Reply-To: <20090824234336.GU5931@webber.adilger.int>
On Mon, Aug 24, 2009 at 05:43:36PM -0600, Andreas Dilger wrote:
> Without transaction checksums waiting on all of the blocks together
> is NOT safe. If the commit record is on disk, but the rest of the
> transaction's blocks are not then during replay it may cause garbage
> to be written from the journal into the filesystem metadata.
Yes, I *said* that we can only wait on all of the blocks together with
the commit record when doing journal checksums. Sorry if I didn't
make that clear enough.
That's the one optimization we using journal checksums buys us.
Unfortunately it does not allow us to omit the barrier
operation.... and have real-world testing experience that without the
barrier, a power drop can cause significant filesystem corruption and
potential data loss.
Try using Chris Mason's torture-test workload with async-checksums
without this patch; you will get data corruption if you try dropping
power while his torture-test is running. I know you really don't like
the barrier, but I'm afraid it's not safe to run without it, even with
journal checksums.
- Ted
next prev parent reply other threads:[~2009-08-25 0:15 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <200908241033.10527.Christian.Fischer@easterngraphics.com>
2009-08-24 13:34 ` Enable asynchronous commits by default patch revoked? Theodore Tso
2009-08-24 18:31 ` Andreas Dilger
2009-08-24 18:37 ` Ric Wheeler
2009-08-24 20:10 ` Theodore Tso
2009-08-24 20:28 ` Ric Wheeler
2009-08-24 22:07 ` Theodore Tso
2009-08-24 22:12 ` Ric Wheeler
2009-08-24 23:28 ` Theodore Tso
2009-08-24 23:43 ` Andreas Dilger
2009-08-25 0:15 ` Theodore Tso [this message]
2009-08-25 17:52 ` Andreas Dilger
2009-08-25 18:07 ` Ric Wheeler
2009-08-25 21:11 ` Theodore Tso
2009-08-26 9:50 ` Andreas Dilger
2009-08-26 13:14 ` Theodore Tso
2009-08-26 22:00 ` Andreas Dilger
2009-08-26 22:55 ` Theodore Tso
2009-08-25 18:21 ` Ric Wheeler
2009-08-26 16:02 ` Jan Kara
2009-08-24 22:46 ` Andreas Dilger
2009-08-24 23:52 ` Theodore Tso
2009-09-02 14:48 ` Tom Vier
2009-09-02 15:03 ` Theodore Tso
2009-08-24 21:28 ` Andreas Dilger
2009-08-25 6:16 ` Christian Fischer
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=20090825001554.GN17684@mit.edu \
--to=tytso@mit.edu \
--cc=Christian.Fischer@easterngraphics.com \
--cc=adilger@sun.com \
--cc=linux-ext4@vger.kernel.org \
--cc=rwheeler@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 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.