search for: btrfs_set_path_block

Displaying 8 results from an estimated 8 matches for "btrfs_set_path_block".

2013 Jun 17
0
[PATCH] Btrfs: optimize reada_for_balance
...ead_tree_block(root, block1, blocksize, 0); + if (block2) + readahead_tree_block(root, block2, blocksize, 0); } @@ -2441,11 +2419,8 @@ setup_nodes_for_search(struct btrfs_trans_handle *trans, goto again; } - sret = reada_for_balance(root, p, level); - if (sret) - goto again; - btrfs_set_path_blocking(p); + reada_for_balance(root, p, level); sret = split_node(trans, root, p, level); btrfs_clear_path_blocking(p, NULL, 0); @@ -2465,11 +2440,8 @@ setup_nodes_for_search(struct btrfs_trans_handle *trans, goto again; } - sret = reada_for_balance(root, p, level); - if (sret) -...
2011 Jan 28
0
[PATCH] ctree code cleanups
...rans, 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) { - ret = sret; + BUG_ON(ret > 0); + if (ret) goto done; - } b = p->nodes[level]; } else if (ins_len <...
2012 Jun 21
0
[RFC PATCH V2] Btrfs: introduce extent buffer cache for each i-node
...{ level = btrfs_header_level(b); @@ -2462,25 +2419,30 @@ again: if (!should_cow_block(trans, root, b)) goto cow_done; + if (!search_from_root && + (level + 1 >= BTRFS_MAX_LEVEL || + !p->nodes[level + 1])) { + ret = -ERESTART; + goto done; + } + btrfs_set_path_blocking(p); /* * must have write locks on this node and the * parent */ - if (level + 1 > write_lock_level) { - write_lock_level = level + 1; - btrfs_release_path(p); - goto again; + if (level + 1 > *write_lock_level) { + *write_lock_level = level + 1; + ret...
2013 Feb 03
3
kernel BUG at fs/btrfs/extent-tree.c:6185!
Hi guys, my computer suddenly failed to boot. It seams that it is unable to mount /home which is btrfs. Here are the messages I get during the boot (the relevant part; hopefully): Feb 02 13:59:58 Edge kernel: kernel BUG at fs/btrfs/extent-tree.c:6185! Feb 02 13:59:58 Edge kernel: invalid opcode: 0000 [#1] PREEMPT SMP Feb 02 13:59:58 Edge kernel: Modules linked in: joydev coretemp kvm_intel kvm
2011 Oct 06
26
[PATCH v0 00/18] btfs: Subvolume Quota Groups
This is a first draft of a subvolume quota implementation. It is possible to limit subvolumes and any group of subvolumes and also to track the amount of space that will get freed when deleting snapshots. The current version is functionally incomplete, with the main missing feature being the initial scan and rescan of an existing filesystem. I put some effort into writing an introduction into
2010 Sep 03
0
[PATCH 1/2] btrfs: document where we use BUG_ON instead of error handling
..., &item_size, item_size, item_size + sizeof(struct btrfs_item), 1); - BUG_ON(ret); + btrfs_fixable_bug_on(ret); leaf = path->nodes[0]; memcpy_extent_buffer(leaf, @@ -3982,7 +3982,7 @@ int btrfs_del_items(struct btrfs_trans_handle *trans, struct btrfs_root *root, btrfs_set_path_blocking(path); clean_tree_block(trans, root, leaf); ret = btrfs_del_leaf(trans, root, path, leaf); - BUG_ON(ret); + btrfs_fixable_bug_on(ret); } } else { int used = leaf_space_used(leaf, 0, nritems); @@ -4022,7 +4022,7 @@ int btrfs_del_items(struct btrfs_trans_handle *trans, struct b...
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