diff options
Diffstat (limited to 'fs/btrfs/ctree.c')
| -rw-r--r-- | fs/btrfs/ctree.c | 42 | 
1 files changed, 21 insertions, 21 deletions
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c index dede441bdee..0639a555e16 100644 --- a/fs/btrfs/ctree.c +++ b/fs/btrfs/ctree.c @@ -240,7 +240,7 @@ int btrfs_copy_root(struct btrfs_trans_handle *trans,  	cow = btrfs_alloc_free_block(trans, root, buf->len, 0,  				     new_root_objectid, &disk_key, level, -				     buf->start, 0); +				     buf->start, 0, 1);  	if (IS_ERR(cow))  		return PTR_ERR(cow); @@ -261,9 +261,9 @@ int btrfs_copy_root(struct btrfs_trans_handle *trans,  	WARN_ON(btrfs_header_generation(buf) > trans->transid);  	if (new_root_objectid == BTRFS_TREE_RELOC_OBJECTID) -		ret = btrfs_inc_ref(trans, root, cow, 1); +		ret = btrfs_inc_ref(trans, root, cow, 1, 1);  	else -		ret = btrfs_inc_ref(trans, root, cow, 0); +		ret = btrfs_inc_ref(trans, root, cow, 0, 1);  	if (ret)  		return ret; @@ -350,14 +350,14 @@ static noinline int update_ref_for_cow(struct btrfs_trans_handle *trans,  		if ((owner == root->root_key.objectid ||  		     root->root_key.objectid == BTRFS_TREE_RELOC_OBJECTID) &&  		    !(flags & BTRFS_BLOCK_FLAG_FULL_BACKREF)) { -			ret = btrfs_inc_ref(trans, root, buf, 1); +			ret = btrfs_inc_ref(trans, root, buf, 1, 1);  			BUG_ON(ret);  			if (root->root_key.objectid ==  			    BTRFS_TREE_RELOC_OBJECTID) { -				ret = btrfs_dec_ref(trans, root, buf, 0); +				ret = btrfs_dec_ref(trans, root, buf, 0, 1);  				BUG_ON(ret); -				ret = btrfs_inc_ref(trans, root, cow, 1); +				ret = btrfs_inc_ref(trans, root, cow, 1, 1);  				BUG_ON(ret);  			}  			new_flags |= BTRFS_BLOCK_FLAG_FULL_BACKREF; @@ -365,9 +365,9 @@ static noinline int update_ref_for_cow(struct btrfs_trans_handle *trans,  			if (root->root_key.objectid ==  			    BTRFS_TREE_RELOC_OBJECTID) -				ret = btrfs_inc_ref(trans, root, cow, 1); +				ret = btrfs_inc_ref(trans, root, cow, 1, 1);  			else -				ret = btrfs_inc_ref(trans, root, cow, 0); +				ret = btrfs_inc_ref(trans, root, cow, 0, 1);  			BUG_ON(ret);  		}  		if (new_flags != 0) { @@ -381,11 +381,11 @@ static noinline int update_ref_for_cow(struct btrfs_trans_handle *trans,  		if (flags & BTRFS_BLOCK_FLAG_FULL_BACKREF) {  			if (root->root_key.objectid ==  			    BTRFS_TREE_RELOC_OBJECTID) -				ret = btrfs_inc_ref(trans, root, cow, 1); +				ret = btrfs_inc_ref(trans, root, cow, 1, 1);  			else -				ret = btrfs_inc_ref(trans, root, cow, 0); +				ret = btrfs_inc_ref(trans, root, cow, 0, 1);  			BUG_ON(ret); -			ret = btrfs_dec_ref(trans, root, buf, 1); +			ret = btrfs_dec_ref(trans, root, buf, 1, 1);  			BUG_ON(ret);  		}  		clean_tree_block(trans, root, buf); @@ -446,7 +446,7 @@ static noinline int __btrfs_cow_block(struct btrfs_trans_handle *trans,  	cow = btrfs_alloc_free_block(trans, root, buf->len, parent_start,  				     root->root_key.objectid, &disk_key, -				     level, search_start, empty_size); +				     level, search_start, empty_size, 1);  	if (IS_ERR(cow))  		return PTR_ERR(cow); @@ -484,7 +484,7 @@ static noinline int __btrfs_cow_block(struct btrfs_trans_handle *trans,  		rcu_assign_pointer(root->node, cow);  		btrfs_free_tree_block(trans, root, buf, parent_start, -				      last_ref); +				      last_ref, 1);  		free_extent_buffer(buf);  		add_root_to_dirty_list(root);  	} else { @@ -500,7 +500,7 @@ static noinline int __btrfs_cow_block(struct btrfs_trans_handle *trans,  					      trans->transid);  		btrfs_mark_buffer_dirty(parent);  		btrfs_free_tree_block(trans, root, buf, parent_start, -				      last_ref); +				      last_ref, 1);  	}  	if (unlock_orig)  		btrfs_tree_unlock(buf); @@ -957,7 +957,7 @@ static noinline int balance_level(struct btrfs_trans_handle *trans,  		free_extent_buffer(mid);  		root_sub_used(root, mid->len); -		btrfs_free_tree_block(trans, root, mid, 0, 1); +		btrfs_free_tree_block(trans, root, mid, 0, 1, 0);  		/* once for the root ptr */  		free_extent_buffer(mid);  		return 0; @@ -1015,7 +1015,7 @@ static noinline int balance_level(struct btrfs_trans_handle *trans,  			if (wret)  				ret = wret;  			root_sub_used(root, right->len); -			btrfs_free_tree_block(trans, root, right, 0, 1); +			btrfs_free_tree_block(trans, root, right, 0, 1, 0);  			free_extent_buffer(right);  			right = NULL;  		} else { @@ -1055,7 +1055,7 @@ static noinline int balance_level(struct btrfs_trans_handle *trans,  		if (wret)  			ret = wret;  		root_sub_used(root, mid->len); -		btrfs_free_tree_block(trans, root, mid, 0, 1); +		btrfs_free_tree_block(trans, root, mid, 0, 1, 0);  		free_extent_buffer(mid);  		mid = NULL;  	} else { @@ -2089,7 +2089,7 @@ static noinline int insert_new_root(struct btrfs_trans_handle *trans,  	c = btrfs_alloc_free_block(trans, root, root->nodesize, 0,  				   root->root_key.objectid, &lower_key, -				   level, root->node->start, 0); +				   level, root->node->start, 0, 0);  	if (IS_ERR(c))  		return PTR_ERR(c); @@ -2216,7 +2216,7 @@ static noinline int split_node(struct btrfs_trans_handle *trans,  	split = btrfs_alloc_free_block(trans, root, root->nodesize, 0,  					root->root_key.objectid, -					&disk_key, level, c->start, 0); +					&disk_key, level, c->start, 0, 0);  	if (IS_ERR(split))  		return PTR_ERR(split); @@ -2970,7 +2970,7 @@ again:  	right = btrfs_alloc_free_block(trans, root, root->leafsize, 0,  					root->root_key.objectid, -					&disk_key, 0, l->start, 0); +					&disk_key, 0, l->start, 0, 0);  	if (IS_ERR(right))  		return PTR_ERR(right); @@ -3781,7 +3781,7 @@ static noinline int btrfs_del_leaf(struct btrfs_trans_handle *trans,  	root_sub_used(root, leaf->len); -	btrfs_free_tree_block(trans, root, leaf, 0, 1); +	btrfs_free_tree_block(trans, root, leaf, 0, 1, 0);  	return 0;  }  /*  |