Commit 28b8bb9e authored by Chris Mason's avatar Chris Mason Committed by David Woodhouse

Btrfs: allocator tweaks

Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
parent cd1bc465
...@@ -94,9 +94,6 @@ struct buffer_head *btrfs_find_tree_block(struct btrfs_root *root, u64 blocknr) ...@@ -94,9 +94,6 @@ struct buffer_head *btrfs_find_tree_block(struct btrfs_root *root, u64 blocknr)
} while (bh != head); } while (bh != head);
out_unlock: out_unlock:
unlock_page(page); unlock_page(page);
if (ret) {
touch_buffer(ret);
}
page_cache_release(page); page_cache_release(page);
return ret; return ret;
} }
......
...@@ -311,7 +311,10 @@ int btrfs_finish_extent_commit(struct btrfs_trans_handle *trans, struct ...@@ -311,7 +311,10 @@ int btrfs_finish_extent_commit(struct btrfs_trans_handle *trans, struct
clear_radix_bit(pinned_radix, gang[i]); clear_radix_bit(pinned_radix, gang[i]);
} }
} }
root->fs_info->block_group_cache = NULL; if (root->fs_info->block_group_cache) {
root->fs_info->block_group_cache->last_alloc =
root->fs_info->block_group_cache->first_free;
}
return 0; return 0;
} }
...@@ -578,7 +581,7 @@ static int find_free_extent(struct btrfs_trans_handle *trans, struct btrfs_root ...@@ -578,7 +581,7 @@ static int find_free_extent(struct btrfs_trans_handle *trans, struct btrfs_root
if (last_block < search_start) if (last_block < search_start)
last_block = search_start; last_block = search_start;
hole_size = key.objectid - last_block; hole_size = key.objectid - last_block;
if (hole_size > num_blocks) { if (hole_size >= num_blocks) {
ins->objectid = last_block; ins->objectid = last_block;
ins->offset = hole_size; ins->offset = hole_size;
goto check_pending; goto check_pending;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment