diff options
Diffstat (limited to 'fs/btrfs/ctree.c')
-rw-r--r-- | fs/btrfs/ctree.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c index 1b7e3545a596..302c3f955706 100644 --- a/fs/btrfs/ctree.c +++ b/fs/btrfs/ctree.c | |||
@@ -1425,7 +1425,6 @@ get_old_root(struct btrfs_root *root, u64 time_seq) | |||
1425 | struct tree_mod_root *old_root = NULL; | 1425 | struct tree_mod_root *old_root = NULL; |
1426 | u64 old_generation = 0; | 1426 | u64 old_generation = 0; |
1427 | u64 logical; | 1427 | u64 logical; |
1428 | u32 blocksize; | ||
1429 | 1428 | ||
1430 | eb_root = btrfs_read_lock_root_node(root); | 1429 | eb_root = btrfs_read_lock_root_node(root); |
1431 | tm = __tree_mod_log_oldest_root(root->fs_info, eb_root, time_seq); | 1430 | tm = __tree_mod_log_oldest_root(root->fs_info, eb_root, time_seq); |
@@ -1444,8 +1443,7 @@ get_old_root(struct btrfs_root *root, u64 time_seq) | |||
1444 | if (old_root && tm && tm->op != MOD_LOG_KEY_REMOVE_WHILE_FREEING) { | 1443 | if (old_root && tm && tm->op != MOD_LOG_KEY_REMOVE_WHILE_FREEING) { |
1445 | btrfs_tree_read_unlock(eb_root); | 1444 | btrfs_tree_read_unlock(eb_root); |
1446 | free_extent_buffer(eb_root); | 1445 | free_extent_buffer(eb_root); |
1447 | blocksize = root->nodesize; | 1446 | old = read_tree_block(root, logical, 0); |
1448 | old = read_tree_block(root, logical, blocksize, 0); | ||
1449 | if (WARN_ON(!old || !extent_buffer_uptodate(old))) { | 1447 | if (WARN_ON(!old || !extent_buffer_uptodate(old))) { |
1450 | free_extent_buffer(old); | 1448 | free_extent_buffer(old); |
1451 | btrfs_warn(root->fs_info, | 1449 | btrfs_warn(root->fs_info, |
@@ -1692,8 +1690,7 @@ int btrfs_realloc_node(struct btrfs_trans_handle *trans, | |||
1692 | uptodate = 0; | 1690 | uptodate = 0; |
1693 | if (!cur || !uptodate) { | 1691 | if (!cur || !uptodate) { |
1694 | if (!cur) { | 1692 | if (!cur) { |
1695 | cur = read_tree_block(root, blocknr, | 1693 | cur = read_tree_block(root, blocknr, gen); |
1696 | blocksize, gen); | ||
1697 | if (!cur || !extent_buffer_uptodate(cur)) { | 1694 | if (!cur || !extent_buffer_uptodate(cur)) { |
1698 | free_extent_buffer(cur); | 1695 | free_extent_buffer(cur); |
1699 | return -EIO; | 1696 | return -EIO; |
@@ -1872,7 +1869,6 @@ static noinline struct extent_buffer *read_node_slot(struct btrfs_root *root, | |||
1872 | BUG_ON(level == 0); | 1869 | BUG_ON(level == 0); |
1873 | 1870 | ||
1874 | eb = read_tree_block(root, btrfs_node_blockptr(parent, slot), | 1871 | eb = read_tree_block(root, btrfs_node_blockptr(parent, slot), |
1875 | root->nodesize, | ||
1876 | btrfs_node_ptr_generation(parent, slot)); | 1872 | btrfs_node_ptr_generation(parent, slot)); |
1877 | if (eb && !extent_buffer_uptodate(eb)) { | 1873 | if (eb && !extent_buffer_uptodate(eb)) { |
1878 | free_extent_buffer(eb); | 1874 | free_extent_buffer(eb); |
@@ -2507,7 +2503,7 @@ read_block_for_search(struct btrfs_trans_handle *trans, | |||
2507 | btrfs_release_path(p); | 2503 | btrfs_release_path(p); |
2508 | 2504 | ||
2509 | ret = -EAGAIN; | 2505 | ret = -EAGAIN; |
2510 | tmp = read_tree_block(root, blocknr, blocksize, 0); | 2506 | tmp = read_tree_block(root, blocknr, 0); |
2511 | if (tmp) { | 2507 | if (tmp) { |
2512 | /* | 2508 | /* |
2513 | * If the read above didn't mark this buffer up to date, | 2509 | * If the read above didn't mark this buffer up to date, |