linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Qu Wenruo <quwenruo.btrfs@gmx.com>
To: "Gervais, Francois" <FGervais@distech-controls.com>,
	"linux-btrfs@vger.kernel.org" <linux-btrfs@vger.kernel.org>,
	Filipe Manana <fdmanana@kernel.org>
Subject: Re: read time tree block corruption detected
Date: Thu, 27 May 2021 07:25:13 +0800	[thread overview]
Message-ID: <5c50716e-450c-96c3-45a4-d97b48b3c144@gmx.com> (raw)
In-Reply-To: <DM6PR01MB4265FD5C32D07B4A4D0D9CA8F3249@DM6PR01MB4265.prod.exchangelabs.com>



On 2021/5/27 上午7:03, Gervais, Francois wrote:
> I had to re-send this message as I forgot to send it as plain text earlier today. I apologize if some people receive it twice.
>
>>>> - Anything you would recommend as of configuration of the device?
>>>
>>> You can test using dm-logwrites, which really logs every writes and
>>> replay it.
>>> By using dm-logwrites, you can emulate powerloss for each write operation.
>
> I'm in the process of putting together a test scenario using dm-log-writes on our
> device but I have a few questions.
>
> 1. What I'm thinking of doing is do the firmware operation that the device was
> doing when we got the corruption but this time using dm-log-writes and then
> replay the log entry per entry.
>
> Will tree-checker catch to issue just by replaying or do I need to do an additional
> step for every log entry replay? (btrfs check? btrfs scrub?)

Normally we only care about the filesystem consistency at FUA/FLUSH.

Doing extra check at each replay won't hurt, but it would be very slow
though.

And for the tool to catch the problem, I'm afraid you have to use both
kernel tree-checker (aka mount it), and btrfs-check to catch all problems.

Tree-check can check all involved metadata, while btrfs-check doesn't
check log tree.

>
> 2. From what I understand, our corruption of the log-tree can either be software
> which would have requested a corrupted entry to be written to disk or hardware
> which would have corrupted the entry when trying to write it to disk.

I don't believe it's hardware, one point to notice is, all tree block
written back to disk has checksum.

If it's hardware problem leading to some data corruption on-disk, its
csum should not match at all.

Thus I believe this bug is mostly from btrfs.

Filipe is doing a lot of fixes related to log tree, and some of them are
related to item size overflow.
But if you can reproduce the problem reliably, then it would be a great
help to pin down the cause.

>
> Debugging with dm-log-writes would not catch a corruption by the hardware if due
> to a one-off glitch or something right?

Although I don't believe it's hardware problem, but just to be clear,
no, it won't detect any hardware problem.

Dm-log-writes is only to verify the filesystem layer is doing correct work.

Thanks,
Qu

>
>>>>     - Should we run a newer kernel than our current v5.4?
>>>
>>> Definitely. In fact my fuzzy memory points me to some fix, but I can't
>>> remember exactly which fix.
>>>
>>>>     - Any debug you think would be useful to enable or add?
>>>>
>>>
>>> Tree-checker, which is already enabled by default (in fact no way to
>>> disable) in newer kernels.
>>>
>>> Thanks,
>>> Qu
>>
>> Thank you very much,
>>
>> I will report here if/when we get more information on this issue.

  reply	other threads:[~2021-05-26 23:25 UTC|newest]

Thread overview: 75+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-16 19:35 read time tree block corruption detected Gervais, Francois
2021-04-17  1:01 ` Qu Wenruo
2021-04-19 13:20   ` Gervais, Francois
2021-04-19 13:33     ` Qu Wenruo
2021-04-19 14:56       ` Gervais, Francois
2021-04-20  1:34         ` Qu Wenruo
2021-04-20 14:19           ` Gervais, Francois
2021-04-20 23:47             ` Qu Wenruo
2021-04-21 14:17               ` Gervais, Francois
2021-04-21 23:01                 ` Qu Wenruo
2021-04-22 14:26                   ` Gervais, Francois
2021-05-26 23:03                     ` Gervais, Francois
2021-05-26 23:25                       ` Qu Wenruo [this message]
  -- strict thread matches above, loose matches on Subject: below --
2021-11-22  5:26 x8062
2021-11-22  7:24 ` Nikolay Borisov
2021-11-22 10:07   ` x8062
2021-11-22 10:36     ` Nikolay Borisov
2021-11-23  2:42       ` x8062
2021-11-23  5:56         ` Nikolay Borisov
2021-07-17  1:45 Read " pepperpoint
2021-07-17  7:05 ` Qu Wenruo
     [not found] ` <162650555086.7.16811903270475408953.10183708@simplelogin.co>
2021-07-17  7:51   ` pepperpoint
     [not found]   ` <162650826457.7.1050455337652772013.10184548@mb.ardentcoding.com>
2021-07-17  8:14     ` Qu Wenruo
     [not found]     ` <162650966150.7.11743767259405124657.10185986@simplelogin.co>
2021-07-17  8:57       ` pepperpoint
2021-07-17 10:12         ` Qu Wenruo
     [not found]         ` <162651674065.6.7912816287233908759.10188327@simplelogin.co>
