From: Chris Murphy <lists@colorremedies.com>
To: Hugo Mills <hugo@carfax.org.uk>,
Chris Murphy <lists@colorremedies.com>,
"Austin S. Hemmelgarn" <ahferroin7@gmail.com>,
Dave <davestechshop@gmail.com>,
Linux fs Btrfs <linux-btrfs@vger.kernel.org>
Subject: Re: Problem with file system
Date: Wed, 8 Nov 2017 10:54:02 -0700 [thread overview]
Message-ID: <CAJCQCtSPe7cc_48Fhyhyd6zEmcvW41SGXddkGVOP-Z2sHLfRdA@mail.gmail.com> (raw)
In-Reply-To: <20171108172217.GH27985@carfax.org.uk>
On Wed, Nov 8, 2017 at 10:22 AM, Hugo Mills <hugo@carfax.org.uk> wrote:
> On Wed, Nov 08, 2017 at 10:17:28AM -0700, Chris Murphy wrote:
>> On Wed, Nov 8, 2017 at 5:13 AM, Austin S. Hemmelgarn
>> <ahferroin7@gmail.com> wrote:
>>
>> >> It definitely does fix ups during normal operations. During reads, if
>> >> there's a UNC or there's corruption detected, Btrfs gets the good
>> >> copy, and does a (I think it's an overwrite, not COW) fixup. Fixups
>> >> don't just happen with scrubbing. Even raid56 supports these kinds of
>> >> passive fixups back to disk.
>> >
>> > I could have sworn it didn't rewrite the data on-disk during normal usage.
>> > I mean, I know for certain that it will return the correct data to userspace
>> > if at all possible, but I was under the impression it will just log the
>> > error during normal operation.
>>
>> No, everything except raid56 has had it since a long time, I can't
>> even think how far back, maybe even before 3.0. Whereas raid56 got it
>> in 4.12.
>
> Yes, I'm pretty sure it's been like that ever since I've been using
> btrfs (somewhere around the early neolithic).
>
Yeah, around the original code for multiple devices I think. Anyway,
this is what the fixups look like between scrub and normal read on
raid1. Hilariously the error reporting is radically different.
This is kernel messages of what a scrub finding data file corruption
detection and repair looks like. This was 5120 bytes corrupted so all
of one block and partial of anther.
[244964.589522] BTRFS warning (device dm-6): checksum error at logical
1103626240 on dev /dev/mapper/vg-2, sector 2116608, root 5, inode 257,
offset 0, length 4096, links 1 (path: test.bin)
[244964.589685] BTRFS error (device dm-6): bdev /dev/mapper/vg-2 errs:
wr 0, rd 0, flush 0, corrupt 1, gen 0
[244964.650239] BTRFS error (device dm-6): fixed up error at logical
1103626240 on dev /dev/mapper/vg-2
[244964.650612] BTRFS warning (device dm-6): checksum error at logical
1103630336 on dev /dev/mapper/vg-2, sector 2116616, root 5, inode 257,
offset 4096, length 4096, links 1 (path: test.bin)
[244964.650757] BTRFS error (device dm-6): bdev /dev/mapper/vg-2 errs:
wr 0, rd 0, flush 0, corrupt 2, gen 0
[244964.683586] BTRFS error (device dm-6): fixed up error at logical
1103630336 on dev /dev/mapper/vg-2
[root@f26s test]#
Exact same corruption (same device and offset), but normal read of the file.
[245721.613806] BTRFS warning (device dm-6): csum failed root 5 ino
257 off 0 csum 0x98f94189 expected csum 0xd8be3813 mirror 1
[245721.614416] BTRFS warning (device dm-6): csum failed root 5 ino
257 off 4096 csum 0x05a1017f expected csum 0xef2302b4 mirror 1
[245721.630131] BTRFS warning (device dm-6): csum failed root 5 ino
257 off 0 csum 0x98f94189 expected csum 0xd8be3813 mirror 1
[245721.630656] BTRFS warning (device dm-6): csum failed root 5 ino
257 off 4096 csum 0x05a1017f expected csum 0xef2302b4 mirror 1
[245721.638901] BTRFS info (device dm-6): read error corrected: ino
257 off 0 (dev /dev/mapper/vg-2 sector 2116608)
[245721.639608] BTRFS info (device dm-6): read error corrected: ino
257 off 4096 (dev /dev/mapper/vg-2 sector 2116616)
[245747.280718]
scrub considers the fixup an error, normal read considers it info; but
there's more useful information in the scrub output I think. I'd
really like to see the warning make it clear whether this is metadata
or data corruption though. From the above you have to infer it,
because of the inode reference.
--
Chris Murphy
next prev parent reply other threads:[~2017-11-08 17:54 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-24 15:27 Problem with file system Fred Van Andel
2017-04-24 17:02 ` Chris Murphy
2017-04-25 4:05 ` Duncan
2017-04-25 0:26 ` Qu Wenruo
2017-04-25 5:33 ` Marat Khalili
2017-04-25 6:13 ` Qu Wenruo
2017-04-26 16:43 ` Fred Van Andel
2017-10-30 3:31 ` Dave
2017-10-30 21:37 ` Chris Murphy
2017-10-31 5:57 ` Marat Khalili
2017-10-31 11:28 ` Austin S. Hemmelgarn
2017-11-03 7:42 ` Kai Krakow
2017-11-03 11:33 ` Austin S. Hemmelgarn
2017-11-03 22:03 ` Chris Murphy
2017-11-04 4:46 ` Adam Borowski
2017-11-04 12:00 ` Marat Khalili
2017-11-04 17:14 ` Chris Murphy
2017-11-06 13:29 ` Austin S. Hemmelgarn
2017-11-06 18:45 ` Chris Murphy
2017-11-06 19:12 ` Austin S. Hemmelgarn
2017-11-04 7:26 ` Dave
2017-11-04 17:25 ` Chris Murphy
2017-11-07 7:01 ` Dave
2017-11-07 13:02 ` Austin S. Hemmelgarn
2017-11-08 4:50 ` Chris Murphy
2017-11-08 12:13 ` Austin S. Hemmelgarn
2017-11-08 17:17 ` Chris Murphy
2017-11-08 17:22 ` Hugo Mills
2017-11-08 17:54 ` Chris Murphy [this message]
2017-11-08 18:10 ` Austin S. Hemmelgarn
2017-11-08 18:31 ` Chris Murphy
2017-11-08 19:29 ` Austin S. Hemmelgarn
2017-10-31 1:58 ` Duncan
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=CAJCQCtSPe7cc_48Fhyhyd6zEmcvW41SGXddkGVOP-Z2sHLfRdA@mail.gmail.com \
--to=lists@colorremedies.com \
--cc=ahferroin7@gmail.com \
--cc=davestechshop@gmail.com \
--cc=hugo@carfax.org.uk \
--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).