Displaying 2 results from an estimated 2 matches for "reada_for_balance".
2013 Jun 17
0
[PATCH] Btrfs: optimize reada_for_balance
...e the blocks so this just adds uneeded latency, and balance_level and
split_node will both read in the blocks they care about explicitly so if the
blocks need to be waited on it will be done there. Secondly we no longer drop
the path if we do readahead, we just set the path blocking before we call
reada_for_balance() and then we''re good to go. Hopefully this will cut down on
the number of re-searches. Thanks,
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
---
fs/btrfs/ctree.c | 46 +++++++++-------------------------------------
1 files changed, 9 insertions(+), 37 deletions(-)
diff --g...
2011 Jan 28
0
[PATCH] ctree code cleanups
...)
{
spin_lock(&root->accounting_lock);
@@ -1648,38 +1642,29 @@ setup_nodes_for_search(struct btrfs_trans_handle *trans,
int ret;
if ((p->search_for_split || ins_len > 0) && btrfs_header_nritems(b) >=
BTRFS_NODEPTRS_PER_BLOCK(root) - 3) {
- int sret;
-
- sret = reada_for_balance(root, p, level);
- if (sret)
+ ret = reada_for_balance(root, p, level);
+ if (ret)
goto again;
btrfs_set_path_blocking(p);
- sret = split_node(trans, root, p, level);
+ ret = split_node(trans, root, p, level);
btrfs_clear_path_blocking(p, NULL);
- BUG_ON(sret > 0);
- if (sret)...