From: Mike Fleetwood <mike.fleetwood@googlemail.com>
To: linux-btrfs@vger.kernel.org
Subject: Re: BTRFS and power loss ~= corruption?
Date: Fri, 26 Aug 2011 08:48:36 +0100 [thread overview]
Message-ID: <CAMU1PDgk-uKU9SuQz1YxGPNVy3HVObwtYALgcDL_Jb0MWcss5w@mail.gmail.com> (raw)
In-Reply-To: <4E573F1A.2060807@gmx.net>
On 26 August 2011 07:37, Arne Jansen <sensille@gmx.net> wrote:
> On 26.08.2011 01:01, Gregory Maxwell wrote:
>> On Wed, Aug 24, 2011 at 9:11 AM, Berend Dekens <btrfs@cyberwizzard.n=
l> wrote:
>>
>> It seems to me that if someone created a block device which recorded
>> all write operations a rather excellent test could be constructed
>> where a btrfs filesystem is recorded under load and then every parti=
al
>> replay is mounted and checked for corruption/data loss.
>>
>> This would result in high confidence that no power loss event could
>> destroy data given the offered load assuming well behaved
>> (non-reordering hardware). =C2=A0If it recorded barrier operations t=
he a
>> tool could also try many (but probably not all) permissible
>> reorderings at every truncation offset.
>>
>
> I like the idea. Some more thoughts:
> =C2=A0- instead of trying all reorderings it might be enough to just =
always
> =C2=A0 deliver the oldest possible copy
> =C2=A0- the order in which btrfs writes the data probably depends on =
the
> =C2=A0 order in which the device acknowledges the request. You might =
need
> =C2=A0 to add some reordering there, too
> =C2=A0- you need to produce a wide variety of workloads, as problems =
might
> =C2=A0 only occur at a special kind of it (directIO, fsync, snapshots=
=2E..)
> =C2=A0- if there really is a regression somewhere, it would be good t=
o also
> =C2=A0 include the full block layer into the test, as the regression =
might
> =C2=A0 not be in btrfs at all
> =C2=A0- as a first small step one could just use blktrace to record t=
he write
> =C2=A0 order and analyze the order on mount as well
>
>> It seems to me that the existence of this kind of testing is somethi=
ng
>> that should be expected of a modern filesystem before it sees
>> widescale production use.
This article describes evaluating ext3, reiserfs and jfs using fault
injection using a custom Linux block device driver.
"Model-Based Failure Analysis of Journaling File Systems"
http://www.cs.wisc.edu/adsl/Publications/sfa-dsn05.pdf
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" =
in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2011-08-26 7:48 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-24 13:11 BTRFS and power loss ~= corruption? Berend Dekens
2011-08-24 13:31 ` Arne Jansen
2011-08-24 15:01 ` Berend Dekens
2011-08-24 15:04 ` *** GMX Spamverdacht *** " Arne Jansen
2011-08-24 15:13 ` Berend Dekens
2011-08-24 17:06 ` Mitch Harder
2011-08-24 21:00 ` Ahmed Kamal
2011-08-25 3:31 ` Anand Jain
2011-08-25 17:55 ` Martin Steigerwald
2011-08-25 22:16 ` Maciej Marcin Piechotka
2011-11-09 20:15 ` Martin Steigerwald
2011-08-25 23:01 ` Gregory Maxwell
2011-08-26 6:37 ` Arne Jansen
2011-08-26 7:48 ` Mike Fleetwood [this message]
2011-08-26 9:30 ` Arne Jansen
2011-11-09 17:33 ` Stefan Behrens
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=CAMU1PDgk-uKU9SuQz1YxGPNVy3HVObwtYALgcDL_Jb0MWcss5w@mail.gmail.com \
--to=mike.fleetwood@googlemail.com \
--cc=linux-btrfs@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).