From 95dd77e2d50f214a9e2d5ec09fb9db64e9d69818 Mon Sep 17 00:00:00 2001 From: Qu Wenruo Date: Wed, 22 Nov 2017 17:03:23 +0800 Subject: btrfs-progs: fsck-test: Add new image with shared block ref only metadata backref The image is dumped by modifying kernel to sleep long enough before merging relocation trees, so we can just copy the whole image to other place before kernel begins to merge reloc trees. And the base image is created by the following script to bump metadata size: ------ dev=~/test.img mnt=/mnt/btrfs umount $mnt &> /dev/null fallocate -l 128M $dev mkfs.btrfs -f -n 4k -m single -d single $dev mount $dev $mnt -o nospace_cache,max_inline=2048 btrfs subvolume create $mnt/src for i in $(seq -w 0 128); do xfs_io -f -c "pwrite 0 2k" $mnt/src/file_$i > /dev/null done for i in $(seq -w 0 64); do btrfs subvolume snapshot $mnt/src/ $mnt/snapshot_$i touch $mnt/snapshot_$i/new done sync ------ The image triggers several corner cases that the old lowmem mode didn't consider. Like metadata backref with FULL_BACKREF flag and only SHARED_BLOCK_REF backrefs for metadata. And several tree reloc trees with shared leaves/nodes to confuse old lowmem mode. Signed-off-by: Qu Wenruo Signed-off-by: David Sterba --- .../020-extent-ref-cases/shared_block_ref_only.raw.xz | Bin 0 -> 217204 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 tests/fsck-tests/020-extent-ref-cases/shared_block_ref_only.raw.xz (limited to 'tests/fsck-tests') diff --git a/tests/fsck-tests/020-extent-ref-cases/shared_block_ref_only.raw.xz b/tests/fsck-tests/020-extent-ref-cases/shared_block_ref_only.raw.xz new file mode 100644 index 00000000..538fb4f2 Binary files /dev/null and b/tests/fsck-tests/020-extent-ref-cases/shared_block_ref_only.raw.xz differ -- cgit v1.2.3