diff options
| author | Chris Mason <chris.mason@fusionio.com> | 2013-02-05 10:04:03 -0500 | 
|---|---|---|
| committer | Chris Mason <chris.mason@fusionio.com> | 2013-02-05 10:04:03 -0500 | 
| commit | 0e4e02636611dbf89a2f36320a32054f9936d6cb (patch) | |
| tree | 18b4ecc6c3812770b29729d7abbdc673ffd73a41 /fs/btrfs/extent-tree.c | |
| parent | 1f0905ec156eec8f12cd593bc564551770319720 (diff) | |
| parent | 1eafa6c73791e4f312324ddad9cbcaf6a1b6052b (diff) | |
| download | olio-linux-3.10-0e4e02636611dbf89a2f36320a32054f9936d6cb.tar.xz olio-linux-3.10-0e4e02636611dbf89a2f36320a32054f9936d6cb.zip  | |
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.c | 6 | 
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index 87b0e856b6d..7e801ada669 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c @@ -4061,7 +4061,7 @@ again:  	 * We make the other tasks wait for the flush only when we can flush  	 * all things.  	 */ -	if (ret && flush == BTRFS_RESERVE_FLUSH_ALL) { +	if (ret && flush != BTRFS_RESERVE_NO_FLUSH) {  		flushing = true;  		space_info->flush = 1;  	} @@ -5631,7 +5631,7 @@ static noinline int find_free_extent(struct btrfs_trans_handle *trans,  	int empty_cluster = 2 * 1024 * 1024;  	struct btrfs_space_info *space_info;  	int loop = 0; -	int index = 0; +	int index = __get_raid_index(data);  	int alloc_type = (data & BTRFS_BLOCK_GROUP_DATA) ?  		RESERVE_ALLOC_NO_ACCOUNT : RESERVE_ALLOC;  	bool found_uncached_bg = false; @@ -6867,11 +6867,13 @@ static noinline int walk_up_proc(struct btrfs_trans_handle *trans,  						       &wc->flags[level]);  			if (ret < 0) {  				btrfs_tree_unlock_rw(eb, path->locks[level]); +				path->locks[level] = 0;  				return ret;  			}  			BUG_ON(wc->refs[level] == 0);  			if (wc->refs[level] == 1) {  				btrfs_tree_unlock_rw(eb, path->locks[level]); +				path->locks[level] = 0;  				return 1;  			}  		}  |