From: Roman Mamedov <rm@romanrm.net>
To: Zygo Blaxell <ce3g8jdj@umail.furryterror.org>
Cc: linux-btrfs@vger.kernel.org
Subject: Re: Reproducer for "compressed data + hole data corruption bug, 2018 edition" still works on 4.20.7
Date: Wed, 13 Feb 2019 12:47:08 +0500 [thread overview]
Message-ID: <20190213124708.0dd4dbc4@natsu> (raw)
In-Reply-To: <20190212030838.GB9995@hungrycats.org>
On Mon, 11 Feb 2019 22:09:02 -0500
Zygo Blaxell <ce3g8jdj@umail.furryterror.org> wrote:
> Still reproducible on 4.20.7.
>
> The behavior is slightly different on current kernels (4.20.7, 4.14.96)
> which makes the problem a bit more difficult to detect.
>
> # repro-hole-corruption-test
> i: 91, status: 0, bytes_deduped: 131072
> i: 92, status: 0, bytes_deduped: 131072
> i: 93, status: 0, bytes_deduped: 131072
> i: 94, status: 0, bytes_deduped: 131072
> i: 95, status: 0, bytes_deduped: 131072
> i: 96, status: 0, bytes_deduped: 131072
> i: 97, status: 0, bytes_deduped: 131072
> i: 98, status: 0, bytes_deduped: 131072
> i: 99, status: 0, bytes_deduped: 131072
> 13107200 total bytes deduped in this operation
> am: 4.8 MiB (4964352 bytes) converted to sparse holes.
> 94a8acd3e1f6e14272f3262a8aa73ab6b25c9ce8 am
> 6926a34e0ab3e0a023e8ea85a650f5b4217acab4 am
> 6926a34e0ab3e0a023e8ea85a650f5b4217acab4 am
> 6926a34e0ab3e0a023e8ea85a650f5b4217acab4 am
> 6926a34e0ab3e0a023e8ea85a650f5b4217acab4 am
> 6926a34e0ab3e0a023e8ea85a650f5b4217acab4 am
> 6926a34e0ab3e0a023e8ea85a650f5b4217acab4 am
Seems like I can reproduce it as well. Vanilla 4.14.97 with .config loosely
based on Debian's.
$ sudo ./repro-hole-corruption-test
i: 91, status: 0, bytes_deduped: 131072
i: 92, status: 0, bytes_deduped: 131072
i: 93, status: 0, bytes_deduped: 131072
i: 94, status: 0, bytes_deduped: 131072
i: 95, status: 0, bytes_deduped: 131072
i: 96, status: 0, bytes_deduped: 131072
i: 97, status: 0, bytes_deduped: 131072
i: 98, status: 0, bytes_deduped: 131072
i: 99, status: 0, bytes_deduped: 131072
13107200 total bytes deduped in this operation
am: 4.8 MiB (4964352 bytes) converted to sparse holes.
c5f25fc2b88eaab504a403465658c67f4669261e am
1d9aacd4ee38ab7db46c44e0d74cee163222e105 am
6926a34e0ab3e0a023e8ea85a650f5b4217acab4 am
6926a34e0ab3e0a023e8ea85a650f5b4217acab4 am
6926a34e0ab3e0a023e8ea85a650f5b4217acab4 am
6926a34e0ab3e0a023e8ea85a650f5b4217acab4 am
6926a34e0ab3e0a023e8ea85a650f5b4217acab4 am
6926a34e0ab3e0a023e8ea85a650f5b4217acab4 am
6926a34e0ab3e0a023e8ea85a650f5b4217acab4 am
6926a34e0ab3e0a023e8ea85a650f5b4217acab4 am
6926a34e0ab3e0a023e8ea85a650f5b4217acab4 am
6926a34e0ab3e0a023e8ea85a650f5b4217acab4 am
The above is on a 3TB spinning disk. But on a 512GB NVMe SSD I even got the
same checksums as you did.
$ sudo ./repro-hole-corruption-test
i: 91, status: 0, bytes_deduped: 131072
i: 92, status: 0, bytes_deduped: 131072
i: 93, status: 0, bytes_deduped: 131072
i: 94, status: 0, bytes_deduped: 131072
i: 95, status: 0, bytes_deduped: 131072
i: 96, status: 0, bytes_deduped: 131072
i: 97, status: 0, bytes_deduped: 131072
i: 98, status: 0, bytes_deduped: 131072
i: 99, status: 0, bytes_deduped: 131072
13107200 total bytes deduped in this operation
am: 4.8 MiB (4964352 bytes) converted to sparse holes.
94a8acd3e1f6e14272f3262a8aa73ab6b25c9ce8 am
6926a34e0ab3e0a023e8ea85a650f5b4217acab4 am
6926a34e0ab3e0a023e8ea85a650f5b4217acab4 am
6926a34e0ab3e0a023e8ea85a650f5b4217acab4 am
In my case both filesystems are not mounted with compression, just chattr +c of
the directory with the script is enough to see the issue.
--
With respect,
Roman
next prev parent reply other threads:[~2019-02-13 7:47 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-23 3:11 Reproducer for "compressed data + hole data corruption bug, 2018 editiion" Zygo Blaxell
2018-08-23 5:10 ` Qu Wenruo
2018-08-23 16:44 ` Zygo Blaxell
2018-08-23 23:50 ` Qu Wenruo
2019-02-12 3:09 ` Reproducer for "compressed data + hole data corruption bug, 2018 edition" still works on 4.20.7 Zygo Blaxell
2019-02-12 15:33 ` Christoph Anton Mitterer
2019-02-12 15:35 ` Filipe Manana
2019-02-12 17:01 ` Zygo Blaxell
2019-02-12 17:56 ` Filipe Manana
2019-02-12 18:13 ` Zygo Blaxell
2019-02-13 7:24 ` Qu Wenruo
2019-02-13 17:36 ` Filipe Manana
2019-02-13 18:14 ` Filipe Manana
2019-02-14 1:22 ` Filipe Manana
2019-02-14 5:00 ` Zygo Blaxell
2019-02-14 12:21 ` Christoph Anton Mitterer
2019-02-15 5:40 ` Zygo Blaxell
2019-03-04 15:34 ` Christoph Anton Mitterer
2019-03-07 20:07 ` Zygo Blaxell
2019-03-08 10:37 ` Filipe Manana
2019-03-14 18:58 ` Christoph Anton Mitterer
2019-03-14 20:22 ` Christoph Anton Mitterer
2019-03-14 22:39 ` Filipe Manana
2019-03-08 12:20 ` Austin S. Hemmelgarn
2019-03-14 18:58 ` Christoph Anton Mitterer
2019-03-14 18:58 ` Christoph Anton Mitterer
2019-03-15 5:28 ` Zygo Blaxell
2019-03-16 22:11 ` Christoph Anton Mitterer
2019-03-17 2:54 ` Zygo Blaxell
2019-02-15 12:02 ` Filipe Manana
2019-03-04 15:46 ` Christoph Anton Mitterer
2019-02-12 18:58 ` Andrei Borzenkov
2019-02-12 21:48 ` Chris Murphy
2019-02-12 22:11 ` Zygo Blaxell
2019-02-12 22:53 ` Chris Murphy
2019-02-13 2:46 ` Zygo Blaxell
2019-02-13 7:47 ` Roman Mamedov [this message]
2019-02-13 8:04 ` Qu Wenruo
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=20190213124708.0dd4dbc4@natsu \
--to=rm@romanrm.net \
--cc=ce3g8jdj@umail.furryterror.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).