search for: balance_level

Displaying 9 results from an estimated 9 matches for "balance_level".

2013 Jun 17
0
[PATCH] Btrfs: optimize reada_for_balance
This patch does two things. First we no longer explicitly read in the blocks we''re trying to readahead. For things like balance_level we may never actually use 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...
2013 May 07
2
[PATCH] Btrfs: fix passing wrong arg gfp_t to decide the correct allocation mode
...@@ tree_mod_log_set_root_pointer(struct btrfs_root *root, { int ret; ret = tree_mod_log_insert_root(root->fs_info, root->node, - new_root_node, GFP_NOFS, log_removal); + new_root_node, log_removal); BUG_ON(ret < 0); } @@ -1886,7 +1885,7 @@ static noinline int balance_level(struct btrfs_trans_handle *trans, struct btrfs_disk_key right_key; btrfs_node_key(right, &right_key, 0); tree_mod_log_set_node_key(root->fs_info, parent, - pslot + 1, 0); + pslot + 1); btrfs_set_node_key(parent, &right_key, pslot + 1); btrfs_mark_buffer_...
2011 Jan 28
0
[PATCH] ctree code cleanups
...} else if (ins_len < 0 && btrfs_header_nritems(b) < BTRFS_NODEPTRS_PER_BLOCK(root) / 2) { - 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 = balance_level(trans, root, p, level); + ret = balance_level(trans, root, p, level); btrfs_clear_path_blocking(p, NULL); - - if (sret) { - ret = sret; + if (ret) goto done; - } b = p->nodes[level]; if (!b) { btrfs_release_path(NULL, p); @@ -1802,7 +1787,7 @@ cow_done: goto done; }...
2009 Jun 03
0
[PATCH] Make sure all dirty blocks are written at commit time
...ock group and delayed back ref. Signed-off-by: Yan Zheng <zheng.yan@oracle.com> --- diff -urp 1/fs/btrfs/ctree.c 2/fs/btrfs/ctree.c --- 1/fs/btrfs/ctree.c 2009-06-02 10:53:14.614551240 +0800 +++ 2/fs/btrfs/ctree.c 2009-06-03 13:45:59.000000000 +0800 @@ -1043,9 +1043,6 @@ static noinline int balance_level(struct BTRFS_NODEPTRS_PER_BLOCK(root) / 4) return 0; - if (btrfs_header_nritems(mid) > 2) - return 0; - if (btrfs_header_nritems(mid) < 2) err_on_enospc = 1; diff -urp 1/fs/btrfs/extent-tree.c 2/fs/btrfs/extent-tree.c --- 1/fs/btrfs/extent-tree.c 2009-06-02 10:53:14.6205506...
2012 Jun 21
0
[RFC PATCH V2] Btrfs: introduce extent buffer cache for each i-node
...inline int __btrfs_cow_block(struct btrfs_trans_handle *trans, btrfs_free_tree_block(trans, root, buf, parent_start, last_ref); } + + buf->root_objectid = 0; + if (unlock_orig) btrfs_tree_unlock(buf); free_extent_buffer_stale(buf); @@ -1672,6 +1675,9 @@ static noinline int balance_level(struct btrfs_trans_handle *trans, path->locks[level] = 0; path->nodes[level] = NULL; clean_tree_block(trans, root, mid); + + mid->root_objectid = 0; + btrfs_tree_unlock(mid); /* once for the path */ free_extent_buffer(mid); @@ -1726,6 +1732,7 @@ static noinline int balan...
2009 May 12
0
[PATCH 1/2] btrfs-progs: mixed back ref support
...s_free_extent(trans, root, buf->start, buf->len, - parent_start, btrfs_header_owner(parent), - btrfs_header_generation(parent), level, 1); + 0, root->root_key.objectid, level, 1); } free_extent_buffer(buf); btrfs_mark_buffer_dirty(cow); @@ -698,22 +762,15 @@ static int balance_level(struct btrfs_tr BUG_ON(ret); root->node = child; - - ret = btrfs_update_extent_ref(trans, root, child->start, - mid->start, child->start, - root->root_key.objectid, - trans->transid, level - 1); - BUG_ON(ret); - add_root_to_dirty_list(roo...
2011 Jun 11
0
ext3 and btrfs various Oops and kernel BUGs
...0871.732005] [<ffffffffa0d6e660>] ? read_block_for_search.isra.35+0x356/0x36b [btrfs] Jun 10 14:50:23 mithrandir kernel: [40871.732005] [<ffffffffa0d6b86d>] ? btrfs_header_nritems.isra.15+0x14/0x1b [btrfs] Jun 10 14:50:23 mithrandir kernel: [40871.732005] [<ffffffffa0d6d7d9>] ? balance_level+0xd2/0x578 [btrfs] Jun 10 14:50:23 mithrandir kernel: [40871.732005] [<ffffffff8139e3e0>] ? _raw_spin_lock+0x18/0x1a Jun 10 14:50:23 mithrandir kernel: [40871.732005] [<ffffffff8139ec8f>] page_fault+0x1f/0x30 Jun 10 14:50:23 mithrandir kernel: [40871.732005] [<ffffffffa0d7b6e5>...
2011 Jun 21
19
[GIT PULL v3] Btrfs: improve write ahead log with sub transaction
I''ve been working to try to improve the write-ahead log''s performance, and I found that the bottleneck addresses in the checksum items, especially when we want to make a random write on a large file, e.g a 4G file. Then a idea for this suggested by Chris is to use sub transaction ids and just to log the part of inode that had changed since either the last log commit or the last
2011 Oct 04
68
[patch 00/65] Error handling patchset v3
Hi all - Here''s my current error handling patchset, against 3.1-rc8. Almost all of this patchset is preparing for actual error handling. Before we start in on that work, I''m trying to reduce the surface we need to worry about. It turns out that there is a ton of code that returns an error code but never actually reports an error. The patchset has grown to 65 patches. 46 of them