Btrfs-progs: fix wrong leaf when checking the trees relationship
authorMiao Xie <miaox@cn.fujitsu.com>
Fri, 10 Aug 2012 05:12:16 +0000 (13:12 +0800)
committerroot <root@localhost.localdomain>
Thu, 4 Oct 2012 20:26:31 +0000 (16:26 -0400)
The variant named 'leaf' in is_child_root() still hold old result after
we get the next leaf, it make btrfsck returns the wrong result, such as
"unresolved ref root ..", fix it.

Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
btrfsck.c

index 2e81adc..f09a4a4 100644 (file)
--- a/btrfsck.c
+++ b/btrfsck.c
@@ -786,6 +786,7 @@ static int is_child_root(struct btrfs_root *root, u64 parent_root_id,
 
                        if (ret > 0)
                                break;
+                       leaf = path.nodes[0];
                }
 
                btrfs_item_key_to_cpu(leaf, &key, path.slots[0]);