From: Omar Sandoval <osandov@osandov.com>
To: Duncan <1i5t5.duncan@cox.net>
Cc: linux-btrfs@vger.kernel.org
Subject: Re: Got 10 csum errors according to dmesg but 0 errors according to dev stats
Date: Sun, 17 May 2015 01:36:54 -0700 [thread overview]
Message-ID: <20150517083654.GA5425@mew> (raw)
In-Reply-To: <pan$f32b4$a31b2df$ac4903ed$b7bd68b4@cox.net>
On Sun, May 17, 2015 at 08:19:48AM +0000, Duncan wrote:
> Philip Seeger posted on Sun, 17 May 2015 03:53:20 +0200 as excerpted:
> >
> > On 05/10/2015 04:58 PM, Philip Seeger wrote:
> >>
> >> Forgot to mention kernel version: Linux 4.0.1-1-ARCH
> >>
> >> $ sudo btrfs fi show Label: none uuid:
> >> 3e8973d3-83ce-4d93-8d50-2989c0be256a
> >> Total devices 1 FS bytes used 19.87GiB
> >> devid 1 size 45.00GiB used 21.03GiB path /dev/sda1
> >>
> >> btrfs-progs v3.19.1
> >>
> > I think I forgot to mention that this btrfs filesystem was converted
> > from ext4 (not initially created as btrfs).
> > Could this cause this corruption?
> >
> > Also, does this df output look weird to anyone, shouldn't metadata be
> > duplicated?
> > # btrfs fi df /
> > Data, single: total=21.00GiB, used=20.82GiB
> > System, single: total=32.00MiB, used=4.00KiB
> > Metadata, single: total=1.25GiB, used=901.21MiB
> > GlobalReserve, single: total=304.00MiB, used=0.00B
>
> [Reordered to standard quote/reply order, so replies have proper
> context. Top posting... not so fun to reply to! =:^( ]
>
> I can't answer the corruption bit, but answering the df metadata
> question...
>
> Normally, btrfs on a single device defaults to dup metadata type, single
> data type. The one /normal/ exception to that is when mkfs.btrfs detects
> an ssd, where it defaults to single data due to ssd firmware often
> canceling out the intended redundancy of dup anyway.[1]
>
> However, conversion from ext* is a bit of a different ball game, and
> while it /should/ default to dup metadata as well, on 4.0 and into 4.1-rcs
> as a proper fix hasn't been posted, there's a balance-conversion bug
> that's keeping type conversion from occurring, both in the normal btrfs
> balance convert case and in the ext* conversion case. Thus, ext*
> conversions remain metadata-single mode and cannot be converted to
> metadata-dup until this bug is fixed.
>
> I said that a /proper/ fix hasn't yet been posted. There has been a
> bisect trace to the commit that killed balance-convert, and that can be
> reverted, as I guess some distros are doing in their current releases.
> However, that commit happened to fix an ext* to btrfs conversion fault,
> that would cause ext* conversions to fail entirely. So reverting that
> commit does fix normal btrfs balance conversions, but it breaks the
> ability to convert from ext* at all. I don't know when /that/ was
> broken, but apparently it was further back.
>
> So right now, the only way to get a desired btrfs chunk redundancy type
> is to use mkfs.btrfs to create it that way in the first place. Which
> means no ext* conversion unless you're happy with single-data/single-
> metadata, since that's what it ends up with, and balance-convert is ATM
> currently broken and can't convert to other redundancy types.
>
> Well, unless you want to do the ext* to btrfs convert with the current
> tools as they are (with the commit in question so the ext*-conversion
> actually works), then rebuild with that commit reverted, so balance-
> convert works...
Duncan is referring to the commit reverted here:
https://patchwork.kernel.org/patch/6238111/
Just to clarify, reverting 2f0810880f082fa8ba66ab2c33b02e4ff9770a5e does
not break ext4 conversion. If you revert it, you can btrfs-convert, do a
btrfs balance to finalize the conversion, then do another btrfs balance
-dconvert=... -mconvert=... to convert the profile. I should have been
clearer in that other thread: conversion from ext4 to Btrfs works, its
just that the commit that caused the regression did not actually
accomplish what it set out to do: allow converting the data/metadata
profile of a freshly btrfs-converted ext4 filesystem.
--
Omar
next prev parent reply other threads:[~2015-05-17 8:36 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-10 14:37 Got 10 csum errors according to dmesg but 0 errors according to dev stats Philip Seeger
2015-05-10 14:58 ` Philip Seeger
[not found] ` <CABR0jERqzkdTJxX_1S5WEZHDzX8=O8P7r+Bk0mesPLsR2n=w8A@mail.gmail.com>
2015-05-10 17:32 ` Philip Seeger
2015-05-11 1:41 ` Russell Coker
2015-05-12 0:14 ` Philip Seeger
2015-05-12 1:04 ` Paul Jones
2015-05-12 1:37 ` Chris Murphy
2015-05-15 18:40 ` Philip Seeger
2015-05-15 18:33 ` Philip Seeger
2015-05-17 1:53 ` Philip Seeger
2015-05-17 8:19 ` Duncan
2015-05-17 8:36 ` Omar Sandoval [this message]
2015-05-17 8:57 ` Duncan
2015-05-23 12:49 ` Philip Seeger
2015-05-23 16:52 ` Duncan
2015-05-27 20:25 ` Philip Seeger
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=20150517083654.GA5425@mew \
--to=osandov@osandov.com \
--cc=1i5t5.duncan@cox.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 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.