On Fri, May 13, 2016 at 11:44:40AM +0800, Qu Wenruo wrote:
> Although maybe out of your expectation, inband de-dedupe did exposed some
> existing bugs we didn't ever found before.
> And they are all reproducible without inband dedupe.
> 
> Some examples:
> [...]
> 3) Slow backref walk.
>    Already in the comment of backref.c from ancient days, but we didn't
>    put much concern until inband dedupe/heavily reflink work load.

Out-of-band dedup definitely hits that.  Most blocks are duplicated only
a few times, but a few common blocks are _really_ common.  I have some
filesystems where some extents have a few tens of thousands of references
by dedup, then a dozen snapshots are created to increase the ref count by
another order of magnitude.  'btrfs ins logical' takes hours to run on
these blocks--assuming the host doesn't run out of RAM and crash before
giving an answer.

Try doing a balance on a filesystem where some extents have a million+
references on a machine with 2G of RAM.  I _dare_ you.

It would be nice to get the bug fixes in sooner, whether or not the
upper layers of the in-band dedup feature are ready.

Attachment: signature.asc
Description: Digital signature

Reply via email to