aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/ctree.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs/ctree.c')
-rw-r--r--fs/btrfs/ctree.c10
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,