aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/extent-tree.c
diff options
context:
space:
mode:
authorChris Mason <chris.mason@fusionio.com>2013-02-05 10:04:03 -0500
committerChris Mason <chris.mason@fusionio.com>2013-02-05 10:04:03 -0500
commit0e4e02636611dbf89a2f36320a32054f9936d6cb (patch)
tree18b4ecc6c3812770b29729d7abbdc673ffd73a41 /fs/btrfs/extent-tree.c
parent1f0905ec156eec8f12cd593bc564551770319720 (diff)
parent1eafa6c73791e4f312324ddad9cbcaf6a1b6052b (diff)
Merge branch 'for-linus' into raid56-experimental
Conflicts: fs/btrfs/volumes.c Signed-off-by: Chris Mason <chris.mason@fusionio.com>
Diffstat (limited to 'fs/btrfs/extent-tree.c')
-rw-r--r--fs/btrfs/extent-tree.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index 87b0e856b6d0..7e801ada6695 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -4061,7 +4061,7 @@ again:
4061 * We make the other tasks wait for the flush only when we can flush 4061 * We make the other tasks wait for the flush only when we can flush
4062 * all things. 4062 * all things.
4063 */ 4063 */
4064 if (ret && flush == BTRFS_RESERVE_FLUSH_ALL) { 4064 if (ret && flush != BTRFS_RESERVE_NO_FLUSH) {
4065 flushing = true; 4065 flushing = true;
4066 space_info->flush = 1; 4066 space_info->flush = 1;
4067 } 4067 }
@@ -5631,7 +5631,7 @@ static noinline int find_free_extent(struct btrfs_trans_handle *trans,
5631 int empty_cluster = 2 * 1024 * 1024; 5631 int empty_cluster = 2 * 1024 * 1024;
5632 struct btrfs_space_info *space_info; 5632 struct btrfs_space_info *space_info;
5633 int loop = 0; 5633 int loop = 0;
5634 int index = 0; 5634 int index = __get_raid_index(data);
5635 int alloc_type = (data & BTRFS_BLOCK_GROUP_DATA) ? 5635 int alloc_type = (data & BTRFS_BLOCK_GROUP_DATA) ?
5636 RESERVE_ALLOC_NO_ACCOUNT : RESERVE_ALLOC; 5636 RESERVE_ALLOC_NO_ACCOUNT : RESERVE_ALLOC;
5637 bool found_uncached_bg = false; 5637 bool found_uncached_bg = false;
@@ -6867,11 +6867,13 @@ static noinline int walk_up_proc(struct btrfs_trans_handle *trans,
6867 &wc->flags[level]); 6867 &wc->flags[level]);
6868 if (ret < 0) { 6868 if (ret < 0) {
6869 btrfs_tree_unlock_rw(eb, path->locks[level]); 6869 btrfs_tree_unlock_rw(eb, path->locks[level]);
6870 path->locks[level] = 0;
6870 return ret; 6871 return ret;
6871 } 6872 }
6872 BUG_ON(wc->refs[level] == 0); 6873 BUG_ON(wc->refs[level] == 0);
6873 if (wc->refs[level] == 1) { 6874 if (wc->refs[level] == 1) {
6874 btrfs_tree_unlock_rw(eb, path->locks[level]); 6875 btrfs_tree_unlock_rw(eb, path->locks[level]);
6876 path->locks[level] = 0;
6875 return 1; 6877 return 1;
6876 } 6878 }
6877 } 6879 }