2021-07-17 10:34           ` pepperpoint
     [not found]           ` <162651809235.7.7061042874033963922.10188873@mb.ardentcoding.com>
2021-07-17 10:48             ` Qu Wenruo
     [not found]             ` <162651892663.6.17938009695497100557.10189169@simplelogin.co>
2021-07-17 12:51               ` pepperpoint
     [not found]               ` <CQeY09U34m7SrT6nTAlkSQrbLJtmyKF1tDfuGDtKUkwJqujMI_nZU4MpGiU4F_Q1U3Lk1aWD1mFCT5SlsOsOcILWECflIw7EhVQTQpy_1Ts=@email.ardentcoding.com>
2021-07-18  5:26                 ` pepperpoint
2021-07-18  7:15                   ` Qu Wenruo
     [not found]                     ` <162659327011.8.12718249358254503695.10218325@simplelogin.co>
2021-07-18  8:46                       ` pepperpoint
     [not found]                       ` <162659797656.6.14385932343235367381.10220447@mb.ardentcoding.com>
2021-07-18  9:32                         ` Qu Wenruo
     [not found]                         ` <162660074747.7.3300740266059717894.10221270@simplelogin.co>
2021-07-18 10:34                           ` pepperpoint
     [not found]                           ` <162660447733.8.9782212603273165785.10222524@mb.ardentcoding.com>
2021-07-18 11:13                             ` Qu Wenruo
     [not found]                             ` <162660684635.8.12423097770824212671.10223516@simplelogin.co>
2021-07-18 12:16                               ` pepperpoint
     [not found] <CAJheHN0FUe-ijMco1ZOc6iKF2zbPocOw+iiVNeTT1r-JuXOJww@mail.gmail.com>
2020-05-06 21:54 ` Fwd: " Tyler Richmond
2020-05-06 23:55   ` Chris Murphy
2020-05-07  0:51     ` Tyler Richmond
2020-05-07  1:06       ` Chris Murphy
2020-02-12 21:58 read " Samir Benmendil
2020-02-13  0:26 ` Qu Wenruo
2020-02-13 13:04   ` Samir Benmendil
2020-02-13 14:01   ` Qu Wenruo
2020-02-15 15:34     ` Samir Benmendil
2020-01-16 13:40 Peter Luladjiev
2020-01-16 16:12 ` Nikolay Borisov
     [not found]   ` <CA+ZCqs5=N5Hdf3NxZAmPCnA8wbcJPrcH8zM-fRbt-w8tL+TjUQ@mail.gmail.com>
2020-01-17  7:34     ` Nikolay Borisov
2020-01-17  7:51       ` Peter Luladjiev
2020-01-17  7:54         ` Peter Luladjiev
2020-01-17  7:59           ` Qu Wenruo
2020-01-17  8:14           ` Nikolay Borisov
2020-01-17  8:22             ` Peter Luladjiev
2020-01-17  9:10               ` Nikolay Borisov
2020-01-17 12:04                 ` Peter Luladjiev
2019-12-29 20:43 Patrick Erley
2019-12-29 22:07 ` Chris Murphy
2019-12-29 22:27   ` Patrick Erley
2019-12-29 22:32     ` Chris Murphy
2019-12-29 22:36       ` Patrick Erley
2019-12-29 23:11         ` Chris Murphy
2019-12-29 23:19           ` Patrick Erley
2019-12-29 23:24             ` Chris Murphy
2019-12-29 23:26               ` Patrick Erley
2019-12-30  0:46 ` Qu Wenruo
2019-12-30  5:36   ` Patrick Erley
2019-12-30  5:43     ` Qu Wenruo
2019-12-30  5:47       ` Patrick Erley
2019-12-30  5:50         ` Patrick Erley
2019-12-30  5:58           ` Qu Wenruo
2019-12-30  6:07             ` Patrick Erley
2019-12-30  6:09               ` Qu Wenruo
2019-12-30  8:14                 ` Patrick Erley
2019-12-30  8:54                   ` Qu Wenruo
2019-12-30  9:01                     ` Patrick Erley
2019-12-30  9:09                       ` Qu Wenruo
2019-12-30  9:21                         ` Patrick Erley
2019-12-30  9:27                           ` Qu Wenruo
2019-12-30 10:06                             ` Patrick Erley

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=5c50716e-450c-96c3-45a4-d97b48b3c144@gmx.com \
    --to=quwenruo.btrfs@gmx.com \
    --cc=FGervais@distech-controls.com \
    --cc=fdmanana@kernel.org \
    --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).