diff options
author | Chris Mason <chris.mason@oracle.com> | 2012-05-30 11:55:38 -0400 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2012-05-30 11:55:38 -0400 |
commit | cfc442b69696b593cb442f09997dcb4cb5748171 (patch) | |
tree | 84a28a271ad14a695507df65af4ac0c83e64217c /fs/btrfs/ctree.c | |
parent | 76e10d158efb6d4516018846f60c2ab5501900bc (diff) | |
parent | 48235a68a3d1db579fc20d9915815228a1825757 (diff) | |
download | linux-3.10-cfc442b69696b593cb442f09997dcb4cb5748171.tar.gz linux-3.10-cfc442b69696b593cb442f09997dcb4cb5748171.tar.bz2 linux-3.10-cfc442b69696b593cb442f09997dcb4cb5748171.zip |
Merge branch 'for-chris' of git://git.kernel.org/pub/scm/linux/kernel/git/josef/btrfs-next into HEAD
Diffstat (limited to 'fs/btrfs/ctree.c')
-rw-r--r-- | fs/btrfs/ctree.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c index 4106264fbc6..99fcad631a2 100644 --- a/fs/btrfs/ctree.c +++ b/fs/btrfs/ctree.c @@ -739,7 +739,11 @@ int btrfs_realloc_node(struct btrfs_trans_handle *trans, if (!cur) return -EIO; } else if (!uptodate) { - btrfs_read_buffer(cur, gen); + err = btrfs_read_buffer(cur, gen); + if (err) { + free_extent_buffer(cur); + return err; + } } } if (search_start == 0) @@ -854,20 +858,18 @@ static noinline int generic_bin_search(struct extent_buffer *eb, static int bin_search(struct extent_buffer *eb, struct btrfs_key *key, int level, int *slot) { - if (level == 0) { + if (level == 0) return generic_bin_search(eb, offsetof(struct btrfs_leaf, items), sizeof(struct btrfs_item), key, btrfs_header_nritems(eb), slot); - } else { + else return generic_bin_search(eb, offsetof(struct btrfs_node, ptrs), sizeof(struct btrfs_key_ptr), key, btrfs_header_nritems(eb), slot); - } - return -1; } int btrfs_bin_search(struct extent_buffer *eb, struct btrfs_key *key, |