Re: [PATCH v2.1 00/10] btrfs-progs: image: Enhancement with new data dump feature

WenRuo Qu
2019-09-19T07:21:26Z

[-- Attachment #1.1: Type: text/plain, Size: 3688 bytes --]

Gentle ping?

This feature should be pretty useful for both full fs backup and debug
purpose.

Any feedback?
It can still be applied to latest stable branch without any conflict.

Thanks,
Qu

On 2019/7/4 下午2:10, Qu Wenruo wrote:
> This updated patchset is rebased on devel branch, whose HEAD is:
> commit 73289664917ad7c73f3f3393593e93a118228ad8 (david/devel)
> Author: David Sterba <dsterba@suse.com>
> Date: Thu Jul 4 01:42:15 2019 +0200
>
> btrfs-progs: kerncompat: define __always_inline conditionally
>
> This updated patchset includes the following features:
>
> - Small fixes to improve btrfs-image error report
> * Output error message for chunk tree build error
> * Fix error output to show correct return value
> Patch 1 and 2.
>
> - Reduce memory usage when decompress super block
> Independent change, for current btrfs-image, it will reduce buffer
> size from 256K to fixed 4K.
> Patch 3.
>
> - Rework how we search chunk tree blocks
> Instead of iterating clusters again and again for each chunk tree
> block, record system chunk array and iterate clusters once for all
> chunk tree blocks.
> This should reduce restore time for large image dump.
> Patch 4, 5 and 6.
>
> - Introduce data dump feature to dump the whole fs.
> This will introduce a new magic number to prevent old btrfs-image to
> hit failure as the item size limit is enlarged.
> Patch 7 and 8.
>
> - Reduce memory usage for data dump restore
> This is mostly due to the fact that we have much larger
> max_pending_size introduced by data dump(256K -> 256M).
> Using 4 * max_pending_size for each decompress thread as buffer is way
> too expensive now.
> Use proper inflate() to replace uncompress() calls.
> Patch 9 and 10.
>
> Changelog:
> v2:
> - New small fixes:
> * Fix a confusing error message due to unpopulated errno
> * Output error message for chunk tree build error
>
> - Fix a regression of previous version
> Patch "btrfs-progs: image: Rework how we search chunk tree blocks"
> deleted a "ret = 0" line which could cause false early exit.
>
> - Reduce memory usage for data dump
>
> v2.1:
> - Rebased to devel branch
> Removing 4 already merged patches from the patchset.
>
> - Re-order the patchset
> Put small and independent patches at the top of queue, and put the
> data dump related feature at the end.
>
> - Fix -Wmaybe-uninitialized warnings
> Strangely, D=1 won't trigger these warnings thus they sneak into v2
> without being detected.
>
> - Fix FROM: line
> Reverted to old smtp setup. The new setup will override FROM: line,
> messing up the name of author.
>
> Qu Wenruo (10):
> btrfs-progs: image: Output error message for chunk tree build error
> btrfs-progs: image: Fix error output to show correct return value
> btrfs-progs: image: Don't waste memory when we're just extracting
> super block
> btrfs-progs: image: Allow restore to record system chunk ranges for
> later usage
> btrfs-progs: image: Introduce helper to determine if a tree block is
> in the range of system chunks
> btrfs-progs: image: Rework how we search chunk tree blocks
> btrfs-progs: image: Introduce framework for more dump versions
> btrfs-progs: image: Introduce -d option to dump data
> btrfs-progs: image: Reduce memory requirement for decompression
> btrfs-progs: image: Reduce memory usage for chunk tree search
>
> image/main.c | 866 +++++++++++++++++++++++++++++++++++------------
> image/metadump.h | 13 +-
> 2 files changed, 654 insertions(+), 225 deletions(-)
>

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]