From: "Austin S. Hemmelgarn" <ahferroin7@gmail.com>
To: Christoph Anton Mitterer <calestyo@scientia.net>,
Hans van Kranenburg <Hans.van.Kranenburg@mendix.com>,
linux-btrfs <linux-btrfs@vger.kernel.org>
Subject: Re: dm-integrity + mdadm + btrfs = no journal?
Date: Wed, 30 Jan 2019 11:00:54 -0500 [thread overview]
Message-ID: <f7a55647-ac67-4a6d-ca7e-bf3ed05428fb@gmail.com> (raw)
In-Reply-To: <6ce96b57897acb62101dd213f8127ffeb981ee90.camel@scientia.net>
On 2019-01-30 10:26, Christoph Anton Mitterer wrote:
> On Wed, 2019-01-30 at 07:58 -0500, Austin S. Hemmelgarn wrote:
>> Running dm-integrity without a journal is roughly equivalent to
>> using
>> the nobarrier mount option (the journal is used to provide the same
>> guarantees that barriers do). IOW, don't do this unless you are
>> willing
>> to lose the whole volume.
>
> That sounds a bit strange to me.
Probably because I forgot to qualify the statement properly and should
have worded it differently. It should read:
Running dm-integrity on a device which doesn't support barriers without
a journal is risky, because the journal can help mitigate the issues
arising from the lack of barrier support. So, make sure your storage
devices support barriers properly first.
>
> My understanding was that the idea of being able to disable the journal
> of dm-integrity was just to avoid any double work, if equivalent
> guarantees are already given by higher levels.
Except they aren't completely if the storage device doesn't support
barriers properly.
>
> If btrfs is by itself already safe (by using barriers), then I'd have
> expected that not transaction is committed, unless it got through all
> lower layers... so either everything works well on the dm-integrity
> base (and thus no journal is needed)... or it fails there... but then
> btrfs would already safe by it's own means (barriers + CoW)?
BTRFS is _mostly_ safe. The problem is that there are still devices out
there that don't have proper barrier support. Without barriers, the
superblocks can hit the disk before the most recent transactions do, and
in that case you're kind of screwed. dm-integrity's journaling can help
protect against this to a limited degree (it doesn't completely solve
the issue, but it's better than nothing), but at the cost of higher
overhead from duplicated work.
next prev parent reply other threads:[~2019-01-30 16:01 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-29 23:15 dm-integrity + mdadm + btrfs = no journal? Hans van Kranenburg
2019-01-30 1:02 ` Chris Murphy
2019-01-30 8:42 ` Roman Mamedov
2019-01-30 12:58 ` Austin S. Hemmelgarn
2019-01-30 15:26 ` Christoph Anton Mitterer
2019-01-30 16:00 ` Austin S. Hemmelgarn [this message]
2019-01-30 16:31 ` Christoph Anton Mitterer
2019-01-30 16:38 ` Hans van Kranenburg
2019-01-30 16:56 ` Hans van Kranenburg
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=f7a55647-ac67-4a6d-ca7e-bf3ed05428fb@gmail.com \
--to=ahferroin7@gmail.com \
--cc=Hans.van.Kranenburg@mendix.com \
--cc=calestyo@scientia.net \
--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