On Wed, May 27, 2020 at 06:46:53PM +0800, Qu Wenruo wrote: > On 2020/5/27 下午6:28, Qu Wenruo wrote: > > This branch can be fetched from github: > > https://github.com/adam900710/btrfs-progs/tree/image_fixes > > > > Since there are two binary files updates, and one big code move, it's > > recommended to fetch github repo, in case some patches didn't reach mail > > list. > > > > This is inspried by one log tree replay dead loop bug, where the kind > > reporter, Pierre Abbat <phma@xxxxxxxxxxxx>, gave the btrfs-image to > > reproduce it. > > > > Then the image fails to pass check due to the existing log tree > > conflicting with device/chunk fixup. > > As log tree blocks are not recorded in extent tree, later COW can use > > log tree blocks and cause transid mismatch. > > > > To address the problem, this patchset will: > > - Don't do any fixup if the source dump is single device > > Since the dump has the full super block contents, we can easily check > > if the source fs is single deivce. > > > > The chunk/device fixup is mostly for older btrfs-image behavior, which > > always restores the fs into SINGLE profile. > > However since commit 9088ab6a1067 ("btrfs-progs: make btrfs-image > > restore to support dup"), btrfs-image can restore into DUP profile, > > allowing us to do exact replay for single device fs. > > This is patch 5. > > As expected, patch 3 can't survive the mail list filter. > It's 402K, so I guess one needs to grab it from github anyway. Thanks, patch picked from git and the whole patchset is now in devel.
