btrfs-progs: test/fsck: Introduce test images containing tree reloc tree
authorQu Wenruo <wqu@suse.com>
Fri, 10 Nov 2017 01:34:17 +0000 (09:34 +0800)
committerDavid Sterba <dsterba@suse.com>
Wed, 3 Jan 2018 16:09:42 +0000 (17:09 +0100)
Reloc tree is a special tree with very short life span.  It acts as a
special snapshot for any tree, with related nodes/leaves or EXTENT_DATA
modified to point to new position.

Considering the short life span and its special purpose, it should be
quite reasonable to keep them as both corner case for fsck and
educational dump for anyone interested in relocation.

Signed-off-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
tests/fsck-tests/027-tree-reloc-tree/test.sh [new file with mode: 0755]
tests/fsck-tests/027-tree-reloc-tree/tree_reloc_for_data_reloc.img.xz [new file with mode: 0644]
tests/fsck-tests/027-tree-reloc-tree/tree_reloc_for_fs_tree.img.xz [new file with mode: 0644]

diff --git a/tests/fsck-tests/027-tree-reloc-tree/test.sh b/tests/fsck-tests/027-tree-reloc-tree/test.sh
new file mode 100755 (executable)
index 0000000..afad1e8
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/bash
+# Make sure btrfs check won't report any false alerts for valid image with
+# reloc tree.
+#
+# Also due to the short life span of reloc tree, save the as dump example for
+# later usage.
+
+source "$TOP/tests/common"
+
+check_prereq btrfs
+
+check_image() {
+       local image
+
+       image=$1
+       run_check "$TOP/btrfs" check "$image"
+}
+
+check_all_images
diff --git a/tests/fsck-tests/027-tree-reloc-tree/tree_reloc_for_data_reloc.img.xz b/tests/fsck-tests/027-tree-reloc-tree/tree_reloc_for_data_reloc.img.xz
new file mode 100644 (file)
index 0000000..66d8bde
Binary files /dev/null and b/tests/fsck-tests/027-tree-reloc-tree/tree_reloc_for_data_reloc.img.xz differ
diff --git a/tests/fsck-tests/027-tree-reloc-tree/tree_reloc_for_fs_tree.img.xz b/tests/fsck-tests/027-tree-reloc-tree/tree_reloc_for_fs_tree.img.xz
new file mode 100644 (file)
index 0000000..22af324
Binary files /dev/null and b/tests/fsck-tests/027-tree-reloc-tree/tree_reloc_for_fs_tree.img.xz differ