summaryrefslogtreecommitdiff
path: root/check/main.c
diff options
context:
space:
mode:
authorQu Wenruo <wqu@suse.com>2018-01-18 16:30:10 +0800
committerDavid Sterba <dsterba@suse.com>2018-02-02 16:01:58 +0100
commit3d3ce73d90d71a3a31b7144536285fa847df9c80 (patch)
tree899f436c4410de5326288ff309db72b32840b6e0 /check/main.c
parentfa37a13f73ad43233db97c945b0e36d9dcaef298 (diff)
btrfs-progs: check: Move check_child_node to check/common.c
Reviewed-by: Su Yue <suy.fnst@cn.fujitsu.com> Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'check/main.c')
-rw-r--r--check/main.c49
1 files changed, 0 insertions, 49 deletions
diff --git a/check/main.c b/check/main.c
index 4c195f2e..1a296015 100644
--- a/check/main.c
+++ b/check/main.c
@@ -1669,55 +1669,6 @@ out:
}
/*
- * Check the child node/leaf by the following condition:
- * 1. the first item key of the node/leaf should be the same with the one
- * in parent.
- * 2. block in parent node should match the child node/leaf.
- * 3. generation of parent node and child's header should be consistent.
- *
- * Or the child node/leaf pointed by the key in parent is not valid.
- *
- * We hope to check leaf owner too, but since subvol may share leaves,
- * which makes leaf owner check not so strong, key check should be
- * sufficient enough for that case.
- */
-static int check_child_node(struct extent_buffer *parent, int slot,
- struct extent_buffer *child)
-{
- struct btrfs_key parent_key;
- struct btrfs_key child_key;
- int ret = 0;
-
- btrfs_node_key_to_cpu(parent, &parent_key, slot);
- if (btrfs_header_level(child) == 0)
- btrfs_item_key_to_cpu(child, &child_key, 0);
- else
- btrfs_node_key_to_cpu(child, &child_key, 0);
-
- if (memcmp(&parent_key, &child_key, sizeof(parent_key))) {
- ret = -EINVAL;
- fprintf(stderr,
- "Wrong key of child node/leaf, wanted: (%llu, %u, %llu), have: (%llu, %u, %llu)\n",
- parent_key.objectid, parent_key.type, parent_key.offset,
- child_key.objectid, child_key.type, child_key.offset);
- }
- if (btrfs_header_bytenr(child) != btrfs_node_blockptr(parent, slot)) {
- ret = -EINVAL;
- fprintf(stderr, "Wrong block of child node/leaf, wanted: %llu, have: %llu\n",
- btrfs_node_blockptr(parent, slot),
- btrfs_header_bytenr(child));
- }
- if (btrfs_node_ptr_generation(parent, slot) !=
- btrfs_header_generation(child)) {
- ret = -EINVAL;
- fprintf(stderr, "Wrong generation of child node/leaf, wanted: %llu, have: %llu\n",
- btrfs_header_generation(child),
- btrfs_node_ptr_generation(parent, slot));
- }
- return ret;
-}
-
-/*
* for a tree node or leaf, if it's shared, indeed we don't need to iterate it
* in every fs or file tree check. Here we find its all root ids, and only check
* it in the fs or file tree which has the smallest root id.