This patchset includes the following features: - 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. - A fix for small dev extent size mismatch with superblock 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. v3: - Fix a wrong option in error string - Fix a bug that we always dump data extents v4: - Rebased to latest devel branch - Add a new small fix to kill the tiny dev extent size mismatch. Qu Wenruo (4): 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: image: Fix restored image size misalignment image/main.c | 347 ++++++++++++++++++++++++++++++++++------------- image/metadump.h | 13 +- 2 files changed, 264 insertions(+), 96 deletions(-) -- 2.25.1
