search for: do_walk_down

Displaying 3 results from an estimated 3 matches for "do_walk_down".

2009 Jul 07
0
[PATCH] speed up snapshot dropping
...he subtree + * rooted at the block, this function changes wc->stage to + * UPDATE_BACKREF. if the block is shared and there is no + * need to update back, this function drops the reference + * to the block. + * + * NOTE: return value 1 means we should stop walking down. + */ +static noinline int do_walk_down(struct btrfs_trans_handle *trans, + struct btrfs_root *root, + struct btrfs_path *path, + struct walk_control *wc) +{ + u64 bytenr; + u64 generation; + u64 parent; + u32 blocksize; + struct btrfs_key key; + struct extent_buffer *next = NULL; + int level = wc->level; + int ret = 0; +...
2010 Feb 01
0
[PATCH] btrfs: Fix oopsen when dropping empty tree.
...; - ret = walk_down_proc(trans, root, path, wc, lookup_info); if (ret > 0) break; @@ -5413,6 +5409,10 @@ static noinline int walk_down_tree(struc if (level == 0) break; + if (path->slots[level] >= + btrfs_header_nritems(path->nodes[level])) + break; + ret = do_walk_down(trans, root, path, wc, &lookup_info); if (ret > 0) { path->slots[level]++; -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
2010 Sep 03
0
[PATCH 1/2] btrfs: document where we use BUG_ON instead of error handling
...rfs_dec_ref(trans, root, eb, 0); - BUG_ON(ret); + btrfs_fixable_bug_on(ret); ret = btrfs_set_disk_extent_flags(trans, root, eb->start, eb->len, flag, 0); - BUG_ON(ret); + btrfs_fixable_bug_on(ret); wc->flags[level] |= flag; } @@ -5626,7 +5626,7 @@ static noinline int do_walk_down(struct btrfs_trans_handle *trans, ret = btrfs_lookup_extent_info(trans, root, bytenr, blocksize, &wc->refs[level - 1], &wc->flags[level - 1]); - BUG_ON(ret); + btrfs_fixable_bug_on(ret); BUG_ON(wc->refs[level - 1] == 0); *lookup_info = 0; @@ -5693,7...