summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
Diffstat (limited to 'fs')
-rw-r--r--fs/btrfs/ctree.c8
-rw-r--r--fs/btrfs/root-tree.c4
2 files changed, 8 insertions, 4 deletions
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
index eace2ee76448..19a30b7c3a28 100644
--- a/fs/btrfs/ctree.c
+++ b/fs/btrfs/ctree.c
@@ -172,11 +172,13 @@ static int check_node(struct btrfs_root *root, struct btrfs_path *path,
if (path->nodes[level + 1])
parent = btrfs_buffer_node(path->nodes[level + 1]);
- parent_slot = path->slots[level + 1];
+
slot = path->slots[level];
BUG_ON(nritems == 0);
if (parent) {
struct btrfs_disk_key *parent_key;
+
+ parent_slot = path->slots[level + 1];
parent_key = &parent->ptrs[parent_slot].key;
BUG_ON(memcmp(parent_key, &node->ptrs[0].key,
sizeof(struct btrfs_disk_key)));
@@ -208,7 +210,7 @@ static int check_leaf(struct btrfs_root *root, struct btrfs_path *path,
if (path->nodes[level + 1])
parent = btrfs_buffer_node(path->nodes[level + 1]);
- parent_slot = path->slots[level + 1];
+
BUG_ON(btrfs_leaf_free_space(root, leaf) < 0);
if (nritems == 0)
@@ -216,6 +218,8 @@ static int check_leaf(struct btrfs_root *root, struct btrfs_path *path,
if (parent) {
struct btrfs_disk_key *parent_key;
+
+ parent_slot = path->slots[level + 1];
parent_key = &parent->ptrs[parent_slot].key;
BUG_ON(memcmp(parent_key, &leaf->items[0].key,
sizeof(struct btrfs_disk_key)));
diff --git a/fs/btrfs/root-tree.c b/fs/btrfs/root-tree.c
index 271dd2b5c321..402f67821c14 100644
--- a/fs/btrfs/root-tree.c
+++ b/fs/btrfs/root-tree.c
@@ -135,8 +135,8 @@ int btrfs_find_dead_roots(struct btrfs_root *root)
if (btrfs_root_refs(ri) != 0)
goto next;
dead_root = btrfs_read_fs_root_no_radix(root->fs_info, &key);
- if (IS_ERR(root)) {
- ret = PTR_ERR(root);
+ if (IS_ERR(dead_root)) {
+ ret = PTR_ERR(dead_root);
goto err;
}
ret = btrfs_add_dead_root(dead_root,